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

Substitui e retorna a Availability de um Service existente de um comerciante gerenciado pelo agregador especificado.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
serviceAvailability.name

string

O nome do recurso do serviço a que isso será aplicado, com o formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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)
      }
    ]
  }
}
Campos
serviceAvailability.startTimeRestrict

string (Timestamp format)

Se esse campo for definido, consideraremos as entidades de disponibilidade indicadas como um instantâneo completo de [startTimeRestrict, endTimeRestrict]. Ou seja, todas as disponibilidades existentes serão excluídas se a seguinte condição for verdadeira:

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

Se uma mensagem de duração for definida, a condição será ainda mais restritiva:

  availability.duration == durationRestrict

Se uma mensagem resourcesRestrict for definida, a condição será ainda mais restritiva:

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

Esses campos normalmente são usados para enviar uma atualização completa da disponibilidade em um determinado período.

Quando você define startTimeRestrict, mas não endTimeRestrict, todo o período desde o valor definido em startTimeRestrict é considerado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

serviceAvailability.endTimeRestrict

string (Timestamp format)

Quando você define endTimeRestrict, mas não startTimeRestrict, todo o período até o valor definido em endTimeRestrict é considerado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

serviceAvailability.durationRestrict

string (Duration format)

Definir a duração restringe ainda mais o escopo da atualização à disponibilidade com período correspondente.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

serviceAvailability.resourcesRestrict

object (Resources)

Definir resourcesRestrict restringe ainda mais o escopo da atualização a esse conjunto de recursos. Todos os campos de código dos recursos precisam corresponder.

serviceAvailability.availability[]

object (Availability)

A nova lista de disponibilidade.

Corpo da resposta

Uma lista de disponibilidade e a quem/quando elas devem ser aplicadas.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Campos
name

string

Nome do recurso do serviço a que esse valor será aplicado, com o formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

Se esse campo for definido, consideraremos as entidades de disponibilidade indicadas como um instantâneo completo de [startTimeRestrict, endTimeRestrict]. Ou seja, todas as disponibilidades existentes serão excluídas se a seguinte condição for verdadeira:

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

Se uma mensagem de duração for definida, a condição será ainda mais restritiva:

  availability.duration == durationRestrict

Se uma mensagem resourcesRestrict for definida, a condição será ainda mais restritiva:

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

Esses campos normalmente são usados para enviar uma atualização completa da disponibilidade em um determinado período.

Quando você define startTimeRestrict, mas não endTimeRestrict, todo o período desde o valor definido em startTimeRestrict é considerado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

endTimeRestrict

string (Timestamp format)

Quando você define endTimeRestrict, mas não startTimeRestrict, todo o período até o valor definido em endTimeRestrict é considerado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

durationRestrict

string (Duration format)

Definir a duração restringe ainda mais o escopo da atualização à disponibilidade com período correspondente.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

resourcesRestrict

object (Resources)

Definir resourcesRestrict restringe ainda mais o escopo da atualização a esse conjunto de recursos. Todos os campos de código dos recursos precisam corresponder.

availability[]

object (Availability)

A nova lista de disponibilidade.

Escopos de autorização

Requer o seguinte escopo OAuth:

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