- Resource: Service
- PriceInterpretation
- SchedulingRules
- AdmissionPolicy
- CancellationPolicy
- RefundCondition
- PrepaymentType
- PrepaymentTerms
- ChargeTiming
- ServiceIntakeForm
- ServiceIntakeFormField
- FieldType
- ServiceType
- TicketType
- PerTicketFee
- PriceDisplayType
- InventoryType
- RelatedMedia
- MediaType
- Attribution
- ServiceAttributeValueId
- WaitlistRules
- UnsupportedPartySizeOption
- CallMerchant
- TicketingVerticalSpecificData
- EventCategory
- Entity
- EntityType
- EntityRole
- PublicIdentificationData
- AttendanceMode
- OrganizerType
- EventState
- EventCreator
- IntegrationType
- PerOrderFee
- ToursAndActivitiesContent
- Location
- LocationType
- Rating
- HomeServiceData
- VirtualSession
- VirtualPlatformInfo
- Platform
- DirectMerchantPayment
- UriTemplate
- Methods
Resource: Service
Info about a service that is provided by the merchant, e.g. haircut.
JSON representation |
---|
{ "name": string, "serviceName": string, "localizedServiceName": { object ( |
Fields | |
---|---|
name |
The service resource name, which has the format of |
service |
The name of the service, e.g. "Men's haircut". Deprecated, use localizedServiceName instead. |
localized |
The name of the service, e.g. "Men's haircut". Possibly in several locales. |
description |
The user-visible description of the service. Deprecated, use localizedDescription instead. |
localized |
The user-visible description of the service. This field supports both plain-text and HTML-like formatting. Unlike plain text sections, customized layouts can be created here using headings, paragraphs, lists and some phrase tags. Please read the following instructions and notes carefully to ensure you create the best user-experience. Supported HTML-like formatting tags: Heading tags: <h1>, <h2>, <h3>, <h4>, <h5>, <h6> Paragraph tag: <p> List tags: <ul>, <ol>, <li> Division tag: <div> Phrase tags: <br>, <strong>, <em>: Unsupported tags:
Important notes:
|
price |
The price of the service. |
price |
Describes how the price is interpreted and displayed to the user. Can be used by any vertical except Dining and Things To Do to configure display of the service price. |
rules |
Rules to book/cancel an appointment. |
prepayment |
Whether a prepayment is required, optional or not supported. |
prepayment |
Terms around when the prepayment is completed. |
form[] |
Deprecated. Please use intakeForm and perTicketIntakeForm. |
intake |
A form requesting additional information from the user when they book this service. (optional) |
per |
A form requesting additional information from the user when they book this service. This form must be filled out once for each ticket the user is booking. (optional) |
tax |
The service's tax rate. If present this field overrides any taxRate set at the merchant level. An empty message (i.e. taxRate { }) will reset the applied tax rate to zero. |
payment |
A list of ids referencing the payment options which can be used to pay for this service. The actual payment options are defined at the Merchant level, and can also be shared among multiple Merchants. |
deposit |
Defines how a deposit may be charged to the user. Overrides the service deposit if one was specified. Setting this to an empty Deposit message removes any service-level deposit. (optional) |
no |
Defines a no show fee that may be charged to the user. Overrides the service no show fee if one was specified. Setting this to an empty NoShowFee message removes any service-level no show fee. (optional) |
require |
Indicates whether the user must provide a credit card in order to book this service. This field can be overridden at the availability level. (optional) |
action |
An action link related to this service. If action link exists, type (see below) must be set in the Service. |
type |
The predefined type of this service. (optional) |
ticket |
Types of tickets that can be booked/purchased for this service, if tickets are supported. (optional) |
related |
Photos related to this service. Google will crawl and store the media to ensure that they are displayed to end-users in the most efficient way. (optional) |
service |
Service attribute values that apply to this service (optional). Each Service may have zero or more values for each service attribute defined in the corresponding Merchant. (optional) |
waitlist |
Rules to joining the waitlist. |
ticketing |
Additional information unique to the event ticketing vertical. (optional) |
integration |
Depth of integration we support for this service. (optional) Irrelevant for partners with the starter integration. End to end will always be disabled for these partners. |
per |
Order level fees for purchasing this service. (optional) |
tours |
Content fields specific to Tours and Activities. |
location[] |
Locations related to this service. IMPORTANT NOTES: If there are multiple visited locations related to this service, or the START_LOCATION is different from the VISITED_LOCATION, the START_LOCATION must be specified. Example: - A guided biking tour visiting three venues, the start venue needs to be specified. - A bus tour meeting at a hotel lobby and then head to the visited venue. The meeting location needs to be specified. |
rating |
User rating for this service as an aggregate metric over all reviews. |
home |
Additional information unique to home service vertical. (optional) |
virtual |
Optional. Information about virtual session. It is required for enabling virtual services. |
direct |
Optional. Additional information which needs to be added if the service requires the user to pay directly to the merchant. IMPORTANT NOTE: RwG would not be involved in this transaction. It is required if virtualSession is defined and the service is not free or prepaymentType is NOT set to REQUIRED. |
uri |
Optional. An optional template specifying how Google should generate URLs to external site. |
PriceInterpretation
Describes how a Price should be interpreted and displayed to the user.
Enums | |
---|---|
PRICE_INTERPRETATION_UNSPECIFIED |
Price interpretation unspecified, defaults to EXACT_AMOUNT. |
EXACT_AMOUNT |
When the price should be interpreted as a specific value. Examples: $20 for a yoga class; $15 for a child haircut |
STARTS_AT |
When the price of a service is variable but a minimum price is known and displayed to consumers. Consumers may make choices which increase the price. Note that any service that uses this PriceInterpretation must use PrepaymentType NOT_SUPPORTED. Examples: $30 for dog grooming, but additional consumer choices may increase the price |
NOT_DISPLAYED |
When the price of a service is variable and no price information is displayed to consumers ahead of time. Note that any service that uses this PriceInterpretation must use PrepaymentType NOT_SUPPORTED and Price must be empty. Examples: A consultation for a home service |
SchedulingRules
The scheduling rules for a service.
JSON representation |
---|
{ "minAdvanceOnlineCanceling": string, "lateCancellationFee": { object ( |
Fields | |
---|---|
min |
The minimum advance notice in seconds required to cancel a booked appointment online. (optional) |
lateCancellationFee |
The fee for canceling within the minimum advance notice period. |
noshowFee |
The fee for no-show without canceling. |
admission |
The admission policy that applies to this service. If unset, defaults to TIME_STRICT. (optional) |
cancellation |
Scheduling rules cancellation policy. (required for Things-to-do) |
Union field If "min_advance_booking" is set, the last bookable time is calculated as (<slot start time> - "min_advance_booking"). If "min_booking_buffer_before_end_time" is set, the last bookable time is calculated as (<slot end time> - "min_booking_buffer_before_end_time"). Note that the value of "min_booking_buffer_before_end_time" must be positive if set. If both are unset, the slot is bookable until the slot begin time. If both fields are set, only one value will be picked while the other value ignored--we cannot reliably predict which value is chosen. Examples:
|
|
min |
The duration (in seconds) from when the last booking can be made to when the availability slot starts. |
min |
The duration (in seconds) from when the last booking can be made to when the availability slot ends. If this field is set, the "admissionPolicy" field must be set to TIME_FLEXIBLE to indicate that users can use the purchased tickets after slots start. |
AdmissionPolicy
The admission policy of this service.
Enums | |
---|---|
ADMISSION_POLICY_UNSPECIFIED |
Unused. |
TIME_STRICT |
Customers are required to be present at the start time of the availability slot, and the service is expected to finish at the end time of the slot. Examples of TIME_STRICT use cases: * A tour that starts at 9am that requires all attendees to arrive at the start time, and returns at around 12pm. * A haircut reservation at 3pm on Saturday that will take approximately 30 minutes. * A fitness class from 6pm to 8pm. |
TIME_FLEXIBLE |
Customers can arrive at any time between the start and end time of the availability slot to use this booking. Examples of TIME_FLEXIBLE use cases: * A museum ticket that can be used during any time on the purchase date. * An afternoon admission to an amusement park that can be used from 12pm to 9pm. |
TIMED_ENTRY_WITH_FLEXIBLE_DURATION |
Customers need to arrive at the merchant at the start time of the availability slot but can leave any time they want. For example, in the museum admission scenario, a timed entry ticket for 10am requires the user to be at the museum at 10am. The start time of availability slots for this service represents the designated entry time. The end time, however, is used solely as a key to identify the availability slot for booking. |
CancellationPolicy
Cancellation policy for a service.
JSON representation |
---|
{
"refundCondition": [
{
object ( |
Fields | |
---|---|
refund |
Zero or more refund conditions applicable to the policy. |
RefundCondition
Defines a single refund condition. Multiple refund conditions could be used together to describe "refund steps" as various durations before the service start time.
JSON representation |
---|
{ "minDurationBeforeStartTime": string, "refundPercent": integer } |
Fields | |
---|---|
min |
Duration before the start time, until when the customer can receive a refund for part of the service's cost specified in A duration in seconds with up to nine fractional digits, ending with ' |
refund |
The percent that can be refunded, as long as the service booking is cancelled at least |
PrepaymentType
Enum to indicate the prepayment type.
Enums | |
---|---|
PREPAYMENT_TYPE_UNSPECIFIED |
By default we will assume that the prepayment is NOT_SUPPORTED. |
REQUIRED |
The user has to pay this service at the booking time. |
OPTIONAL |
The user can choose to pre-pay this service at the booking time or later, but it is not required in order to book. |
NOT_SUPPORTED |
The prepayment is not supported for this service. |
PrepaymentTerms
Specific information around when prepayment is completed.
JSON representation |
---|
{
"chargeTiming": enum ( |
Fields | |
---|---|
charge |
When the charge will occur relative to the purchase time. |
charge |
Time in seconds before the service start time that the user is charged for payment. This field should only be set when ChargeTiming is CHARGE_LATER. |
ChargeTiming
Enum to specify when the charge will occur relative to the purchase time.
Enums | |
---|---|
CHARGE_TIMING_UNSPECIFIED |
Unused. |
CHARGE_NOW |
Customer will be charged immediately. |
CHARGE_LATER |
Customer will be charged later. |
ServiceIntakeForm
Defines an intake form that customizes the service provided by a merchant.
JSON representation |
---|
{
"field": [
{
object ( |
Fields | |
---|---|
field[] |
Fields that will be displayed to the user. |
firstTimeCustomers |
If true, this form will be shown to first time customers. Deprecated. This functionality is not supported for intake forms. |
returningCustomers |
If true, this form will be shown to repeat customers. Deprecated. This functionality is not supported for intake forms. |
ServiceIntakeFormField
Defines a field that is included in a ServiceIntakeForm.
JSON representation |
---|
{ "id": string, "type": enum ( |
Fields | |
---|---|
id |
A string from an aggregator partner which uniquely identifies a form field. This id should be the same as the id in the corresponding form field answer and must be unique across both the service level and per ticket intake forms. (required) |
type |
The type of this field. |
label |
The text shown to the user for this field. Deprecated, please use |
localized |
The text shown to the user for this field. The field can be supplied in multiple locales. (required) |
value[] |
Set if and only if the field type is LOCATION_SEARCH. Please use the "locationId" in the "location" field to specify the location value. |
choice |
Set if and only if the field type is MULTIPLE_CHOICE, CHECKBOXES, or DROPDOWN. Used to enumerate possible choices. |
is |
Indicates whether an answer to this field is required by a user. |
allow |
Indicates whether a custom value is allowed in additional to predefined answers. This is only applicable when the field type is LOCATION_SEARCH. (optional) |
additional |
Additional options provided in addition to the provided values. Only applicable when the field type is LOCATION_SEARCH. E.g. in addition to the provided location list, another available option can be "I will contact supplier later". (optional) |
ticket |
If this question should only be shown when the user books certain ticket types, this field should be set as the set of applicable ticket type ids. Leave the field empty if the question is always applicable. |
hint |
The hint text for input, which shows up as a text placeholder. This is only applicable when the field type is SHORT_ANSWER or PARAGRAPH. (optional) |
FieldType
Enum to indicate the type of field.
Enums | |
---|---|
FIELD_TYPE_UNSPECIFIED |
Fields of unspecified or unknown type will be ignored. |
SHORT_ANSWER |
A one-line input field for text. |
PARAGRAPH |
A multi-line input field for text. |
MULTIPLE_CHOICE |
A set of radio buttons that requires one choice from many options. |
CHECKBOXES |
One or more enumerated items with checkboxes. |
DROPDOWN |
A selection from a dropdown. |
BOOLEAN |
A yes/no button. |
LOCATION_SEARCH |
A search box that supports finding matched location given user input from provided location list. |
ServiceType
Predefined service types.
Enums | |
---|---|
SERVICE_TYPE_UNSPECIFIED |
Unused. |
SERVICE_TYPE_DINING_RESERVATION |
Dining reservation. |
SERVICE_TYPE_FOOD_ORDERING |
Food ordering, could be either food delivery or takeout or both. |
SERVICE_TYPE_FOOD_DELIVERY |
Food delivery. |
SERVICE_TYPE_FOOD_TAKEOUT |
Food takeout. |
SERVICE_TYPE_EVENT_TICKET |
Event ticket. |
SERVICE_TYPE_TRIP_TOUR |
Trip tour. |
SERVICE_TYPE_APPOINTMENT |
Service that provides appointments or classes. Recommended for (1) health and fitness, (2) spa and beauty, and (3) financial consults and evaluations services. Please see the supported service types: https://developers.google.com/maps-booking/guides/end-to-end-integration/overview |
SERVICE_TYPE_ONLINE_APPOINTMENT |
Service that provides online appointment for a class or session which will be fully virtual. Must be set if enabling virtual service bookings. |
SERVICE_TYPE_SHOPPING |
Service that allows users to shop from the given merchant. It could either be delivery or pickup. |
TicketType
TicketType is used to differentiate among tickets with different prices and/or availabilities due to different user types, different service attributes, or different options/add-ons.
A ticket is the minimal bookable unit to a service, e.g. a spot on a rafting trip, an admission to a museum, a full day double kayak rental.
JSON representation |
---|
{ "ticketTypeId": string, "shortDescription": string, "localizedShortDescription": { object ( |
Fields | |
---|---|
ticket |
The ticket id is used to differentiate among different ticket types of the same service, and is only expected to be unique within a service. |
short |
A short description to this TicketType. This can be user visible, e.g., “adult”, "child", “veteran”, “Row J”, etc. Required, each ticket type should have a description to be user visible. Deprecated, use localizedShortDescription instead. |
localized |
A short description to this TicketType with i18n support. This can be user visible, e.g., “adult”, "child", “veteran”, “Row J”, etc. Required, each ticket type should have a description to be user visible. Separate values could be supplied for each locale. |
price |
The price of a single ticket of this type, exclusive of any taxes. The tax rate of Service is applied to its tickets. |
per |
Additional fees for purchasing this ticket. (optional) |
price |
Optional. Predetermined price display type of a single ticket of this type. |
option |
Description of any additional option which this ticket type represents, if any. Deprecated, use localizedOptionDescription instead. |
localized |
Description of any additional option which this ticket type represents, if any. Separate values could be supplied for each locale. Additional options are useful when the ticket type represents multiple dimensions. Example 1: an admission ticket with different types 'adult', 'child' and language as an additional option, the expected TicketType list would be: - { 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" } } Example 2: an multi-hour kayak rental with optional dry bag add-on, the shortDescription could be "3 hours" and the optionDescription could be either "with dry bag" or "without dry bag": - { 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" } } Optional, but if any ticket type within the service has this field set, we expect all other ticket types to have this field set as well (a default optionDescription could be used). E.g. [{ticket_type_1, adult, english}, {ticket_type_1, adult, ''}] is not a valid list. Only two HTML formatting tags are supported: and |
inventory |
Optional. Predetermined inventory type of a single ticket of this type. |
PerTicketFee
Fees that must be paid for each ticket the user purchases.
JSON representation |
---|
{ "serviceCharge": { object ( |
Fields | |
---|---|
service |
An extra charge assessed for a service. |
facility |
A fee that goes to the venue/facility. |
taxes |
Per ticket taxes. |
PriceDisplayType
Indicates the price format displayed on the landing page.
This field is ignored for non-link-out inventory.
This field allows Google surfaces to show the same price format as used byService the landing page. Consistent price formats improve conversion rate and reduce confusion.
Enums | |
---|---|
PRICE_DISPLAY_TYPE_UNSPECIFIED |
The price display type is unspecified. Google will determine which format to show. |
PRICE_DISPLAY_TYPE_BASE |
The price shown on the landing page is the base price. |
PRICE_DISPLAY_TYPE_ALL_IN |
The price shown on the landing page includes all fees and taxes. |
InventoryType
Predetermined inventory type of a single ticket of this type.
Enums | |
---|---|
INVENTORY_TYPE_UNSPECIFIED |
The inventory type is unspecified. |
INVENTORY_TYPE_PRIMARY |
Primary inventory. |
INVENTORY_TYPE_VERIFIED_RESALE |
Verified resale inventory. |
INVENTORY_TYPE_RESALE |
Resale inventory. |
INVENTORY_TYPE_AGGREGATOR |
Aggregator inventory. |
RelatedMedia
Photos related to this service. Google will crawl these media to ensure that they are displayed correctly to end-users. (optional)
JSON representation |
---|
{ "url": string, "type": enum ( |
Fields | |
---|---|
url |
URL of this media source. Google will crawl the media hosted at this URL. |
type |
Type of this media source. |
localized |
Caption of the media that supports i18n, only plain text is supported. Any HTML components will be stripped. (optional) |
attribution |
Attribution information about the source of the media. Note that if the attribution is required to display with the media to give credit to photographer or agency, this field must be set. (optional) |
caption |
Deprecated, prefer to use localizedCaption. |
MediaType
Enum to indicate the type of this media source. Only photos are supported. Please reach out to the Reserve with Google team if other media beyond photos need to be supported.
Enums | |
---|---|
TYPE_UNSPECIFIED |
Unused. |
PHOTO |
Indicates the media provided by the url is a photo. |
Attribution
Attribution information for this media.
JSON representation |
---|
{
"localizedText": {
object ( |
Fields | |
---|---|
localized |
The text to give credit to the photographer or agency supporting i18n. This text will be displayed together with the source media. Note that only plain text is supported for this field, any HTML components will be stripped (hyperlink based attribution is not supported). |
text |
Deprecated, prefer to use localizedText. |
ServiceAttributeValueId
Identifies a particular value of a service attribute to be applied to a Service.
JSON representation |
---|
{ "attributeId": string, "valueId": string } |
Fields | |
---|---|
attribute |
ID of an attribute as defined in Merchant.service_attribute, e.g. "service-type". |
value |
ID of the value for this attribute, e.g. "haircut". Must match a valueId in the service attribute definition. |
WaitlistRules
Rules related to joining the waitlist.
JSON representation |
---|
{
"minPartySize": integer,
"maxPartySize": integer,
"supportsAdditionalRequest": boolean,
"aboveMaxPartySizeOptions": [
{
object ( |
Fields | |
---|---|
min |
Required. Must be a positive integer for services providing waitlist functionality. If the service or merchant does not provide waitlist functionality, this must not be populated. |
max |
Required. Must be a positive integer for services providing waitlist functionality. If the service or merchant does not provide waitlist functionality, this must not be populated. |
supports |
If true, the user will be able to send a free-form additional text request when joining the waitlist for this service. |
above |
Set options for parties larger than the set maxPartySize. Leave empty if larger parties should not be given alternative options for joining a waitlist. |
UnsupportedPartySizeOption
Options for parties that are out of range.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field kind . Available options for parties that are out of range. kind can be only one of the following: |
|
call |
Party sizes that are out of range can call the business. A predefined message will be displayed to the user. Sample text to be displayed: "For parties larger than {waitlistRules.max_party_size} please call the restaurant at {phone}." CallMerchant must be set, but will be empty. |
CallMerchant
This type has no fields.
Empty message to be used in UnsupportedPartySizeOption, setting this will display an option to users to call the business for a booking.
TicketingVerticalSpecificData
Additional information unique to the event ticketing vertical.
JSON representation |
---|
{ "eventCategory": enum ( |
Fields | |
---|---|
event |
The category of the event. Set only when event falls into one of the predefined categories. (optional) |
event |
The URL of the event on the partner's website. (optional) |
entity[] |
A list of entities related to the event. (optional) |
event |
Required. The type of the event attendance. |
event |
Optional. URL where the event can be watched. |
event |
Optional. Organizer who hosts the event. |
event |
Optional. URL of the organizer who hosts the event. |
event |
Optional. The type of the organizer. |
event |
Required. URL of the pages where the event information or descriptions can be found. |
event |
Optional. State of the event. |
brand |
Optional. The localized brand name. |
event |
Optional. Information about the creator of the event. |
EventCategory
A subset of event categories for which we customize the product experience. Note: not intended to be a universal ontology of events.
Enums | |
---|---|
EVENT_CATEGORY_UNSPECIFIED |
Not specified. Do not use. |
EVENT_CATEGORY_CONCERT |
Concerts. |
EVENT_CATEGORY_SPORTS |
Sports events. |
EVENT_CATEGORY_THEATRE |
Theatre events. |
EVENT_CATEGORY_EXHIBITS |
Exhibits. |
EVENT_CATEGORY_WORKSHOPS_AND_CLASSES |
Workshops and Classes. |
Entity
Represents an entity related to the event.
JSON representation |
---|
{ "id": string, "name": string, "url": string, "entityType": enum ( |
Fields | |
---|---|
id |
Unique identifier of the entity in the partner's database. (optional) |
name |
Name of the entity. (required) |
url |
Url of the webpage that unambiguously describes the entity. This is the webpage on the partner's website for the entity if any; for other public URLs of the entity, use relevantUrl in publicIdentificationData. (optional) |
entity |
The type of the entity. (optional) |
entity |
The role of the entity in the event. (optional) |
public |
Public references of the entity. (optional) |
EntityType
The type of the entity. Note: not intended to be a universal ontology.
Enums | |
---|---|
ENTITY_TYPE_UNSPECIFIED |
Not specified. Do not use. |
ENTITY_TYPE_PERFORMER |
The entity represents the artist or group performing at a concert or a show. Only applicable when event category is CONCERT or THEATRE. |
ENTITY_TYPE_PLAYER |
The entity represents the sports team or player at the event. Only applicable when event category is SPORTS. |
ENTITY_TYPE_CONCERT_TOUR |
The entity represents the tour that this event belongs to. Only applicable when event category is CONCERT. |
ENTITY_TYPE_SPORTS_SERIES |
The entity represents a sports tournament that this event belongs to. Only applicable when event category is SPORTS. |
ENTITY_TYPE_PLAY |
The entity represents the type of play (e.g., musical, comedy, ballet, etc.) performed at the event. Only applicable when event category is THEATRE. |
EntityRole
The role of the entity in the event.
Enums | |
---|---|
ENTITY_ROLE_UNSPECIFIED |
Not specified. |
ENTITY_ROLE_HEADLINER |
The entity represents a headliner or leading performer at the event. |
ENTITY_ROLE_SUPPORTER |
The entity represents a supporting performer at the event. |
ENTITY_ROLE_HOME_TEAM |
The entity represents the home team at the (sports) event. |
ENTITY_ROLE_AWAY_TEAM |
The entity represents the away team at the (sports) event. |
PublicIdentificationData
Identifiers, webpages, or any other public sources that reference an entity.
JSON representation |
---|
{ "relevantUrl": [ string ], "musicbrainzId": string } |
Fields | |
---|---|
relevant |
Public URL of any webpage that is dedicated to only the topic. This could include official websites, discogs, social media platforms, wikipedia or imdb pages, e.g. https://www.discogs.com/artist/1124645-Taylor-Swift, https://www.wikidata.org/wiki/Q19320959, https://twitter.com/acmilan. (optional) |
musicbrainz |
The 36-character musicbrainz identifier of the artist or other music entities, if applicable. See https://musicbrainz.org/doc/MusicBrainz_Identifier. (optional) |
AttendanceMode
The type of the event attendance.
Enums | |
---|---|
ATTENDANCE_MODE_UNSPECIFIED |
Not specified. |
ONLINE |
For virtual events. |
PHYSICAL |
For physical events. |
PHYSICAL_ONLINE_MIXED |
For events that are both physical and virtual. |
OrganizerType
The type of the organizer.
Enums | |
---|---|
ORGANIZER_TYPE_UNSPECIFIED |
Not specified. |
PERSON |
For organizer who is a person. |
ORGANIZATION |
For organizer who is an organization. |
EventState
State of the event.
Enums | |
---|---|
EVENT_STATE_UNSPECIFIED |
Not specified. |
SCHEDULED |
The event is scheduled. |
RESCHEDULED |
The event is rescheduled. |
CANCELLED |
The event is cancelled. |
POSTPONED |
The event is postponed. |
EventCreator
Information about the creator of the event. Only relevant for platforms that include user-generated content events.
JSON representation |
---|
{ "name": string } |
Fields | |
---|---|
name |
Optional. Name of the event creator. No character restriction. |
IntegrationType
Depth of integration supported.
Enums | |
---|---|
INTEGRATION_TYPE_UNSPECIFIED |
Defaults to END_TO_END. |
INTEGRATION_TYPE_END_TO_END |
Complete integration that allows end to end booking through Google. |
INTEGRATION_TYPE_INVENTORY_ONLY |
Booking server doesn’t need to support this service. Only merchants, services, and (optionally) availability data need to be sent. |
PerOrderFee
Fees that must be paid once per order, regardless of number of tickets.
JSON representation |
---|
{ "deliveryFee": { object ( |
Fields | |
---|---|
delivery |
A fee that can vary by delivery method. |
processing |
A fee to process the user's payment method. |
ToursAndActivitiesContent
Content fields specific to Tours and Activities. Each element in the repeated field should be independent to allow separate rendering (e.g. as a bullet point).
Populating ToursAndActivitiesContent is strongly recommended for tours and activities, but not strictly required. All fields support both plain-text and HTML-like text for basic formatting. Supported HTML-like formatting tags:
Phrase tags:
, , , : Only the three tags mentioned above are supported.
can be used to break lines in paragraphs, and // can be used to highlight an important text. Any other phrase tags will be ignored.
All other tags and custom styles are not allowed and will be removed. Any URLs, anchors, and links will be stripped, and will never be displayed to end-users.
Important notes: * Don't duplicate data already supplied in highlights
, exclusion
and other, more specific, fields in the service description. * Avoid using other tags except for the supported ones mentioned above, because the contents within unsupported tags will be stripped, and may lead to an undesirable user experience.
JSON representation |
---|
{ "highlights": [ { object ( |
Fields | |
---|---|
highlights[] |
The user-visible list of highlights. |
inclusions[] |
The user-visible list of inclusions. |
exclusions[] |
The user-visible list of exclusions. |
must |
The user-visible list of important notes, use for details such as age restrictions or other conditions that make this service unsuitable. |
Location
Geographic information about a location.
JSON representation |
---|
{ "placeId": string, "name": string, "telephone": string, "url": string, "geo": { object ( |
Fields | |
---|---|
place |
The Place ID for a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id for more about Place IDs. If this is provided, Google will match the location to this place. |
name |
The location's name, telephone, url and geo are used to support matching the location with places already present on Google Maps. This field is optional, but may be required in some contexts. For example, a Service.location without a name will not be matched to a business entity, even if they are located at the same address. (optional) |
telephone |
The public telephone number of the location including its country and area codes, e.g. +14567891234. (optional) |
url |
The url of the location's public website. (optional) |
geo |
The Geo info of the location, including latitude, longitude, and address. (optional) |
location |
The type of the location, must be supplied if this location is provided for a Service. |
location |
Unique reference of the location within the service. This id can be used to refer to this location in other service fields. E.g. in the custom intake form, a set of location ids can be used to specify pick up location options. If set, this id should be unique within the same service. (optional) |
LocationType
The type of this location.
Enums | |
---|---|
LOCATION_TYPE_UNSPECIFIED |
Location type unspecified. |
VISITED_LOCATION |
The location where this service visits. |
START_LOCATION |
The location where this service starts, also serves as MEETING_LOCATION. |
END_LOCATION |
The location where this service ends. |
Rating
Defines Rating for an entity.
JSON representation |
---|
{ "value": number, "numberOfRatings": string } |
Fields | |
---|---|
value |
Average rating value (required when numberOfRatings > 0). The value must be in the range of [1, 5] and can be omitted if and only if the numberOfRatings is zero. |
number |
Number of ratings used in calculating the value (required). |
HomeServiceData
Additional information required to be provided for home service vertical.
JSON representation |
---|
{ "categoryType": string, "jobType": string } |
Fields | |
---|---|
category |
The high level category to which this home service belongs to. E.g. plumber, electrician etc. |
job |
The job type under the category to which the given home service belongs to. E.g. unclog_drain, install_faucet are the job types under plumber category. |
VirtualSession
Information about virtual/online session. E.g. Online yoga class, virtual cooking class etc.
JSON representation |
---|
{ "sessionInstructions": { object ( |
Fields | |
---|---|
session |
Instructions on how this virtual class is set up. If the partner does not include the video URL with the booking, then this text must include when the video URL will be shared with the user. Eg. “Zoom url will be mailed 30 minutes prior to the class”. (Recommended) |
session |
Requirements for the given virtual session. Eg. yoga mat, cooking utensils etc. (Recommended) |
virtual |
Information about the virtual platform used in this session. (Required to enable virtual services) |
is |
Required. Set this as true if the virtual session is not live and is pre-recorded. |
VirtualPlatformInfo
Information about platform which will be used for this virtual session.
JSON representation |
---|
{ "platform": enum ( |
Fields | |
---|---|
platform |
Platform used for virtual session. |
other |
The name of the platform if the platform is set to OTHER. (Required if platform is set to OTHER) |
Platform
Enum to indicate which virtual platform would be used by the merchant.
Enums | |
---|---|
PLATFORM_UNSPECIFIED |
Unused. |
FLEXIBLE |
The merchant is flexible in which video platform they use. |
GOOGLE_HANGOUTS |
Google Hangouts product. |
GOOGLE_MEET |
Google Meet product. |
ZOOM |
Zoom Video Communications. |
SKYPE |
Skype. |
YOUTUBE |
Livestreaming in YouTube. |
OTHER |
Should be set if the video platform used is different from the ones mentioned here. |
DirectMerchantPayment
Information about how the user can pay directly to the merchant instead of pre-paying for the service via RwG.
JSON representation |
---|
{
"paymentMethods": [
{
object ( |
Fields | |
---|---|
payment |
Users would be advised to pay only via the payment methods mentioned below. |
UriTemplate
A template specifying how Google should generate URLs to external site.
JSON representation |
---|
{ "uriTemplate": string } |
Fields | |
---|---|
uri |
Optional. The uri template must follow the RFC6570, see https://datatracker.ietf.org/doc/html/rfc6570. Supports Level 2 templates. These parameters will be resolved to their values specified in their respective entities. 5 available parameters for Dining Reservation Linkout: 1) (required) {availability_slot_start_seconds} :: populated from startSec field in availability feed 2) (required) {availability_slot_duration_seconds} :: populated from durationSec field in availability feed 3) (optional) {resources_party_size} :: populated from partySize field in availability feed 4) (optional) {availability_availability_tag} :: populated from availabilityTag field in availability feed 5) (optional) {resources_room_id} :: populated from roomId field in availability feed Example Usage: http://example.com/book/restaurant?start={availability_slot_start_seconds} &num_guests={resources_party_size} * startSec = 123456 * partySize = 2 https://example.com/book/restaurant?start=123456&num_guests=2 |
Methods |
|
---|---|
|
Creates a new Service of a merchant managed by the specified aggregator, and returns it. |
|
Deletes an existing Service of a merchant managed by the specified aggregator. |
|
Updates an existing Service of a merchant managed by the specified aggregator, and returns it. |