Method: inventory.partners.merchants.services.availability.replace

Remplace la valeur Availability d'un Service existant associé à un marchand géré par l'agrégateur spécifié, puis renvoie cette valeur.

Requête HTTP

POST https://mapsbooking.googleapis.com/v1alpha/inventory/{serviceAvailability.name=partners/*/merchants/*/services/*}/availability:replace

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
serviceAvailability.name

string

Nom de la ressource du service auquel appliquer ce paramètre. Au format partners/{partner_id}/merchants/{merchantId}/services/{serviceId}.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "serviceAvailability": {
    "name": string,
    "startTimeRestrict": string,
    "endTimeRestrict": string,
    "durationRestrict": string,
    "resourcesRestrict": {
      "staffId": string,
      "staffName": string,
      "roomId": string,
      "roomName": string,
      "partySize": integer,
      "roomDescription": {
        object (Text)
      }
    },
    "availability": [
      {
        "startTime": string,
        "duration": string,
        "spotsTotal": string,
        "spotsOpen": string,
        "availabilityTag": string,
        "resources": {
          object (Resources)
        },
        "paymentOptionId": [
          string
        ],
        "recurrence": {
          object (Recurrence)
        },
        "scheduleException": [
          {
            object (ScheduleException)
          }
        ],
        "deposit": {
          object (Deposit)
        },
        "noShowFee": {
          object (NoShowFee)
        },
        "prepayment": {
          object (Prepayment)
        },
        "requireCreditCard": enum (RequireCreditCard),
        "ticketTypeId": [
          string
        ],
        "durationRequirement": enum (DurationRequirement),
        "schedulingRuleOverrides": {
          object (SchedulingRuleOverrides)
        },
        "confirmationMode": enum (ConfirmationMode),
        "linkoutRequiredReason": enum (LinkoutRequiredReason)
      }
    ]
  }
}
Champs
serviceAvailability.startTimeRestrict

string (Timestamp format)

Nous traitons les entités de disponibilité éventuellement fournies comme un instantané complet de [startTimeRestrict, endTimeRestrict). Autrement dit, le système supprime toute disponibilité existante si la condition suivante est remplie :

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

Si un message "duration" (durée) est défini, la condition est encore plus exigeante :

  availability.duration == durationRestrict

Si un message "resourcesRestrict" est défini, la condition est plus exigeante encore :

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

Ces champs sont généralement utilisés pour fournir une mise à jour complète de la disponibilité pour une période donnée.

Si vous définissez la valeur startTimeRestrict, mais pas la valeur endTimeRestrict, le système en conclut que toutes les heures commencent à startTimeRestrict.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

serviceAvailability.endTimeRestrict

string (Timestamp format)

Si vous définissez la valeur endTimeRestrict, mais pas la valeur startTimeRestrict, le système en conclut que toutes les heures sont incluses jusqu'à la fin de endTimeRestrict.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

serviceAvailability.durationRestrict

string (Duration format)

Lorsque la durée est définie, toute mise à jour de la disponibilité est limitée aux créneaux de cette durée.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

serviceAvailability.resourcesRestrict

object (Resources)

Lorsque resourcesRestrict est défini, toute mise à jour est limitée à cet ensemble de ressources seulement. Tous les champs des identifiants de ressources doivent correspondre exactement.

serviceAvailability.availability[]

object (Availability)

Nouvelle liste de disponibilités.

Corps de la réponse

Liste de disponibilités et à qui/quand les appliquer

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Champs
name

string

Nom de la ressource du service auquel appliquer ce paramètre. Au format partners/{partner_id}/merchants/{merchantId}/services/{serviceId}.

startTimeRestrict

string (Timestamp format)

Nous traitons les entités de disponibilité éventuellement fournies comme un instantané complet de [startTimeRestrict, endTimeRestrict). Autrement dit, le système supprime toute disponibilité existante si la condition suivante est remplie :

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

Si un message "duration" (durée) est défini, la condition est encore plus exigeante :

  availability.duration == durationRestrict

Si un message "resourcesRestrict" est défini, la condition est plus exigeante encore :

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

Ces champs sont généralement utilisés pour fournir une mise à jour complète de la disponibilité pour une période donnée.

Si vous définissez la valeur startTimeRestrict, mais pas la valeur endTimeRestrict, le système en conclut que toutes les heures commencent à startTimeRestrict.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

Si vous définissez la valeur endTimeRestrict, mais pas la valeur startTimeRestrict, le système en conclut que toutes les heures sont incluses jusqu'à la fin de endTimeRestrict.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

Lorsque la durée est définie, toute mise à jour de la disponibilité est limitée aux créneaux de cette durée.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

resourcesRestrict

object (Resources)

Lorsque resourcesRestrict est défini, toute mise à jour est limitée à cet ensemble de ressources seulement. Tous les champs des identifiants de ressources doivent correspondre exactement.

availability[]

object (Availability)

Nouvelle liste de disponibilités.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/mapsbooking