- Recurso: disponibilidade
 - Recursos
 - Recorrência
 - ScheduleException
 - Pré-pagamento
 - PriceInfo
 - Preço
 - DurationRequirement
 - SchedulingRuleOverrides
 - ConfirmationMode
 - LinkoutRequiredReason
 - Métodos
 
Recurso: disponibilidade
Um horário disponível no serviço do comerciante, indicando o horário e o número de vagas.
| Representação JSON | 
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object (  | 
              
| Campos | |
|---|---|
start | 
                
                   
 Início do horário disponível. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos:   | 
              
duration | 
                
                   
 Duração do horário disponível Duração em segundos com até nove dígitos fracionários, terminando em "  | 
              
spots | 
                
                   
 Número total de vagas e vagas em aberto desse horário disponível. Exemplos: 
 Observação: se você enviar solicitações usando o formato de compactação de disponibilidade definido abaixo, esses dois campos serão inferidos. 
  | 
              
spots | 
                
                   
 Número de vagas abertas.  | 
              
availability | 
                
                   
 Uma string opaca opcional para identificar esse horário disponível. Se definida, ela será incluída nas solicitações que reservam/atualizam/cancelam compromissos.  | 
              
resources | 
                
                   
 Recursos opcionais usados para diferenciar esse horário disponível de outros quando diferentes membros da equipe ou salas fazem parte do serviço. Por exemplo, a mesma aula de ioga com dois professores:  | 
              
payment | 
                
                   
 Uma lista de códigos que fazem referência às opções de pagamento disponíveis para pagar pelo espaço. As opções de pagamento reais são definidas no nível do comerciante e também podem ser compartilhadas entre vários deles. Esse campo modifica qualquer payment_option_ids especificado na mensagem de serviço. Da mesma forma, os payment_option_ids definidos aqui NÃO precisam estar presentes na mensagem de serviço, mas precisam ser adicionados no nível do comerciante.  | 
              
recurrence | 
                
                   
 As informações de recorrência da disponibilidade, representando mais de um horário de início. Uma recorrência deve conter compromissos por um dia útil.  | 
              
schedule | 
                
                   
 Os horários em que esse serviço não pode ser programado. Para limitar o número de mensagens scheduleException, considere unir as exceções adjacentes.  | 
              
deposit | 
                
                   
 Um depósito opcional para a disponibilidade da vaga. Substitui o depósito de serviço, se ele tiver sido especificado.  | 
              
no | 
                
                   
 Taxa opcional de não comparecimento para essa disponibilidade. Substitui a taxa de não comparecimento do serviço, se ela tiver sido especificada.  | 
              
prepayment | 
                
                   
 Opcional. Informações opcionais de pré-pagamento para essa disponibilidade.  | 
              
require | 
                
                   
 Indica se o usuário precisa informar um cartão de crédito para reservar esse horário. Se o valor não for definido, ele será herdado do nível de serviço, se estiver indicado lá. (Opcional)  | 
              
ticket | 
                
                   
 Indica uma lista de tipos de ingresso compatíveis com esse espaço disponível. Se esse campo não for definido, todos os tipos de ingresso no serviço pai estarão disponíveis para o espaço. Os valores desse campo precisam ser definidos no serviço pai. Exemplos: 
 Para representar o inventário durante dias úteis:  
 Para indicar que todos os três tipos de ingresso estão disponíveis para esse espaço, use  (opcional)  | 
              
duration | 
                
                   
 O requisito para mostrar a duração e/ou o horário de término dos slots. Este campo será ignorado se o horário não estiver disponível. Não é usado na indústria de coisas legais para fazer. (opcional)  | 
              
scheduling | 
                
                   
 Regras de programação de disponibilidade. Se os campos forem preenchidos, eles substituirão as regras de programação correspondentes nas SchedulingRules no nível de serviço.  | 
              
confirmation | 
                
                   
 O modo de confirmação que será usado ao agendar essa disponibilidade. As tentativas de criar agendamentos para horários com o modo CONFIRMATION_MODE_SYNCHRONOUS precisam ser confirmadas ou negadas imediatamente. As tentativas de criar agendamentos para horários com o modo CONFIRMATION_MODE_ASYNCHRONOUS precisam ser confirmadas ou negadas imediatamente.  | 
              
linkout | 
                
                   
 Opcional. Motivo pelo qual um link é necessário para este espaço. Se definido, o recurso do comerciante para esse slot precisa ter um LinkoutTemplate válido. (opcional)  | 
              
Recursos
Um recurso é usado para diferenciar os espaços disponíveis quando diferentes membros da equipe ou salas fazem parte do serviço. É possível usar vários espaços e intervalos para o mesmo serviço quando eles têm recursos diferentes.
| Representação JSON | 
|---|
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object ( | 
              
| Campos | |
|---|---|
staff | 
                
                   
 Código opcional de um membro da equipe que presta o serviço. Esse campo identifica o membro da equipe em todos os comerciantes, serviços e registros de disponibilidade. Ele também precisa ser estável ao longo do tempo para permitir a correlação com agendamentos anteriores. Esse campo precisa estar presente se staffName também estiver.  | 
              
staff | 
                
                   
 Nome opcional de um membro da equipe que presta o serviço. Esse campo será exibido aos usuários que fizerem um agendamento e deve ser legível por humanos, em vez de um identificador opaco. Ele precisa estar presente se staffId também estiver.  | 
              
room | 
                
                   
 Um código opcional para a sala onde o serviço está localizado. Esse campo identifica a sala em todos os comerciantes, serviços e registros de disponibilidade. Ele também precisa ser estável ao longo do tempo para permitir a correlação com agendamentos anteriores. O campo precisa estar presente se roomName também estiver.  | 
              
room | 
                
                   
 Um nome opcional para a sala onde o serviço está localizado. Esse campo será exibido aos usuários que fizerem um agendamento e deve ser legível por humanos, em vez de um identificador opaco. (opcional, mas obrigatório se o roomId estiver presente) No restaurante, o nome de uma sala só deve ser usado em áreas de estar, como bar ou pátio, e não para cardápios com preço fixo, atividades especiais ou qualquer outro valor que não seja do quarto, como reserva ou jantar. É altamente recomendável que não haja uma sala associada à área de estar padrão.  | 
              
party | 
                
                   
 Aplicável somente para refeições: a quantidade de pessoas que podem ser acomodadas durante esse período. Um restaurante pode estar associado a vários espaços ao mesmo tempo, cada um especificando um partySize diferente, se, por exemplo, duas, três ou quatro pessoas puderem fazer uma reserva.  | 
              
room | 
                
                   
 Opcional. Descrição da sala localizada. Se definido, será necessário fornecer um valor padrão. É preferível também fornecer idiomas comuns para a localidade do comerciante. (opcional)  | 
              
Recorrência
As mensagens de recorrência são opcionais, mas permitem uma representação mais compacta dos espaços disponíveis repetidos consistentemente. Em geral, elas representam a programação de trabalho de um dia. As mensagens de ScheduleException são usadas para representar períodos reservados/indisponíveis no dia de trabalho.
Requisitos:
- A expansão de espaços disponíveis ou recorrências NÃO pode criar espaços idênticos. Se os códigos, o startTime, a duração e os recursos corresponderem, os espaços serão considerados iguais.
 - NÃO misture o formato de disponibilidade padrão e a recorrência nos espaços de um único serviço. A recorrência beneficia comerciantes/serviços que oferecem compromissos. O formato padrão é voltado para comerciantes/serviços com aulas programadas regularmente.
 - As recorrências não devem durar mais de 24 horas.
 
| Representação JSON | 
|---|
{ "repeatUntil": string, "repeatEvery": string }  | 
              
| Campos | |
|---|---|
repeat | 
                
                   
 O carimbo de data/hora inclusivo máximo (UTC) em que a disponibilidade se repete. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos:   | 
              
repeat | 
                
                   
 Define o tempo entre os horários disponíveis consecutivos. Exemplo: uma disponibilidade com duração de 20 min, repeatEvery igual a 30 min, startTime igual a 9h e repeatUntil igual a 11h resultará em um período com horários entre 9-9h20, 9h30-9h50, 10-10h20, 10h30-10h50, 11-11h20. (obrigatório) Duração em segundos com até nove dígitos fracionários, terminando em "  | 
              
ScheduleException
As mensagens de ScheduleException representam períodos reservados/indisponíveis no dia de trabalho, que são exceções à recorrência descrita acima. Como os horários são reservados, a lista de exceções deve ser atualizada para mostrar os períodos indisponíveis. A recorrência não pode ser modificada.
| Representação JSON | 
|---|
{
  "timeRange": {
    object ( | 
              
| Campos | |
|---|---|
time | 
                
                   
 Período da exceção. Os espaços descritos pela recorrência que se sobrepõem a esse período fechado serão considerados indisponíveis. Exemplo: se a recorrência especificar uma duração de 20 min com repeatEvery igual a 30 min, startTime igual a 9h e repeatUntil igual a 11h, uma ScheduleException com timeRange de 9h45-11h fará com os horários entre 9h30-9h50, 10-10h20 e 10h30-10h50 fiquem indisponíveis. Como esse é o período em que a empresa está fechada, o espaço que começa às 11h não seria afetado.  | 
              
Pré-pagamento
Um pagamento que pode ser cobrado do usuário como parte da reserva.
| Representação JSON | 
|---|
{
  "priceInfo": {
    object ( | 
              
| Campos | |
|---|---|
price | 
                
                   
 Contêiner com detalhes de preço.  | 
              
PriceInfo
Contêiner com detalhes de preço.
| Representação JSON | 
|---|
{ "priceType": enum (  | 
              
| Campos | |
|---|---|
price | 
                
                   
 Define como o preço ou a faixa de preço é aplicado (por pessoa ou fixo)  | 
              
Campo de união price_options. As opções de preço são para especificar um preço exato ou uma faixa. price_options pode ser apenas de um dos tipos a seguir: | 
              |
price | 
                
                   
 O preço de um serviço ou uma taxa.  | 
              
price | 
                
                   
 O limite máximo e/ou mínimo de um serviço ou uma taxa.  | 
              
PriceRange
Wrapper para um intervalo de valor monetário tratado como ilimitado, a menos que ambos os valores sejam definidos. É necessário incluir pelo menos minAmount e maxAmount.
| Representação JSON | 
|---|
{ "minPrice": { object (  | 
              
| Campos | |
|---|---|
min | 
                
                   
 Valor mínimo.  | 
              
max | 
                
                   
 Valor máximo. Deve ser sempre > minPrice.  | 
              
DurationRequirement
Esse enum indica os requisitos para o usuário confirmar ou visualizar a duração/horário de término dos slots solicitados.
| Enums | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED | 
                O processamento do horário de término não foi especificado. Esse é o padrão. | 
DO_NOT_SHOW_DURATION | 
                O horário de término não é mostrado ao usuário. | 
MUST_SHOW_DURATION | 
                O horário de término precisa ser mostrado ao usuário antes que o agendamento possa ser feito. | 
SchedulingRuleOverrides
Regras de agendamento no nível de disponibilidade.
| Representação JSON | 
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string }  | 
              
| Campos | |
|---|---|
last | 
                
                   
 O último horário (em segundos) em que esse espaço pode ser reservado. Esse carimbo de data/hora precisa ser anterior ao startSec do horário em questão. Se você quiser oferecer a possibilidade de reservar após o horário de início, use o nível de serviço SchedulingRules.min_booking_before_end_time. Ao usá-lo, ele substituirá o que estiver especificado no min_booking_buffer do SchedulingRules correspondente do serviço.  | 
              
first | 
                
                   
 O primeiro horário (em segundos) em que esse espaço pode ser reservado. Esse carimbo de data/hora precisa ser anterior ao startSec do horário ou o lastBookableSec, se especificado.  | 
              
last | 
                
                   
 Se definido, o último horário (em segundos desde a época Unix) em que esse horário disponível específico pode ser cancelado pelo Reserve com o Google. Esse campo substitui todas as regras de cancelamento do nível de serviço. (opcional)  | 
              
ConfirmationMode
Os modos de confirmação usados ao agendar disponibilidades.
| Enumerações | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED | 
                O modo de confirmação não foi especificado. A confirmação síncrona será presumida. | 
CONFIRMATION_MODE_SYNCHRONOUS | 
                Os agendamentos para essa disponibilidade serão confirmados de forma síncrona. | 
CONFIRMATION_MODE_ASYNCHRONOUS | 
                Os agendamentos para essa disponibilidade serão confirmados de forma assíncrona. | 
LinkoutRequiredReason
O motivo de um slot ter uma experiência de linkout.
| Enums | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED | 
                Valor padrão: não usar, equivale a desconhecido. | 
PAYMENT_REQUIRED | 
                O slot exige pagamento na plataforma do parceiro para ser reservado. | 
Métodos | 
            |
|---|---|
                
 | 
              
                Substitui e retorna a Availability de um Service existente de um comerciante gerenciado pelo agregador especificado. |