REST Resource: inventory.partners.merchants.services

Recurso: serviço

Informações sobre um serviço fornecido pelo comerciante, por exemplo, corte de cabelo.

Representação JSON
{
  "name": string,
  "serviceName": string,
  "localizedServiceName": {
    object (Text)
  },
  "description": string,
  "localizedDescription": {
    object (Text)
  },
  "price": {
    object (Price)
  },
  "priceInterpretation": enum (PriceInterpretation),
  "rules": {
    object (SchedulingRules)
  },
  "prepaymentType": enum (PrepaymentType),
  "prepaymentTerms": {
    object (PrepaymentTerms)
  },
  "form": [
    {
      object (ServiceIntakeForm)
    }
  ],
  "intakeForm": {
    object (ServiceIntakeForm)
  },
  "perTicketIntakeForm": {
    object (ServiceIntakeForm)
  },
  "taxRate": {
    object (TaxRate)
  },
  "paymentOptionId": [
    string
  ],
  "deposit": {
    object (Deposit)
  },
  "noShowFee": {
    object (NoShowFee)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "actionLink": [
    {
      object (ActionLink)
    }
  ],
  "type": enum (ServiceType),
  "ticketType": [
    {
      object (TicketType)
    }
  ],
  "relatedMedia": [
    {
      object (RelatedMedia)
    }
  ],
  "serviceAttributeValueId": [
    {
      object (ServiceAttributeValueId)
    }
  ],
  "waitlistRules": {
    object (WaitlistRules)
  },
  "ticketingVerticalSpecificData": {
    object (TicketingVerticalSpecificData)
  },
  "integrationType": enum (IntegrationType),
  "perOrderFee": {
    object (PerOrderFee)
  },
  "toursAndActivitiesContent": {
    object (ToursAndActivitiesContent)
  },
  "location": [
    {
      object (Location)
    }
  ],
  "rating": {
    object (Rating)
  },
  "homeServiceData": {
    object (HomeServiceData)
  },
  "virtualSession": {
    object (VirtualSession)
  },
  "directMerchantPayment": {
    object (DirectMerchantPayment)
  }
}
Campos
name

string

O nome do recurso de serviço, no formato partners/{partner_id}/merchants/{merchantId}/services/{serviceId}.

serviceName

string

Nome do serviço, por exemplo, "corte de cabelo masculino". Obsoleto. Use localizedServiceName.

localizedServiceName

object (Text)

Nome do serviço, por exemplo, "corte de cabelo masculino". Possivelmente em várias localidades.

description

string

Descrição do serviço exibida ao usuário. Obsoleto. Use localizedDescription.

localizedDescription

object (Text)

Descrição do serviço exibida ao usuário.

Esse campo é compatível com formatação de texto simples e HTML. Ao contrário das seções de texto simples, é possível criar layouts personalizados aqui usando cabeçalhos, parágrafos, listas e algumas tags de frase. Leia atentamente as instruções e observações a seguir para garantir a melhor experiência do usuário.

Tags de formatação compatíveis com HTML:

Tags de cabeçalho: <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
As tags de cabeçalho podem ser usadas para exibir títulos e subtítulos. Por exemplo, {h1}Itinerário{/h1} exibirá o texto inline como o título mais importante da seção. Todas as tags, estilos ou atributos HTML internos serão ignorados. Por exemplo, {h1 style=".."} será tratado da mesma forma que {h1}. Somente texto bruto será preservado.

Tag de parágrafo: <p>
A tag de parágrafo pode ser usada para destacar uma introdução ou um conteúdo detalhado. Todas as tags, estilos ou atributos internos serão ignorados, com algumas exceções: <br>, <strong> e <em>. Consulte a seção de tag de frase abaixo para mais detalhes.

Tags de lista: <ul>, <ol>, <li>
A tag <ul> pode ser usada com <li> para exibir listas não ordenadas, e <ol> pode ser utilizada com <li> para mostrar listas ordenadas. Essa é uma boa maneira de apresentar listas de verificação, programações ou qualquer outra lista adequada aos seus casos de uso.
Exemplo: para mostrar uma lista de elementos de uma viagem de cruzeiro:
<ol>
<li>Uma vista maravilhosa para o mar e a chance de brincar com a vida selvagem.</li>
<li>Planos de viagem e serviços cuidadosamente projetados.</li>
<li>Preço mais baixo garantido.</li>
</ol>
Apenas <li> crianças menores de <ul> ou <ol> tags. Todas as outras filhas serão descartadas. Além disso, todas as tags, atributos e estilos internos serão ignorados. Preservamos apenas o conteúdo de texto puro.

Tag de divisão: <div>
Todas as tags internas compatíveis com a {div} serão analisadas com as regras mencionadas acima. Portanto, {div} não significa agrupamento ou recuo. Além disso, todos os atributos e estilos internos serão ignorados.

Tags de frase: <br>, <strong>, <em>:
Somente as três tags mencionadas acima são compatíveis. É possível usar <br> para quebra de linhas em parágrafos, e <strong>/<em> para destacar textos importantes. Todas as outras tags de frase serão ignoradas.

Tags não compatíveis:

  • As tags {html}, {header} e {body} não são permitidas.
  • Outras tags não mencionadas acima não são compatíveis (por exemplo, <table>, <td> ...).
    URLs, âncoras e links serão removidos e nunca serão exibidos aos usuários finais. Se você quiser usar fotos para criar uma melhor experiência do usuário, envie os URLs de fotos usando o campo "relatedMedia" abaixo.

Observações importantes:

  • Tente não usar outras tags, exceto as compatíveis mencionadas acima, porque o conteúdo das tags não aceitas será removido, o que causará uma experiência indesejada para o usuário.
  • Evite estruturas muito aninhadas, como mais de três níveis de cabeçalho diferentes ou listas aninhadas. Use uma estrutura simples e direta para criar uma melhor experiência do usuário.
  • Se os layouts compatíveis no momento não forem suficientes para seus casos de uso, entre em contato com a equipe do Reservar com o Google.
  • O tamanho máximo recomendado é de 32.000 caracteres.
price

object (Price)

Preço do serviço.

priceInterpretation

enum (PriceInterpretation)

Descreve como o preço é interpretado e exibido ao usuário. Pode ser usado por qualquer indústria, exceto restaurantes e coisas legais para fazer, a fim de configurar a exibição do preço do serviço.

rules

object (SchedulingRules)

Regras para reservar/cancelar um horário.

prepaymentType

enum (PrepaymentType)

Indica se um pré-pagamento é obrigatório, opcional ou não compatível.

prepaymentTerms

object (PrepaymentTerms)

Termos relacionados à conclusão do pré-pagamento.

form[]
(deprecated)

object (ServiceIntakeForm)

Obsoleto. Use intakeForm e perTicketIntakeForm.

intakeForm

object (ServiceIntakeForm)

Formulário que solicita informações adicionais do usuário quando ele reserva esse serviço. (opcional)

perTicketIntakeForm

object (ServiceIntakeForm)

Formulário que solicita informações adicionais do usuário quando ele reserva esse serviço. Precisa ser preenchido uma vez para cada ingresso reservado. (opcional)

taxRate

object (TaxRate)

Taxa de tributos do serviço. Se presente, este campo modifica o taxRate definido no nível do comerciante. Quando você deixa a mensagem vazia (por exemplo, taxRate { }), a taxa de tributos aplicada passa a ser zero.

paymentOptionId[]

string

Lista de códigos que fazem referência às opções de pagamento e podem ser usadas para pagar por esse serviç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.

deposit

object (Deposit)

Define como um depósito pode ser cobrado do usuário. Modifica o depósito de serviço, se especificado. Quando você deixa a mensagem de depósito vazia, todos os depósitos de nível de serviço são removidos. (opcional)

noShowFee

object (NoShowFee)

Define uma taxa de não comparecimento que pode ser cobrada do usuário. Modifica a taxa de não comparecimento do serviço, se especificada. Quando você deixa a mensagem NoShowFee vazia, todas as taxas de não comparecimento são removidas. (opcional)

requireCreditCard

enum (RequireCreditCard)

Indica se o usuário precisa inserir os dados de um cartão de crédito para reservar este serviço. Esse campo pode ser modificado no nível da disponibilidade. (opcional)

type

enum (ServiceType)

Tipo predefinido desse serviço. (opcional)

ticketType[]

object (TicketType)

Tipos de ingressos compatíveis que podem ser reservados/comprados para este serviço. (opcional)

relatedMedia[]

object (RelatedMedia)

Fotos relacionadas a este serviço. O Google rastreará e armazenará a mídia para garantir que elas sejam exibidas aos usuários finais da maneira mais eficiente. (opcional)

serviceAttributeValueId[]

object (ServiceAttributeValueId)

Valores de atributos que se aplicam a este serviço (opcional). Cada serviço pode ter zero ou mais valores para cada atributo definido no comerciante correspondente. (opcional)

waitlistRules

object (WaitlistRules)

Regras para entrar na lista de espera.

ticketingVerticalSpecificData

object (TicketingVerticalSpecificData)

Informações adicionais exclusivas da indústria de ingressos para eventos. (opcional)

integrationType

enum (IntegrationType)

Profundidade da integração que oferecemos para este serviço. (opcional) Não relevante para parceiros com integração inicial. O suporte completo não será ativado para esses parceiros.

perOrderFee

object (PerOrderFee)

Taxas no nível do pedido para a compra desse serviço. (opcional)

toursAndActivitiesContent

object (ToursAndActivitiesContent)

Campos de conteúdo específicos a tours e atividades.

location[]

object (Location)

Locais relacionados a esse serviço. OBSERVAÇÕES IMPORTANTES: se diversos locais relacionados a esse serviço tiverem sido visitados ou se START_LOCATION for diferente de VISITED_LOCATION, o START_LOCATION precisará ser especificado. Exemplo: em um tour guiado de bicicleta que visita três lugares, o ponto de início precisa ser definido. Em um tour de ônibus com ponto de encontro no saguão do hotel e que depois segue para o local visitado, é preciso especificar o lugar de encontro.

rating

object (Rating)

Avaliação de usuários para esse serviço como uma métrica agregada em todas as avaliações.

homeServiceData

object (HomeServiceData)

Informações adicionais exclusivas do setor de serviços domésticos. (opcional)

virtualSession

object (VirtualSession)

Opcional. Informações sobre a sessão virtual. Ele é necessário para ativar serviços virtuais.

directMerchantPayment

object (DirectMerchantPayment)

Opcional. Informações adicionais que precisarão ser adicionadas se o serviço exigir que o usuário pague diretamente ao comerciante. OBSERVAÇÃO IMPORTANTE: o RwG não está envolvido nesta transação. Ele será necessário se virtualSession estiver definido e o serviço não for sem custo financeiro ou prepaymentType NÃO estiver definido como REQUIRED.

PriceInterpretation

Descreve como um preço deve ser interpretado e exibido para o usuário.

Enums
PRICE_INTERPRETATION_UNSPECIFIED Quando a interpretação de preço não é especificada, o padrão é EXACT_AMOUNT.
EXACT_AMOUNT

Quando o preço deve ser interpretado como um valor específico.

Exemplos: US$ 20 para aulas de ioga; US$ 15 para cortes de cabelo infantil.

STARTS_AT

Quando o preço de um serviço é variável, mas um preço mínimo é conhecido e exibido aos consumidores. Os consumidores podem fazer escolhas que aumentam o preço.

Os serviços que usam essa priceInterpretation precisam utilizar o PrepaymentType NOT_SUPPORTED.

Exemplos: a tosa de cães custa US$ 30,00, mas opções adicionais podem aumentar o preço.

NOT_DISPLAYED

Quando o preço de um serviço é variável. Portanto, nenhuma informação de preço é exibida de antemão aos consumidores.

Os serviços que usam essa priceInterpretation precisam utilizar PrepaymentType NOT_SUPPORTED, e o preço deve ficar em branco.

Exemplos: uma consultoria para um serviço doméstico.

SchedulingRules

Regras de agendamento de um serviço.

Representação JSON
{
  "minAdvanceOnlineCanceling": string,
  "lateCancellationFee": {
    object (Price)
  },
  "noshowFee": {
    object (Price)
  },
  "admissionPolicy": enum (AdmissionPolicy),
  "cancellationPolicy": {
    object (CancellationPolicy)
  },

  // Union field min_booking_buffer can be only one of the following:
  "minAdvanceBooking": string,
  "minBookingBufferBeforeEndTime": string
  // End of list of possible types for union field min_booking_buffer.
}
Campos
minAdvanceOnlineCanceling

string (int64 format)

Aviso com antecedência mínima em segundos necessária para cancelar um agendamento on-line. (opcional)

lateCancellationFee
(deprecated)

object (Price)

Taxa para cancelamento feito dentro do período de aviso com antecedência mínima.

noshowFee
(deprecated)

object (Price)

Taxa de não comparecimento quando o cliente não cancelou a reserva.

admissionPolicy

enum (AdmissionPolicy)

Política de admissão aplicada a este serviço. Se esse campo não for definido, o padrão será TIME_STRICT. (opcional)

cancellationPolicy

object (CancellationPolicy)

Política de cancelamento das regras de agendamento. (obrigatório para parceiros da indústria de "Coisas legais para fazer")

Campo de união min_booking_buffer. Duração (em segundos) entre a última reserva e o horário de início ou término da disponibilidade.

Se "min_advance_booking" estiver definido, o horário da última reserva será calculado como (<slot start time> - "min_advance_booking"). Se você preencher o "min_booking_buffer_before_end_time", o horário da última reserva será calculado como (<slot start time> - "min_advance_booking"). O valor de "min_booking_buffer_before_end_time" precisa ser positivo caso tenha sido especificado. Se nenhum dos dois forem definidos, será possível fazer um agendamento até o horário exato do início do evento. Se ambos os campos forem definidos, apenas um valor será escolhido, enquanto o outro valor será ignorado. Não é possível prever com precisão qual valor é escolhido.

Exemplos:

  • Um corte de cabelo que precisa ser agendado pelo menos uma hora antes do horário de início: 'scheduling_rules{ min_advance_booking: 3600 ...}`

  • Um museu em que o último ingresso pode ser comprado 30 minutos antes do fechamento: 'scheduling_rules{ min_booking_buffer_before_end_time: 1800 ...}'

  • Um ingresso de cinema que precisa ser comprado antes do horário de início da sessão: 'scheduling_rules{ ...}' (deixe esse campo em branco) (opcional). min_booking_buffer só pode ser um dos seguintes valores:

minAdvanceBooking

string (int64 format)

Duração (em segundos) entre a última reserva e o horário de início da disponibilidade.

minBookingBufferBeforeEndTime

string (int64 format)

Duração (em segundos) entre a última reserva e o horário de término da disponibilidade. Se este campo estiver preenchido, "admissionPolicy" precisará ser definido como TIME_FLEXIBLE para indicar que os usuários podem usar os ingressos comprados após o início do horário.

AdmissionPolicy

Política de admissão deste serviço.

Enums
ADMISSION_POLICY_UNSPECIFIED Não utilizado.
TIME_STRICT Os clientes precisam estar presentes no início do horário disponível, e o serviço é encerrado no horário de término dela. Exemplos de casos de uso de TIME_STRICT: * Um tour que começa às 9h e requer que todos os participantes cheguem no horário de início, e termina por volta das 12h. * Um agendamento de corte de cabelo às 15h no sábado que levará cerca de 30 minutos. * Uma aula de ginástica das 18h às 20h.
TIME_FLEXIBLE

Os clientes podem chegar a qualquer momento entre o início e o término do horário disponível para usar essa reserva.

Exemplos de casos de uso de TIME_FLEXIBLE: * Um ingresso de museu que pode ser usado a qualquer momento na data da compra. * Um ingresso para um parque de diversões que pode ser utilizado das 12h às 21h.

TIMED_ENTRY_WITH_FLEXIBLE_DURATION

Os clientes precisam estar no local do comerciante no início do horário disponível, mas podem sair a qualquer momento.

Por exemplo, no caso de um museu, um ingresso com hora marcada para as 10h exige que o usuário esteja no local nesse horário. O horário de início da disponibilidade deste serviço representa o horário de entrada designado. No entanto, o horário de término é usado apenas para identificar o horário da reserva.

CancellationPolicy

Política de cancelamento de um serviço.

Representação JSON
{
  "refundCondition": [
    {
      object (RefundCondition)
    }
  ]
}
Campos
refundCondition[]

object (RefundCondition)

Zero ou mais condições de reembolso aplicáveis à política.

RefundCondition

Define uma única condição de reembolso. É possível usar várias condições juntas para criar etapas de reembolso relativas a períodos que antecedem o horário de início do serviço.

Representação JSON
{
  "minDurationBeforeStartTime": string,
  "refundPercent": integer
}
Campos
minDurationBeforeStartTime

string (Duration format)

Limite antes do horário de início que o cliente pode solicitar o reembolso de parte do custo especificado em refundPercent. Quando esse campo é definido como 0 (padrão), o serviço pode ser cancelado a qualquer momento.

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

refundPercent

integer (uint32 format)

Porcentagem que pode ser reembolsada, desde que a reserva seja cancelada pelo menos minDurationBeforeStartTime antes do horário de início do serviço, no intervalo de [0, 100]. Quando esse campo é definido como 0 (padrão), o serviço não é reembolsável. Já o valor 100 indica que o valor integral pode ser reembolsado.

PrepaymentType

Enumeração para indicar o tipo de pré-pagamento.

Enums
PREPAYMENT_TYPE_UNSPECIFIED Por padrão, supomos que o pré-pagamento é NOT_SUPPORTED.
REQUIRED O usuário precisa pagar esse serviço no momento da reserva.
OPTIONAL O usuário pode pagar durante o agendamento ou depois, mas o pré-pagamento não é uma condição para concluir a reserva.
NOT_SUPPORTED Esse serviço não oferece pré-pagamento.

PrepaymentTerms

Informações específicas sobre quando o pré-pagamento é concluído.

Representação JSON
{
  "chargeTiming": enum (ChargeTiming),
  "chargeTimeBeforeStartTimeSec": string
}
Campos
chargeTiming

enum (ChargeTiming)

Quando a cobrança ocorrerá em relação ao tempo de compra.

chargeTimeBeforeStartTimeSec

string (int64 format)

Tempo em segundos antes do horário de início do serviço em que o usuário é cobrado pelo pagamento. Este campo só deve ser definido quando ChargeTiming for CHARGE_LATER.

ChargeTiming

Enumeração para especificar quando a cobrança ocorrerá em relação ao horário da compra.

Enums
CHARGE_TIMING_UNSPECIFIED Não utilizado.
CHARGE_NOW O cliente vai ser cobrado imediatamente.
CHARGE_LATER O cliente será cobrado mais tarde.

ServiceIntakeForm

Define um formulário de entrada que personaliza o serviço de um comerciante.

Representação JSON
{
  "field": [
    {
      object (ServiceIntakeFormField)
    }
  ],
  "firstTimeCustomers": boolean,
  "returningCustomers": boolean
}
Campos
field[]

object (ServiceIntakeFormField)

Campos que serão exibidos ao usuário.

firstTimeCustomers
(deprecated)

boolean

Se esse valor for verdadeiro, o formulário será exibido para clientes novos. Obsoleto. Essa funcionalidade não é compatível com formulários de entrada.

returningCustomers
(deprecated)

boolean

Se esse valor for verdadeiro, o formulário será exibido para clientes recorrentes. Obsoleto. Essa funcionalidade não é compatível com formulários de entrada.

ServiceIntakeFormField

Define um campo de um ServiceIntakeForm.

Representação JSON
{
  "id": string,
  "type": enum (FieldType),
  "label": string,
  "localizedLabel": {
    object (Text)
  },
  "value": [
    string
  ],
  "choiceText": [
    {
      object (Text)
    }
  ],
  "isRequired": boolean,
  "allowCustomAnswer": boolean,
  "additionalOption": [
    {
      object (Text)
    }
  ],
  "ticketTypeRestrict": [
    string
  ],
  "hint": {
    object (Text)
  }
}
Campos
id

string

String de um parceiro agregador que identifica o campo de um formulário. Esse código precisa ser igual àquele na resposta do campo de formulário correspondente e ser exclusivo nos formulários de entrada de ingresso e nível de serviço. (obrigatório)

type

enum (FieldType)

O tipo desse campo.

label

string

Texto deste campo mostrado ao usuário. Obsoleto. Use localizedLabel.

localizedLabel

object (Text)

Texto deste campo mostrado ao usuário. O campo pode ser exibido para usuários de várias localidades. (obrigatório)

value[]

string

Defina somente se o tipo de campo for LOCATION_SEARCH. Use o "locationId" no campo "location" para especificar o valor do local.

choiceText[]

object (Text)

Defina se, e somente se, o tipo de campo for MULTIPLE_CHOICE, CHECKBOXES ou DROPDOWN. Usado para enumerar as possíveis escolhas.

isRequired

boolean

Indica se um usuário precisa responder a este campo.

allowCustomAnswer

boolean

Indica se um valor personalizado é permitido além das respostas predefinidas. Isso só é aplicável quando o tipo de campo é LOCATION_SEARCH. (opcional)

additionalOption[]

object (Text)

São fornecidas outras opções além dos valores fornecidos. Aplicável apenas quando o tipo de campo é LOCATION_SEARCH. Por exemplo, além da lista de locais fornecida, outra opção disponível é "Entrarei em contato com o fornecedor mais tarde". (opcional)

ticketTypeRestrict[]

string

Se essa pergunta for exibida apenas quando o usuário reservar determinados tipos de ingresso, defina esse campo como o conjunto de códigos dos tipos de ingresso aplicáveis. Deixe-o vazio se a pergunta for mostrada todas as vezes.

hint

object (Text)

O texto de dica para entrada, que aparece como um marcador de posição de texto. Isso só é aplicável quando o tipo de campo é SHORT_ANSWER ou PARAGRAPH. (opcional)

FieldType

Enumeração para indicar o tipo de campo.

Enums
FIELD_TYPE_UNSPECIFIED Os campos de tipo não especificado ou desconhecido serão ignorados.
SHORT_ANSWER Campo de texto de entrada de uma linha.
PARAGRAPH Campo de texto de entrada de várias linhas.
MULTIPLE_CHOICE Conjunto de botões de opção que requer a escolha de uma opção entre várias.
CHECKBOXES Um ou mais itens enumerados com caixas de seleção.
DROPDOWN Seleção em uma lista suspensa.
BOOLEAN Botão sim/não.

ServiceType

Tipos de serviço predefinidos.

Enums
SERVICE_TYPE_UNSPECIFIED Não utilizado.
SERVICE_TYPE_DINING_RESERVATION Reserva para refeições.
SERVICE_TYPE_FOOD_ORDERING Pedido de comida, pode ser entrega ou para viagem, ou ambos.
SERVICE_TYPE_FOOD_DELIVERY Entrega de comida.
SERVICE_TYPE_FOOD_TAKEOUT Comida para viagem.
SERVICE_TYPE_EVENT_TICKET Ingressos de eventos.
SERVICE_TYPE_TRIP_TOUR Tours de passeios.
SERVICE_TYPE_APPOINTMENT Serviço com opção de agendamentos ou aulas. Recomendado para (1) saúde e condicionamento físico, (2) spa e beleza, e (3) serviços de consultoria e avaliação financeira. Consulte os tipos compatíveis em https://developers.google.com/maps-booking/guides/end-to-end-integration/overview
SERVICE_TYPE_ONLINE_APPOINTMENT Serviço que oferece agendamento on-line para uma aula ou sessão totalmente virtual. Precisa ser definido ao ativar agendamentos de serviços virtuais.
SERVICE_TYPE_SHOPPING Serviço que permite que os usuários comprem do comerciante em questão. Pode ser entrega ou retirada.

TicketType

O TicketType é usado para diferenciar tíquetes com preços e/ou disponibilidades variados devido a diferentes tipos de usuário, atributos de serviço ou opções/complementos.

Um ingresso é a unidade mínima reservável para um serviço, por exemplo, um lugar em um passeio de rafting, uma entrada para um museu, um aluguel de caiaque duplo.

Representação JSON
{
  "ticketTypeId": string,
  "shortDescription": string,
  "localizedShortDescription": {
    object (Text)
  },
  "price": {
    object (Price)
  },
  "perTicketFee": {
    object (PerTicketFee)
  },
  "optionDescription": string,
  "localizedOptionDescription": {
    object (Text)
  }
}
Campos
ticketTypeId

string

O ID do tíquete é usado para diferenciar os diferentes tipos de ingresso do mesmo serviço e só precisa ser exclusivo.

shortDescription

string

Breve descrição desse TicketType.

Pode ser visível para o usuário, por exemplo, "adulto", "crianças", "veterano", "linha J" etc. Cada tipo de ingresso deve ter uma descrição a ser exibida ao usuário. Obsoleto. Use localizedShortDescription.

localizedShortDescription

object (Text)

Breve descrição desse ingresso compatível com i18n.

Pode ser visível para o usuário, por exemplo, "adulto", "crianças", "veterano", "linha J" etc. Cada tipo de ingresso deve ter uma descrição a ser exibida ao usuário. É possível especificar valores separados para cada localidade.

price

object (Price)

Preço de um único ingresso desse tipo, sem tributos. A taxa de tributos do serviço é aplicada aos ingressos.

perTicketFee

object (PerTicketFee)

Taxas adicionais aplicadas à compra deste ingresso. (opcional)

optionDescription

string

Descrição de opções adicionais para esse tipo de ingresso, se houver. Obsoleto. Use localizedOptionDescription.

localizedOptionDescription

object (Text)

Descrição de opções adicionais para esse tipo de ingresso, se houver. É possível especificar valores separados para cada localidade.

Opções adicionais são úteis quando o tipo de ingresso representa várias dimensões.

Exemplo 1: para um ingresso de admissão com diferentes tipos, como "adulto" ou "criança", e cujo idioma é uma opção adicional, a lista de TicketType seria: - { ticketTypeId: "ticket_type_1" localizedShortDescription { value: "adult" } localizedOptionDescription { value: "english" } } - { ticketTypeId: "ticket_type_2" localizedShortDescription { value: "adult" } localizedOptionDescription { value: "spanish" } } - { ticketTypeId: "ticket_type_3" localizedShortDescription { value: "child" } localizedOptionDescription { value: "english" } } - { ticketTypeId: "ticket_type_4" localizedShortDescription { value: "child" } localizedOptionDescription { value: "spanish" } }

Exemplo 2: para um aluguel de caiaque de várias horas com complemento opcional de bolsa impermeável, a shortDescription poderia ser "3 horas", e a optionDescription, "com bolsa impermeável" ou "sem bolsa impermeável": - { ticketTypeId: "ticket_type_1" localizedShortDescription { value: "2 hours" } localizedOptionDescription { value: "english" } } - { ticketTypeId: "ticket_type_2" localizedShortDescription { value: "2 hours" } localizedOptionDescription { value: "spanish" } } - { ticketTypeId: "ticket_type_3" localizedShortDescription { value: "3 hours" } localizedOptionDescription { value: "english" } } - { ticketTypeId: "ticket_type_4" localizedShortDescription { value: "3 hours" } localizedOptionDescription { value: "spanish" } }

É opcional, mas, se qualquer tipo de ingresso no serviço tiver esse campo definido, você precisará incluir esse valor para todos os outros tipos. É possível usar uma optionDescription padrão. Por exemplo, [{ticket_type_1, adult, english}, {ticket_type_1, adult, ''}] não é uma lista válida.

Apenas duas tags de formatação HTML são compatíveis: e
. Elas devem ser usadas para especificar opções com um título e uma descrição detalhada, por exemplo: "Assentos premium
Essa opção oferece assentos almofadados em áreas privativas, incluindo TVs privadas e serviço de entrega de comida e bebida no banco, além de vistas privilegiadas do campo."

PerTicketFee

Taxas a serem pagas para cada ingresso comprado pelo usuário.

Representação JSON
{
  "serviceCharge": {
    object (Price)
  },
  "facilityFee": {
    object (Price)
  },
  "taxes": {
    object (Price)
  }
}
Campos
serviceCharge

object (Price)

Taxa extra avaliada por um serviço.

facilityFee

object (Price)

Taxa que é cobrada no local/instalação.

taxes

object (Price)

Tributos por ingresso.

RelatedMedia

Fotos relacionadas a este serviço. O Google rastreará essas mídias para garantir que elas sejam exibidas corretamente aos usuários finais. (opcional)

Representação JSON
{
  "url": string,
  "type": enum (MediaType),
  "localizedCaption": {
    object (Text)
  },
  "attribution": {
    object (Attribution)
  },
  "caption": string
}
Campos
url

string

URL desta fonte de mídia. O Google rastreará a mídia hospedada nesse URL.

type

enum (MediaType)

Tipo dessa fonte de mídia.

localizedCaption

object (Text)

Legenda da mídia compatível com i18n. Apenas texto simples é aceito. Todos os componentes HTML serão removidos. (opcional)

attribution

object (Attribution)

Informações de atribuição sobre a fonte da mídia. Defina esse campo se for necessário dar crédito ao fotógrafo ou à agência. (opcional)

caption
(deprecated)

string

Obsoleto. Use localizedCaption.

MediaType

Enumeração para indicar o tipo dessa fonte de mídia. Somente fotos são aceitas. Entre em contato com a equipe do Reservar com o Google se precisar de suporte para outras mídias.

Enums
TYPE_UNSPECIFIED Não utilizado.
PHOTO Indica que a mídia fornecida pelo URL é uma foto.

Atribuição

Informações de atribuição para esta mídia.

Representação JSON
{
  "localizedText": {
    object (Text)
  },
  "text": string
}
Campos
localizedText

object (Text)

Texto de crédito ao fotógrafo ou à agência compatível com i18n. Será exibido junto com a mídia de origem. Esse campo só aceita texto simples. Todos os componentes HTML serão removidos (a atribuição com base em hiperlinks não é compatível).

text
(deprecated)

string

Obsoleto. Use localizedText.

ServiceAttributeValueId

Identifica um valor específico do atributo a ser aplicado a um serviço.

Representação JSON
{
  "attributeId": string,
  "valueId": string
}
Campos
attributeId

string

ID de um atributo, conforme definido em Merchant.service_attribute, por exemplo, "service-type".

valueId

string

Código do valor desse atributo, por exemplo, "corte de cabelo". Precisa corresponder a um valueId na definição do atributo do serviço.

WaitlistRules

Regras para entrada na lista de espera.

Representação JSON
{
  "minPartySize": integer,
  "maxPartySize": integer,
  "supportsAdditionalRequest": boolean,
  "aboveMaxPartySizeOptions": [
    {
      object (UnsupportedPartySizeOption)
    }
  ]
}
Campos
minPartySize

integer

Obrigatório. Precisa ser um número inteiro positivo para serviços que têm lista de espera. Se o serviço ou o comerciante não tiver uma lista de espera, esse valor não poderá ser preenchido.

maxPartySize

integer

Obrigatório. Precisa ser um número inteiro positivo para serviços que têm lista de espera. Se o serviço ou o comerciante não tiver uma lista de espera, esse valor não poderá ser preenchido.

supportsAdditionalRequest

boolean

Se o valor for verdadeiro, o usuário poderá enviar uma solicitação de texto adicional em formato livre ao entrar na lista de espera desse serviço.

aboveMaxPartySizeOptions[]

object (UnsupportedPartySizeOption)

Defina as opções para grupos maiores que o maxPartySize definido. Deixe em branco se grupos maiores não puderem oferecer opções alternativas para entrar em uma lista de espera.

UnsupportedPartySizeOption

Opções para grupos que estão fora da faixa.

Representação JSON
{
  "callMerchant": {
    object (CallMerchant)
  }
}
Campos
callMerchant

object (CallMerchant)

As pessoas do grupo que estão fora do alcance podem ligar para a empresa. Uma mensagem predefinida será exibida para o usuário. Exemplo de texto a ser exibido: "Para festas com mais de {waitlistRules.max_party_size}, ligue para o restaurante no número {phone}." O CallMerchant precisa ser definido, mas estará vazio.

CallMerchant

Mensagem vazia a ser usada em SupportedPartySizeOption. Ao definir isso, vai aparecer uma opção para os usuários ligarem para a empresa e fazerem um agendamento.

TicketingVerticalSpecificData

Informações adicionais exclusivas da indústria de ingressos para eventos.

Representação JSON
{
  "eventCategory": enum (EventCategory),
  "eventUrl": string,
  "entity": [
    {
      object (Entity)
    }
  ],
  "eventAttendanceMode": enum (AttendanceMode),
  "eventVirtualLocationUrl": [
    string
  ],
  "eventOrganizer": {
    object (Text)
  },
  "eventOrganizerUrl": string,
  "eventOrganizerType": enum (OrganizerType),
  "eventSourceUrl": [
    string
  ],
  "eventState": enum (EventState)
}
Campos
eventCategory

enum (EventCategory)

Categoria do evento. Definido somente quando o evento se encaixa em uma das categorias predefinidas. (opcional)

eventUrl

string

URL do evento no site do parceiro. (opcional)

entity[]

object (Entity)

Lista de entidades relacionadas ao evento. (opcional)

eventAttendanceMode

enum (AttendanceMode)

Obrigatório. O tipo de participação no evento.

eventVirtualLocationUrl[]

string

Opcional. URL em que o evento pode ser assistido.

eventOrganizer

object (Text)

Opcional. Organizador que organiza o evento.

eventOrganizerUrl

string

Opcional. URL do organizador que organiza o evento.

eventOrganizerType

enum (OrganizerType)

Opcional. O tipo de organizador.

eventSourceUrl[]

string

Obrigatório. URL das páginas em que as informações ou descrições do evento podem ser encontradas.

eventState

enum (EventState)

Opcional. Estado do evento.

EventCategory

Subconjunto de categorias de evento usadas para personalizar a experiência do produto. Observação: não é uma ontologia universal de eventos.

Enums
EVENT_CATEGORY_UNSPECIFIED Não especificado. Não use.
EVENT_CATEGORY_CONCERT Shows.
EVENT_CATEGORY_SPORTS Eventos esportivos.
EVENT_CATEGORY_THEATRE Teatro.
EVENT_CATEGORY_EXHIBITS Exposições.
EVENT_CATEGORY_WORKSHOPS_AND_CLASSES Workshops e aulas.

Entidade

Representa uma entidade relacionada ao evento.

Representação JSON
{
  "id": string,
  "name": string,
  "url": string,
  "entityType": enum (EntityType),
  "entityRole": enum (EntityRole),
  "publicIdentificationData": {
    object (PublicIdentificationData)
  }
}
Campos
id

string

Identificador exclusivo da entidade no banco de dados do parceiro. (opcional)

name

string

Nome da entidade. (obrigatório)

url

string

URL da página da Web que descreve claramente a entidade. É a página da Web referente à entidade no site do parceiro, se houver. Para outros URLs públicos da entidade, use relevantUrl em publicIdentificationData. (opcional)

entityType

enum (EntityType)

Tipo de entidade. (opcional)

entityRole

enum (EntityRole)

Papel da entidade no evento. (opcional)

publicIdentificationData

object (PublicIdentificationData)

Referências públicas da entidade. (opcional)

EntityType

Tipo de entidade. Observação: não é uma ontologia universal.

Enums
ENTITY_TYPE_UNSPECIFIED Não especificado. Não use.
ENTITY_TYPE_PERFORMER A entidade representa o artista ou grupo que se apresenta em um concerto ou show. Aplicável somente quando a categoria do evento é CONCERT ou THEATRE.
ENTITY_TYPE_PLAYER A entidade representa a equipe esportiva ou o jogador no evento. Aplicável somente quando a categoria do evento é SPORTS.
ENTITY_TYPE_CONCERT_TOUR A entidade representa o tour a que este evento pertence. Aplicável somente quando a categoria do evento é CONCERT.
ENTITY_TYPE_SPORTS_SERIES A entidade representa um evento esportivo a que este evento pertence. Aplicável somente quando a categoria do evento é SPORTS.
ENTITY_TYPE_PLAY A entidade representa o tipo de peça (por exemplo, musical, comédia, balé etc.) do evento. Aplicável somente quando a categoria do evento é THEATER.

EntityRole

Papel da entidade no evento.

Enums
ENTITY_ROLE_UNSPECIFIED Não especificado.
ENTITY_ROLE_HEADLINER A entidade representa a estrela ou o artista principal no evento.
ENTITY_ROLE_SUPPORTER A entidade representa um artista secundário no evento.
ENTITY_ROLE_HOME_TEAM A entidade representa a equipe da casa em um evento esportivo.
ENTITY_ROLE_AWAY_TEAM A entidade representa a equipe visitante em um evento esportivo.

PublicIdentificationData

Identificadores, páginas da Web ou qualquer outra fonte pública que faça referência a uma entidade.

Representação JSON
{
  "relevantUrl": [
    string
  ],
  "musicbrainzId": string
}
Campos
relevantUrl[]

string

URL público de qualquer página da Web dedicada apenas ao tópico. Pode incluir sites oficiais, discografias, plataformas de mídia social, wikipedia ou páginas imdb, por exemplo, https://www.discogs.com/artist/1124645-Taylor-Swift, https://www.wikidata.org/wiki/Q19320959, https://twitter.com/acmilan. (opcional)

musicbrainzId

string

Identificador musicbrainz de 36 caracteres do artista ou de outras entidades musicais, se aplicável. Consulte https://musicbrainz.org/doc/MusicBrainz_Identifier. (opcional)

AttendanceMode

O tipo de participação no evento.

Enums
ATTENDANCE_MODE_UNSPECIFIED Não especificado.
ONLINE Para eventos virtuais.
PHYSICAL Para eventos físicos.
PHYSICAL_ONLINE_MIXED Para eventos físicos e virtuais.

OrganizerType

O tipo de organizador.

Enums
ORGANIZER_TYPE_UNSPECIFIED Não especificado.
PERSON Para o organizador que é uma pessoa.
ORGANIZATION Para o organizador que é uma organização.

EventState

Estado do evento.

Enums
EVENT_STATE_UNSPECIFIED Não especificado.
SCHEDULED O evento está programado.
RESCHEDULED O evento foi remarcado.
CANCELLED O evento foi cancelado.
POSTPONED O evento foi adiado.

IntegrationType

Nível de integração suportada.

Enums
INTEGRATION_TYPE_UNSPECIFIED O padrão é END_TO_END.
INTEGRATION_TYPE_END_TO_END Integração ampla que permite reserva completa por meio do Google.
INTEGRATION_TYPE_INVENTORY_ONLY O servidor de reserva não precisa oferecer esse serviço. Somente dados de comerciantes e serviços precisam ser enviados. Os dados de disponibilidade são opcionais.

PerOrderFee

Taxas a serem pagas uma vez por pedido, independentemente do número de ingressos.

Representação JSON
{
  "deliveryFee": {
    object (Price)
  },
  "processingFee": {
    object (Price)
  }
}
Campos
deliveryFee

object (Price)

Uma taxa que pode variar de acordo com o método de entrega.

processingFee

object (Price)

Uma taxa para processar a forma de pagamento do usuário.

ToursAndActivitiesContent

Campos de conteúdo específicos a tours e atividades. Cada elemento no campo repetido precisa ser independente para permitir a renderização separada (por exemplo, como um marcador).

Recomenda-se preencher ToursAndActivitiesContent para tours e atividades, mas ele não é obrigatório. Todos os campos aceitam formatação básica de texto simples e HTML. Tags de formatação compatíveis com HTML:

Tags de frase:
, , , : somente as três tags mencionadas acima são aceitas.
pode ser usado para quebra de linhas em parágrafos, e // para destacar um texto importante. Todas as outras tags de frase serão ignoradas.

Todas as outras tags e estilos personalizados serão removidos. Todos os URLs, âncoras e links serão removidos e, portanto, não serão exibidos aos usuários finais.

Observações importantes: * Não duplique dados já inseridos em highlights, exclusion e em outros campos mais específicos na descrição do serviço. * Evite usar outras tags, exceto aquelas aceitas citadas acima, porque o conteúdo de tags não compatíveis será removido, e isso resultará em uma experiência indesejada para o usuário.

Representação JSON
{
  "highlights": [
    {
      object (Text)
    }
  ],
  "inclusions": [
    {
      object (Text)
    }
  ],
  "exclusions": [
    {
      object (Text)
    }
  ],
  "mustKnow": [
    {
      object (Text)
    }
  ]
}
Campos
highlights[]

object (Text)

Lista de destaques visíveis ao usuário.

inclusions[]

object (Text)

Lista de inclusões visíveis ao usuário.

exclusions[]

object (Text)

Lista de exclusões visíveis ao usuário.

mustKnow[]

object (Text)

Lista de observações importantes visíveis ao usuário. Use para detalhes como restrições de idade ou outras condições que tornam este serviço inadequado.

Local

Informações geográficas sobre um local.

Representação JSON
{
  "placeId": string,
  "name": string,
  "telephone": string,
  "url": string,
  "geo": {
    object (GeoCoordinates)
  },
  "locationType": enum (LocationType),
  "locationId": string
}
Campos
placeId

string

O código de um lugar no banco de dados do Google Places e no Maps. Consulte https://developers.google.com/places/web-service/place-id para saber mais sobre IDs de lugar. Se esse valor for incluído, o Google corresponderá o local ao lugar relevante.

name

string

Nome, telefone, URL e localização geográfica do local são usados para correspondê-lo com lugares no Google Maps.

Este campo é opcional, mas pode ser necessário em alguns contextos. Por exemplo, um Service.location sem um nome não corresponde a uma entidade comercial, mesmo que eles estejam localizados no mesmo endereço. (opcional)

telephone

string

Número de telefone público do local, incluindo os códigos de país e de área, por exemplo, +14567891234. (opcional)

url

string

URL do site público do local. (opcional)

geo

object (GeoCoordinates)

Informações geográficas do local, incluindo latitude, longitude e endereço. (opcional)

locationType

enum (LocationType)

O tipo do local, que precisa ser fornecido se ele for fornecido para um serviço.

locationId

string

Referência exclusiva do local no serviço. Esse código pode ser usado para se referir ao lugar em outros campos. Por exemplo, no formulário de entrada personalizado, um conjunto de códigos de local pode ser usado para especificar as opções de local de retirada. Se esse campo for definido, o código precisará ser exclusivo em um serviço. (opcional)

LocationType

Tipo deste local.

Enums
LOCATION_TYPE_UNSPECIFIED Tipo de local não especificado.
VISITED_LOCATION Local visitado durante esse serviço.
START_LOCATION Local de início do serviço. Também pode ser usado como MEETING_LOCATION.
END_LOCATION Local de término do serviço.

Rating

Define a classificação de uma entidade.

Representação JSON
{
  "value": number,
  "numberOfRatings": string
}
Campos
value

number

Valor da classificação média (obrigatório quando numberOfRatings for maior que 0). O valor precisa estar no intervalo de [1, 5] e só poderá ser omitido se numberOfRatings for zero.

numberOfRatings

string

Número de classificações usadas no cálculo do valor (obrigatório).

HomeServiceData

É necessário fornecer outras informações sobre o setor de serviços domésticos.

Representação JSON
{
  "categoryType": string,
  "jobType": string
}
Campos
categoryType

string

A categoria de nível geral a que o serviço doméstico pertence. Por exemplo, encanador, eletricista etc.

jobType

string

O tipo de trabalho na categoria a que o serviço residencial pertence. Por exemplo, unclog_drain, install_faucet são os tipos de trabalho na categoria de encanador.

VirtualSession

Informações sobre a sessão virtual/on-line. Por exemplo, aula de ioga on-line, aula virtual de culinária etc.

Representação JSON
{
  "sessionInstructions": {
    object (Text)
  },
  "sessionRequirements": {
    object (Text)
  },
  "virtualPlatformInfo": {
    object (VirtualPlatformInfo)
  },
  "isSessionPrerecorded": boolean
}
Campos
sessionInstructions

object (Text)

Instruções sobre como esta aula virtual é configurada. Se o parceiro não incluir o URL do vídeo na reserva, esse texto precisará incluir quando o URL do vídeo será compartilhado com o usuário. Por exemplo: “O URL com zoom será enviado por e-mail 30 minutos antes da aula”. (Recomendado)

sessionRequirements

object (Text)

Requisitos para a sessão virtual especificada. Por exemplo, tapete de ioga, utensílios de cozinha etc. (recomendado)

virtualPlatformInfo

object (VirtualPlatformInfo)

Informações sobre a plataforma virtual usada nesta sessão. (Obrigatório para ativar serviços virtuais)

isSessionPrerecorded

boolean

Obrigatório. Defina como "true" se a sessão virtual não estiver ao vivo e for pré-gravada.

VirtualPlatformInfo

Informações sobre a plataforma que será usada na sessão virtual.

Representação JSON
{
  "platform": enum (Platform),
  "otherPlatformName": {
    object (Text)
  }
}
Campos
platform

enum (Platform)

Plataforma usada para a sessão virtual.

otherPlatformName

object (Text)

O nome da plataforma se ela estiver definida como OTHER. (Obrigatório se a plataforma estiver definida como OTHER)

Plataforma

Enumeração para indicar qual plataforma virtual seria usada pelo comerciante.

Enums
PLATFORM_UNSPECIFIED Não utilizado.
FLEXIBLE O comerciante é flexível em qual plataforma de vídeo usa.
GOOGLE_HANGOUTS produto Hangouts do Google.
GOOGLE_MEET produto Google Meet.
ZOOM Zoom Video Communications.
SKYPE Skype
YOUTUBE Transmissão ao vivo no YouTube.
OTHER Deve ser definido se a plataforma de vídeo usada for diferente das mencionadas aqui.

DirectMerchantPayment

Informações sobre como o usuário pode pagar diretamente ao comerciante em vez de pagar antecipadamente pelo serviço pelo RwG.

Representação JSON
{
  "paymentMethods": [
    {
      object (Text)
    }
  ]
}
Campos
paymentMethods[]

object (Text)

Recomendamos que os usuários paguem somente usando as formas de pagamento mencionadas abaixo.

Métodos

create

Cria e retorna um novo Service de um comerciante gerenciado pelo agregador especificado.

delete

Exclui um Service existente de um comerciante gerenciado pelo agregador especificado.

patch

Atualiza e retorna um Service de um comerciante gerenciado pelo agregador especificado.