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

Sostituisce il 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 applicare questa impostazione. 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,
      "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)
      }
    ]
  }
}
Campi
serviceAvailability.startTimeRestrict

string (Timestamp format)

Se fornite, le entità Disponibilità fornite verranno considerate uno snapshot completo da [startTimeRestrict, endTimeRestrict]. In altre parole, tutta la disponibilità esistente verrà eliminata se è vera la seguente condizione:

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

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

  availability.duration == durationRestrict

Se è impostato un messaggio resourcesRestrict, la condizione è ulteriormente limitata:

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

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

Se imposti startTimeRestrict e lasci endTimeRestrict non impostato, il valore viene interpretato come tutti i tempi a partire da startTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo 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 lasciando startTimeRestrict non impostato viene interpretata come tutti i tempi fino a endTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo 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 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 resourcesRestrict 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 di disponibilità.

Corpo della risposta

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

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

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 applicare questa impostazione. Nel formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

Se fornite, le entità Disponibilità fornite verranno considerate uno snapshot completo da [startTimeRestrict, endTimeRestrict]. In altre parole, tutta la disponibilità esistente verrà eliminata se è vera la seguente condizione:

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

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

  availability.duration == durationRestrict

Se è impostato un messaggio resourcesRestrict, la condizione è ulteriormente limitata:

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

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

Se imposti startTimeRestrict e lasci endTimeRestrict non impostato, il valore viene interpretato come tutti i tempi a partire da startTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo 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 lasciando startTimeRestrict non impostato viene interpretata come tutti i tempi fino a endTimeRestrict.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo 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 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 resourcesRestrict 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 di disponibilità.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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