Upon booking an availability slot with a specific price, the user will be redirected to your booking page using a URL that's defined by you in the Services feed. The following is an example of a usable URL template.
The parameters in this template are dynamically added using values specified in your feeds and are used to create the link that the user will use to proceed to your booking page.
`https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}`
Available Values for URL Template
Template parameter | Required / Optional | Feed | Field | Example Value |
---|---|---|---|---|
availability_slot_availability_tag | Optional | availability | availability_tag | tag |
availability_slot_duration_seconds | Required | availability | duration_sec | 3600 |
availability_slot_start_seconds | Required | availability | start_sec | 4152695841 |
resources_party_size | Required | availability.resources | party_size | 2 |
resources_room_id | Optional | availability.resources | room_id | bar_123 |
URL Template Definition
The following is the URL template that is sent in your Services feed.
Message Services {
// ..
UriTemplate uri_template;
// A template specifying how Google should generate URLs to external site.
message UriTemplate {
// The uri template must follow the RFC6570, see
// https://datatracker.ietf.org/doc/html/rfc6570.
// Supports Level 2 templates.
// e.g.
// http://example.com/book/{foo}?b={bar}
// * foo = 2
// * bar = abc
// https://example.com/book/2?b=abc
// These parameters will be resolved to their values specified in their
// respective entities.
// 1) {availability_slot_start_seconds} :: populated from start_sec field in
// availability feed
// 2) {resources_party_size} :: populated from party_size field in
// availability feed
// 3) {availability_slot_duration_seconds} :: populated from duration_sec
// field in availability feed
// 4) {resources_room_id} :: populated from room_id field in the
// resource section of the availability feed
// 5) {availability_slot_availability_tag} :: populated from availability_tag
// field of the availability feed
string uri_template = 1;
}
}