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

Sostituisce il valore Availability di un Service esistente di un commerciante gestito dall'aggregatore specificato e lo restituisce.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
serviceAvailability.name

string

Il nome della risorsa del servizio a cui applicarlo. Nel formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "serviceAvailability": {
    "name": string,
    "startTimeRestrict": string,
    "endTimeRestrict": string,
    "durationRestrict": string,
    "resourcesRestrict": {
      "staffId": string,
      "staffName": string,
      "roomId": string,
      "roomName": string,
      "partySize": integer
    },
    "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)
        },
        "requireCreditCard": enum (RequireCreditCard),
        "ticketTypeId": [
          string
        ],
        "durationRequirement": enum (DurationRequirement),
        "schedulingRuleOverrides": {
          object (SchedulingRuleOverrides)
        },
        "confirmationMode": enum (ConfirmationMode)
      }
    ]
  }
}
Campi
serviceAvailability.startTimeRestrict

string (Timestamp format)

Se fornito, considereremo le entità di disponibilità fornite come uno snapshot completo di [startTimeRestrict, endTimeRestrict). Ciò significa che tutta la disponibilità esistente verrà eliminata se risulta vera la seguente condizione:

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

Se è impostato un messaggio di durata, la condizione è ulteriormente limitata:

  availability.duration == durationRestrict

Se è impostato un messaggio resourceRestrict, la condizione viene limitata ulteriormente:

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

Questi campi vengono generalmente utilizzati per fornire un aggiornamento completo della disponibilità in un determinato intervallo di tempo.

L'impostazione di startTimeRestrict senza configurare endTimeRestrict viene interpretata come un valore orario che inizia a startTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

serviceAvailability.endTimeRestrict

string (Timestamp format)

L'impostazione di endTimeRestrict senza configurare il valore di startTimeRestrict viene interpretata come un valore costante fino a endTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

serviceAvailability.durationRestrict

string (Duration format)

L'impostazione della durata limita ulteriormente l'ambito dell'aggiornamento solo alla disponibilità con la durata corrispondente.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

serviceAvailability.resourcesRestrict

object (Resources)

L'impostazione di resourceRestrict limita ulteriormente l'ambito dell'aggiornamento solo a questo insieme di risorse. Tutti i campi ID delle risorse devono corrispondere esattamente.

serviceAvailability.availability[]

object (Availability)

Il nuovo elenco della disponibilità.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Un elenco della disponibilità e a chi e quando devono essere applicati.

Rappresentazione JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Campi
name

string

Il nome della risorsa del servizio a cui applicarlo. Nel formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

Se fornito, considereremo le entità di disponibilità fornite come uno snapshot completo di [startTimeRestrict, endTimeRestrict). Ciò significa che tutta la disponibilità esistente verrà eliminata se risulta vera la seguente condizione:

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

Se è impostato un messaggio di durata, la condizione è ulteriormente limitata:

  availability.duration == durationRestrict

Se è impostato un messaggio resourceRestrict, la condizione viene limitata ulteriormente:

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

Questi campi vengono generalmente utilizzati per fornire un aggiornamento completo della disponibilità in un determinato intervallo di tempo.

L'impostazione di startTimeRestrict senza configurare endTimeRestrict viene interpretata come un valore orario che inizia a startTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

L'impostazione di endTimeRestrict senza configurare il valore di startTimeRestrict viene interpretata come un valore costante fino a endTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

L'impostazione della durata limita ulteriormente l'ambito dell'aggiornamento solo alla disponibilità con la durata corrispondente.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

resourcesRestrict

object (Resources)

L'impostazione di resourceRestrict limita ulteriormente l'ambito dell'aggiornamento solo a questo insieme di risorse. Tutti i campi ID delle risorse devono corrispondere esattamente.

availability[]

object (Availability)

Il nuovo elenco della disponibilità.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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