Agendar compromissos repetidos como eventos recorrentes no OutlookSchedule repeating appointments as recurring events in Outlook

Eventos recorrentes são uma parte importante do calendário do Outlook.Recurring events are an important part of Outlook calendaring. Seja uma reunião semanal individual com seu gerente ou uma reunião de revisão de toda a divisão que ocorre na segunda terça-feira de cada mês, eventos recorrentes permitem que o evento seja criado uma fez e que o servidor preencha o restante da série.Whether it's a weekly one-on-one meeting with your manager, or a division-wide review meeting that happens on the second Tuesday of each month, recurring events make it easy to create the event once, and let the server fill in the rest of the series.

O principal dado que permite que os eventos recorrentes sejam "expandidos" em ocorrências individuais é a regra de recorrência.The key bit of information that allows recurring events to "expand" into individual occurrences is the recurrence rule. A regra especifica a frequência de repetição do evento e sua duração.The rule specifies both how often an event repeats, and for how long. As regras de recorrência modelam as APIs REST do Outlook na propriedade recorrência do recurso de evento.The Outlook REST APIs model recurrence rules in the recurrence property of the event resource.

Cada recorrência é composta de duas partes: o padrão de recorrência (frequência) e o intervalo de recorrência (duração).Each recurrence is made up of two parts: the recurrence pattern (how often), and the recurrence range (for how long).

Padrões de recorrênciaRecurrence patterns

A primeira parte de uma recorrência é o padrão.The first part of a recurrence is the pattern. Ele especifica a frequência com que o evento se repete.This specifies how often the event repeats. Por exemplo, um evento poderia repetir "a cada 3 dias", "toda quinta-feira" ou "em 22 de julho de cada ano".For example, an event could repeat "every 3 days," "every Thursday," or "on July 22 every year." Um padrão é representado na API pelo recurso recurrencePattern.A pattern is represented in the API by the recurrencePattern resource.

Dependendo do tipo de padrão, determinados campos do recurrencePattern são obrigatórios, opcionais ou ignorados.Depending on the type of pattern, certain fields of the recurrencePattern are required, optional, or ignored.

Observação: Mesmo que um campo seja ignorado, ele ainda é validado.Note: Even if a field is ignored, it is still validated. Se um campo tiver um conjunto fixo de valores possíveis, usar um valor fora do conjunto permitido causa um erro, mesmo que esse campo seja ignorado.If a field has a set list of possible values, using a value outside the allowed set causes an error, even if that field is ignored.

Vamos dar uma olhada em cada um dos tipos de possíveis de padrão.Let's take a look at each of the possible pattern types.

DiariamenteDaily

O padrão de recorrência diária faz com que um evento se repita com base em um número de dias entre cada ocorrência.The daily recurrence pattern causes an event to repeat based on a number of days between each occurrence.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
intervalointerval ObrigatórioRequired Especifica o número de dias entre cada ocorrência.Specifies the number of days between each occurrence.
typetype ObrigatórioRequired Tem que ser definida como daily.Must be set to daily.

ExemplosExamples

  • Repita esse evento todos os diasRepeat this event every day

      "pattern": {
        "type": "daily",
        "interval": 1
      }
    
  • Repita esse evento a cada 3 diasRepeat this event every three days

      "pattern": {
        "type": "daily",
        "interval": 3
      }
    

SemanalmenteWeekly

O padrão de recorrência semanal faz com que um evento se repita no mesmo dia ou dias da semana, com base no número de semanas entre cada conjunto de ocorrências.The weekly recurrence pattern causes an event to repeat on the same day or days of the week, based on the number of weeks between each set of occurrences.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
daysOfWeekdaysOfWeek ObrigatórioRequired Especifica em quais dias da semana o evento ocorre.Specifies on which day(s) of the week the event occurs.
firstDayOfWeekfirstDayOfWeek OpcionalOptional Especifica qual dia é considerado o primeiro dia da semana.Specifies which day is considered the first day of the week. Valor padrão: Sunday.Default value: Sunday.
intervalointerval ObrigatórioRequired Especifica o número de semanas entre cada conjunto de ocorrências.Specifies the number of weeks between each set of occurrences.
typetype ObrigatórioRequired Tem que ser definida como weekly.Must be set to weekly.

ExemplosExamples

  • Repita esse evento toda quinta-feiraRepeat this event every Thursday

      "pattern": {
        "type": "weekly",
        "interval": 1,
        "daysOfWeek": [ "Thursday" ]
      }
    
  • Repita esse evento em segundas e terças alternadasRepeat this event every other Monday and Tuesday

      "pattern": {
        "type": "weekly",
        "interval": 2,
        "daysOfWeek": [
          "Monday",
          "Tuesday"
        ]
      }
    

Mensal absolutoAbsolute monthly

O padrão mensal absoluto faz com que um evento se repita no mesmo dia do mês (por exemplo, dia 15), com base no número de meses entre cada ocorrência.The absolute monthly pattern causes an event to repeat on the same day of the month (for example, the 15th), based on the number of months between each occurrence.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
dayOfMonthdayOfMonth ObrigatórioRequired Especifica em quais dias do mês o evento ocorre.Specifies on which day of the month the event occurs.
intervalointerval ObrigatórioRequired Especifica o número de meses entre cada ocorrência.Specifies the number of months between each occurrence.
typetype ObrigatórioRequired Tem que ser definida como absoluteMonthly.Must be set to absoluteMonthly.

ExemplosExamples

  • Repita esse evento no 15º dia de cada mêsRepeat this event on the 15th of every month

      "pattern": {
        "type": "absoluteMonthly",
        "interval": 1,
        "dayOfMonth": 15
      }
    
  • Repita esse evento trimestralmente (a cada 3 meses) no dia 7Repeat this event quarterly (every 3 months) on the 7th

      "pattern": {
        "type": "absoluteMonthly",
        "interval": 3,
        "dayOfMonth": 7
      }
    

Mensal relativoRelative monthly

O padrão mensal relativo faz com que um evento se repita no mesmo dia da semana na mesma posição relativa do mês, com base no número de meses entre cada ocorrência.The relative monthly pattern causes an event to repeat on the same day of the week in the same relative position in the month, based on the number of months between each occurrence. Por exemplo, "toda segunda quarta-feira do mês".For example, "every second Wednesday of the month."

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
daysOfWeekdaysOfWeek ObrigatórioRequired Especifica em quais dias da semana o evento pode ocorrer.Specifies on which day(s) of the week the event can occur. Eventos mensais relativos apenas ocorrerem uma vez por mês, portanto, se mais de um valor for especificado, o evento ocorrerá no primeiro dia que satisfaz o padrão.Relative monthly events only occur once per month, so if more than one value is specified, the event falls on the first day that satisfies the pattern.
índiceindex OpcionalOptional Especifica em qual instância dos dias permitidos especificados em daysOfsWeek o evento ocorre, contando a partir da primeira instância no mês.Specifies on which instance of the allowed days specified in daysOfsWeek the event occurs, counted from the first instance in the month. Valores possíveis: first, second, third, fourth e last.Possible values: first, second, third, fourth, and last. Valor padrão: first.Default value: first.
intervalointerval ObrigatórioRequired Especifica o número de meses entre cada ocorrência.Specifies the number of months between each occurrence.
typetype ObrigatórioRequired Tem que ser definida como relativeMonthly.Must be set to relativeMonthly.

ExemplosExamples

  • Repita esse evento na segunda quarta-feira de cada mêsRepeat this event on the second Wednesday of every month

      "pattern": {
        "type": "relativeMonthly",
        "interval": 1,
        "daysOfWeek": [ "Wednesday" ],
        "index": "second"
      }
    
  • Repita esse evento na primeira quinta ou sexta-feira de cada mêsRepeat this event on the first Thursday or Friday of every month

      "pattern": {
        "type": "relativeMonthly",
        "interval": 1,
        "daysOfWeek": [ "Thursday", "Friday" ],
        "index": "first"
      }
    

Anual absolutoAbsolute yearly

O padrão anual absoluto faz com que um evento se repita no mesmo mês e dia (por exemplo, dia 15 de abril), com base no número de anos entre cada ocorrência.The absolute yearly pattern causes an event to repeat on the same month and day (for example, April 15), based on the number of years between each occurrence.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
dayOfMonthdayOfMonth ObrigatórioRequired Especifica em quais dias do mês o evento ocorre.Specifies on which day of the month the event occurs.
Mêsmonth ObrigatórioRequired Especifica em qual mês o evento ocorre.Specifies in which month the event occurs.
intervalointerval ObrigatórioRequired Especifica o número de anos entre cada ocorrência.Specifies the number of years between each occurrence.
typetype ObrigatórioRequired Tem que ser definida como absoluteYearly.Must be set to absoluteYearly.

ExemploExample

  • Repita esse evento em 15 de abril todo anoRepeat this event on April 15 every year

      "pattern": {
        "type": "absoluteYearly",
        "interval": 1,
        "dayOfMonth": 15,
        "month": 4
      }
    

Anual relativoRelative yearly

O padrão anual relativo faz com que um evento se repita no mesmo dia da semana na mesma posição relativa de um mês específico, com base no número de anos entre cada ocorrência.The relative yearly pattern causes an event to repeat on the same day of the week in the same relative position in a specific month, based on the number of years between each occurrence. Por exemplo, "toda última quarta-feira de novembro".For example, "every last Wednesday of November."

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
daysOfWeekdaysOfWeek ObrigatórioRequired Especifica em quais dias da semana o evento pode ocorrer.Specifies on which day(s) of the week the event can occur. Eventos anuais relativos apenas ocorrerem uma vez por ano, portanto, se mais de um valor for especificado, o evento ocorrerá no primeiro dia que satisfaz o padrão.Relative yearly events only occur once per year, so if more than one value is specified, the event falls on the first day that satisfies the pattern.
índiceindex OpcionalOptional Especifica em qual instância dos dias permitidos especificados em daysOfsWeek o evento ocorre, contando a partir da primeira instância no mês.Specifies on which instance of the allowed days specified in daysOfsWeek the event occurs, counted from the first instance in the month. Valores possíveis: first, second, third, fourth e last.Possible values: first, second, third, fourth, and last. Valor padrão: first.Default value: first.
Mêsmonth ObrigatórioRequired Especifica em qual mês o evento ocorre.Specifies in which month the event occurs.
intervalointerval ObrigatórioRequired Especifica o número de anos entre cada ocorrência.Specifies the number of years between each occurrence.
typetype ObrigatórioRequired Tem que ser definida como relativeYearly.Must be set to relativeYearly.

ExemplosExamples

  • Repita esse evento na última quarta-feira de novembro a cada anoRepeat this event on the last Wednesday of November every year

      "pattern": {
        "type": "relativeYearly",
        "interval": 1,
        "daysOfWeek": [ "Wednesday" ],
        "index": "last",
        "month": 11
      }
    

Intervalos de recorrênciaRecurrence ranges

A segunda parte de uma recorrência é o intervalo.The second part of a recurrence is the range. Especifica por quanto tempo o padrão se repete.This specifies how long the pattern repeats. Por exemplo, um evento poderia terminar após 10 ocorrências, em uma data específica ou poderia não ter fim.For example, an event could end after 10 occurrences, by a specific date, or could have no end. Um intervalo é representado na API pelo recurso recurrenceRange.A range is represented in the API by the recurrenceRange resource.

Dependendo do tipo de intervalo, determinados campos do recurrenceRange são obrigatórios ou ignorados.Depending on the type of range, certain fields of recurrenceRange are required or ignored.

Observação: Mesmo que um campo seja ignorado, ele ainda é validado.Note: Even if a field is ignored, it is still validated. Se um campo tiver um conjunto fixo de valores possíveis, usar um valor fora do conjunto permitido causa um erro, mesmo que esse campo seja ignorado.If a field has a set list of possible values, using a value outside the allowed set causes an error, even if that field is ignored.

Vamos dar uma olhada em cada um dos tipos de possíveis de intervalo.Let's take a look at each of the possible range types.

Intervalo numeradoNumbered range

O intervalo numerado faz com que um evento ocorra um número fixo de vezes (com base no padrão) de uma data de início.The numbered range causes an event to occur a fixed number of times (based on the pattern) from a start date.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
numberOfOccurencesnumberOfOccurences ObrigatórioRequired Especifica o número de ocorrências.Specifies the number of occurrences. Deve ser um número inteiro positivo.Must be a positive integer.
recurrenceTimeZonerecurrenceTimeZone OpcionalOptional Especifica o fuso horário para a propriedade startDate.Specifies the time zone for the startDate property. Se a propriedade não for especificada, será usado o fuso horário do evento.If not specified, the time zone of the event is used.
startDatestartDate ObrigatórioRequired Especifica a data para começar a aplicar o padrão.Specifies the date to start applying the pattern. O valor de startDate DEVE corresponder ao valor da data da propriedade iniciar no recurso de evento.The value of startDate MUST correspond to the date value of the start property on the event resource. Observação: Esta primeira ocorrência da reunião poderá não ocorrer nessa data se ela não se encaixar no padrão.Note that the first occurrence of the meeting may not occur on this date if it does not fit the pattern.
typetype ObrigatórioRequired Tem que ser definida como numbered.Must be set to numbered.

ExemplosExamples

  • Repita esse evento 10 vezesRepeat this event 10 times

      "range": {
        "type": "numbered",
        "startDate": "2017-04-02",
        "numberOfOccurrences": 10
      }
    

Intervalo de datas de términoEnd date range

O intervalo de datas de término faz com que um evento ocorra em todos os dias que se encaixem no padrão aplicável entre uma data de início e uma data de término.The end date range causes an event to occur on all days that fit the applicable pattern between a start date and an end date.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
endDateendDate ObrigatórioRequired Especifica a data para parar de aplicar o padrão.Specifies the date to stop applying the pattern. Observação: Esta última ocorrência da reunião pode não ocorrer nessa data se ela não se encaixar no padrão.Note that the last occurrence of the meeting may not occur on this date if it does not fit the pattern.
recurrenceTimeZonerecurrenceTimeZone OpcionalOptional Especifica o fuso horário das propriedades startDate e endDate.Specifies the time zone for the startDate and endDate properties. Se a propriedade não for especificada, será usado o fuso horário do evento.If not specified, the time zone of the event is used.
startDatestartDate ObrigatórioRequired Especifica a data para começar a aplicar o padrão.Specifies the date to start applying the pattern. O valor de startDate DEVE corresponder ao valor da data da propriedade iniciar no recurso de evento.The value of startDate MUST correspond to the date value of the start property on the event resource. Observação: Esta primeira ocorrência da reunião poderá não ocorrer nessa data se ela não se encaixar no padrão.Note that the first occurrence of the meeting may not occur on this date if it does not fit the pattern.
typetype ObrigatórioRequired Tem que ser definida como endDate.Must be set to endDate.

ExemplosExamples

  • Repita esse evento de 1.º de julho de 2017 a 31 de julho de 2017Repeat this event from July 1, 2017, to July 31, 2017

      "range": {
        "type": "endDate",
        "startDate": "2017-07-01",
        "endDate": "2017-07-31"
      }
    

Intervalo sem términoNo end range

O intervalo sem término faz com que um evento ocorra em todos os dias que se encaixem no padrão aplicável após uma data de início.The no end range causes an event to occur on all days that fit the applicable pattern after a start date.

Propriedades relevantesRelevant properties

PropriedadeProperty RelevânciaRelevance DescriçãoDescription
recurrenceTimeZonerecurrenceTimeZone OpcionalOptional Especifica o fuso horário para a propriedade startDate.Specifies the time zone for the startDate property. Se a propriedade não for especificada, será usado o fuso horário do evento.If not specified, the time zone of the event is used.
startDatestartDate ObrigatórioRequired Especifica a data para começar a aplicar o padrão.Specifies the date to start applying the pattern. O valor de startDate DEVE corresponder ao valor da data da propriedade iniciar no recurso de evento.The value of startDate MUST correspond to the date value of the start property on the event resource. Observação: Esta primeira ocorrência da reunião poderá não ocorrer nessa data se ela não se encaixar no padrão.Note that the first occurrence of the meeting may not occur on this date if it does not fit the pattern.
typetype ObrigatórioRequired Tem que ser definida como noEnd.Must be set to noEnd.

ExemplosExamples

  • Repita esse evento de 15 de maio de 2017 para sempreRepeat this event from May 15, 2017, forever

      "range": {
        "type": "noEnd",
        "startDate": "2017-05-15"
      }
    

Usando padrões e intervalos para criar eventos recorrentesUsing patterns and ranges to create recurring events

Agora que já vimos padrões e intervalos separadamente, vamos analisar como eles funcionam juntos e como eles interagem com as propriedades iniciar e encerrar do evento.Now that we've looked at patterns and ranges separately, let's look at how they work together and how they interact with the start and end properties on the event.

Criando uma regra de recorrênciaCreating a recurrence rule

Para criar uma regra de recorrência, você deve especificar um padrão e um intervalo.To create a recurrence rule, you must specify both a pattern and a range. Qualquer tipo de padrão pode funcionar com qualquer tipo de intervalo.Any pattern type can work with any range type. Eis alguns exemplos.Here are a few examples.

ExemplosExamples

  • Reunião das 13h às 13h30 toda segunda-feira a partir de 4 de setembro de 2017 até o final do anoMeet from 1:00 PM to 1:30 PM every Monday starting September 4, 2017, until the end of the year

    • O requisito "toda segunda-feira" requisito é atendido facilmente pelo tipo de padrão de recorrência weekly.The "every Monday" requirement is easily met by the weekly recurrence pattern type.
    • O requisito "até o final do ano" indica um tipo de intervalo de recorrência endDate.The "until the end of the year" requirement indicates an endDate recurrence range type.
      "recurrence": {
        "pattern": {
          "type": "weekly",
          "interval": 1,
          "daysOfWeek": [ "Monday" ]
        },
        "range": {
          "type": "endDate",
          "startDate": "2017-09-04",
          "endDate": "2017-12-31"
        }
      }
    

    Como 31 de dezembro de 2017 é um domingo, a última ocorrência dessa série será na segunda-feira, dia 25 de dezembro.Because December 31, 2017, is on a Sunday, the last occurrence in this series will be on Monday, December 25.

  • Reunião das 14h às 15h na primeira quinta-feira de cada mês a partir de 29 de agosto de 2017Meet from 2:00 PM to 3:00 PM on the first Thursday of every other month starting August 29, 2017

    • O requisito "primeira quinta-feira de cada mês" pode ser cumprido usando um padrão mensal relativo.The "first Thursday of every other month" requirement is achievable by using a relative monthly pattern. A parte "cada mês" indica que o intervalo deve ser definido como 2.The "every other month" portion indicates that the interval should be set to 2.
    • Por não existir um requisito de data de término, um tipo de intervalo noEnd pode ser usado.Because there is no requirement on an end date, a noEnd range type can be used.
      "recurrence": {
        "pattern": {
          "type": "relativeMonthly",
          "interval": 2,
          "daysOfWeek": [ "Thursday" ],
          "index": "first"
        },
        "range": {
          "type": "noEnd",
          "startDate": "2017-08-29"
        }
      }
    

    Como o valor de starDate é após a primeira quinta-feira de agosto, a primeira ocorrência dessa série será em setembro.Because the value of startDate is after the first Thursday in August, the first occurrence of this series will be in September.

Próximas etapasNext steps