Planifier des rendez-vous périodiques en tant qu’événements périodiques dans Outlook

Les événements périodiques sont des éléments importants du calendrier Outlook. Que vous ayez une réunion individuelle hebdomadaire avec votre responsable ou une réunion de suivi avec l’ensemble du service tous les deuxièmes mardis du mois, les événements périodiques permettent de ne créer l’événement qu’une seule fois, puis de laisser le serveur remplir le reste de la série.

L’information clé qui autorise les événements périodiques à être « répercutés » en occurrences individuelles est la règle de périodicité. Cette règle indique la fréquence de répétition d’un événement ainsi que sa durée. Les API REST Outlook créent des règles de périodicité dans la propriété recurrence de la ressource event.

Chaque élément est défini par deux aspects : sa périodicité (fréquence) et sa plage de périodicité (pour combien de temps).

Périodicités

Une périodicité se caractérise d’abord par sa fréquence. Cette valeur définit l’intervalle auquel l’événement se répète. Par exemple, un événement peut se répéter « tous les 3 jours », « tous les jeudis » ou « le 22 juillet de chaque année ». Un modèle est représenté dans l’API par la ressource recurrencePattern.

Selon le type de modèle, certains champs de recurrencePattern sont obligatoires, facultatifs ou ignorés.

Remarque

Même si un champ est ignoré, il est toujours validé. Si un champ n’autorise qu’un ensemble défini de valeurs, l’utilisation d’une valeur ne faisant pas partie de cet ensemble entraîne une erreur, même si ce champ est ignoré.

Examinons chacun des types de périodicité possibles.

En jours

Une périodicité exprimée en jours indique qu’un événement est répété selon un intervalle défini en nombre de jours.

Propriétés connexes

Propriété Importance Description
interval Obligatoire Indique le nombre de jours qui séparent chaque occurrence.
type Obligatoire Doit être défini sur daily.

Exemples

  • Répéter cet événement tous les jours

      "pattern": {
        "type": "daily",
        "interval": 1
      }
    
  • Répéter cet événement tous les trois jours

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

En semaines

Une périodicité exprimée en semaines indique qu’un événement est répété le ou les mêmes jours de la semaine, selon un intervalle défini en nombre de semaines.

Propriétés connexes

Propriété Importance Description
daysOfWeek Obligatoire Indique le ou les jours de la semaine où un événement a lieu.
firstDayOfWeek Facultatif Indique le jour qui est considéré comme le premier jour de la semaine. Valeur par défaut : Sunday.
interval Obligatoire Indique le nombre de semaines qui séparent chaque ensemble d’occurrences.
type Obligatoire Doit être défini sur weekly.

Exemples

  • Répéter cet événement tous les jeudis

      "pattern": {
        "type": "weekly",
        "interval": 1,
        "daysOfWeek": [ "Thursday" ]
      }
    
  • Répéter cet événement tous les lundis et les mardis

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

En mois (absolu)

Une périodicité absolue exprimée en mois indique qu’un événement est répété le même jour de chaque mois (par exemple, le 15), en fonction du nombre de mois entre chaque occurrence.

Propriétés connexes

Propriété Importance Description
dayOfMonth Obligatoire Indique le jour du mois où l’événement a lieu.
interval Obligatoire Indique le nombre de mois qui séparent chaque occurrence.
type Obligatoire Doit être défini sur absoluteMonthly.

Exemples

  • Répéter cet événement le 15 de chaque mois

      "pattern": {
        "type": "absoluteMonthly",
        "interval": 1,
        "dayOfMonth": 15
      }
    
  • Répéter cet événement le 7, chaque trimestre (tous les trois mois)

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

En mois (relatif)

Une périodicité relative exprimée en mois indique qu’un événement est répété le même jour de la même semaine (en position relative) du mois, selon un intervalle défini en nombre de mois. Par exemple, « chaque deuxième mercredi du mois ».

Propriétés connexes

Propriété Importance Description
daysOfWeek Obligatoire Indique le ou les jours de la semaine où l’événement peut avoir lieu. Les événements qui suivent une périodicité relative exprimée en mois n’ont lieu qu’une fois par mois. Ainsi, si vous indiquez plusieurs valeurs, celle qui survient en premier est appliquée.
index Facultatif Parmi les jours autorisés indiqués dans daysOfWeek, l’événement se produit en comptant à partir de la première instance du mois. Les valeurs possibles sont first, second, third, fourth et last. Valeur par défaut : first.
interval Obligatoire Indique le nombre de mois qui séparent chaque occurrence.
type Obligatoire Doit être défini sur relativeMonthly.

Exemples

  • Répéter cet événement le deuxième mercredi de chaque mois

      "pattern": {
        "type": "relativeMonthly",
        "interval": 1,
        "daysOfWeek": [ "Wednesday" ],
        "index": "second"
      }
    
  • Répéter cet événement le premier jeudi ou vendredi de chaque mois

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

En année (absolue)

Une périodicité absolue exprimée en années indique qu’un événement est répété le même jour du même mois (par exemple, le 15 avril), en fonction du nombre d’années entre chaque occurrence.

Propriétés connexes

Propriété Importance Description
dayOfMonth Obligatoire Indique le jour du mois où l’événement a lieu.
Mois Obligatoire Indique le mois où l’événement a lieu.
interval Obligatoire Indique le nombre d’années qui séparent chaque occurrence.
type Obligatoire Doit être défini sur absoluteYearly.

Exemple

  • Répéter cet événement le 15 avril, chaque année

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

En années (relatif)

Une périodicité relative exprimée en années indique qu’un événement est répété le même jour de la même semaine (en position relative) d’un mois spécifique, selon un intervalle défini en nombre d’années. Par exemple, « chaque dernier mercredi de novembre ».

Propriétés connexes

Propriété Importance Description
daysOfWeek Obligatoire Indique le ou les jours de la semaine où l’événement peut avoir lieu. Les événements qui suivent une périodicité relative exprimée en années n’ont lieu qu’une fois par ans. Ainsi, si vous indiquez plusieurs valeurs, celle qui survient en premier est appliquée.
index Facultatif Parmi les jours autorisés indiqués dans daysOfWeek, l’événement se produit en comptant à partir de la première instance du mois. Les valeurs possibles sont first, second, third, fourth et last. Valeur par défaut : first.
Mois Obligatoire Indique le mois où l’événement a lieu.
interval Obligatoire Indique le nombre d’années qui séparent chaque occurrence.
type Obligatoire Doit être défini sur relativeYearly.

Exemples

  • Répéter cet événement le dernier mercredi de novembre, chaque année

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

Plages de périodicité

La deuxième caractéristique d’une périodicité est sa plage. Elle indique la durée pendant laquelle l’événement est répété. Par exemple, un événement peut se terminer après 10 occurrences, à une date spécifique ou ne jamais se terminer. Une plage est représentée dans l’API par la ressource recurrenceRange.

Selon le type de plage, certains champs de recurrenceRange sont obligatoire ou ignorés.

Remarque

Même si un champ est ignoré, il est toujours validé. Si un champ n’autorise qu’un ensemble défini de valeurs, l’utilisation d’une valeur ne faisant pas partie de cet ensemble entraîne une erreur, même si ce champ est ignoré.

Examinons chacun des types de plage possibles.

Plage numérotée

La plage numérotée indique qu’un événement a lieu un certain nombre de fois (à la fréquence définie) à partir d’une date de début.

Propriétés connexes

Propriété Importance Description
numberOfOccurrences Obligatoire Indique le nombre d’occurrences. Ce doit être un entier positif.
recurrenceTimeZone Facultatif Spécifie le fuseau horaire pour la propriété startDate. Si aucun autre fuseau horaire n’est indiqué, c’est celui de l’événement qui est utilisé.
startDate Obligatoire Indique la date à laquelle commence la répétition de l’événement. La valeur de startDate DOIT correspondre à la valeur de date de la propriété start sur la ressource event. Notez que la première occurrence de la réunion peut ne pas se produire si celle-ci ne correspond pas à la fréquence définie.
type Obligatoire Doit être défini sur numbered.

Exemples

  • Répéter cet événement 10 fois

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

Plage de dates finie

Une plage de dates finie indique qu’un événement a lieu tous les jours correspondant à la fréquence définie entre une date de début et une date de fin données.

Propriétés connexes

Propriété Importance Description
endDate Obligatoire Indique la date à laquelle se termine la répétition de l’événement. Notez que la dernière occurrence de la réunion peut ne pas avoir lieu à cette date si celle-ci ne correspond pas à la fréquence définie.
recurrenceTimeZone Facultatif Spécifie le fuseau horaire pour les propriétés startDate et endDate. Si aucun autre fuseau horaire n’est indiqué, c’est celui de l’événement qui est utilisé.
startDate Obligatoire Indique la date à laquelle commence la répétition de l’événement. La valeur de startDate DOIT correspondre à la valeur de date de la propriété start sur la ressource event. Notez que la première occurrence de la réunion peut ne pas se produire si celle-ci ne correspond pas à la fréquence définie.
type Obligatoire Doit être définie sur endDate.

Exemples

  • Répéter cet événement du 1er juillet 2017 jusqu’au 31 juillet 2017

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

Plage ouverte

Une plage ouverte indique qu’un événement a lieu tous les jours correspondant à la fréquence définie après une date de début.

Propriétés connexes

Propriété Importance Description
recurrenceTimeZone Facultatif Spécifie le fuseau horaire pour la propriété startDate. Si aucun autre fuseau horaire n’est indiqué, c’est celui de l’événement qui est utilisé.
startDate Obligatoire Indique la date à laquelle commence la répétition de l’événement. La valeur de startDate DOIT correspondre à la valeur de date de la propriété start sur la ressource event. Notez que la première occurrence de la réunion peut ne pas se produire si celle-ci ne correspond pas à la fréquence définie.
type Obligatoire Doit être défini sur noEnd.

Exemples

  • Répéter cet événement indéfiniment à partir du 15 mai 2017

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

Utilisations de périodicités et de plages de périodicité pour créer des événements périodiques

Après avoir examiné les périodicités et leurs plages d’application séparément, voyons comment elles fonctionnent ensemble, et comment elles interagissent avec les propriétés start et end de l’événement.

Création d’une règle de périodicité

Pour créer une règle de périodicité, vous devez définir des critères de fréquence et une plage. N’importe quel type de critère peut fonctionner avec n’importe quel type de plage. Voici quelques exemples.

Exemples

  • Planifier une réunion de 13 h 00 à 13 h 30 tous les lundis du 4 septembre 2017 jusqu’à la fin de l’année

    • La condition « tous les lundis » est remplie facilement par le type de périodicité weekly.
    • La condition « jusqu’à la fin de l’année » indique un type de plage de périodicité endDate.
      "recurrence": {
        "pattern": {
          "type": "weekly",
          "interval": 1,
          "daysOfWeek": [ "Monday" ]
        },
        "range": {
          "type": "endDate",
          "startDate": "2017-09-04",
          "endDate": "2017-12-31"
        }
      }
    

    Le 31 décembre 2017 étant un dimanche, la dernière occurrence de cette série aura lieu le lundi 25 décembre.

  • Planifier une réunion de 14 h 00 à 15 h 00 le premier jeudi du mois, tous les deux mois, à partir du 29 août 2017

    • La condition « premier jeudi du mois, tous les deux mois » est réalisable à l’aide d’un modèle mensuel relatif. L’élément « un mois sur deux » indique que la propriété interval doit être définie sur 2.
    • Dans la mesure où aucune condition ne prévoit de date de fin, le type de plage noEnd peut être utilisé.
      "recurrence": {
        "pattern": {
          "type": "relativeMonthly",
          "interval": 2,
          "daysOfWeek": [ "Thursday" ],
          "index": "first"
        },
        "range": {
          "type": "noEnd",
          "startDate": "2017-08-29"
        }
      }
    

    Étant donné que la valeur de startDate est définie après le premier jeudi en août, la première occurrence de cette série sera en septembre.