Wenn ein Nutzer einen Verfügbarkeitszeitraum zu einem bestimmten Preis bucht, wird er über eine von Ihnen definierte URL zu Ihrer Buchungsseite weitergeleitet. In den folgenden Schritten wird beschrieben, wie Sie Folgendes tun:
- Definieren Sie Ihre URL-Vorlage.
- Legen Sie die URL-Vorlage in Ihren Feeds fest.
- Linkout pro Verfügbarkeitszeitraum aktivieren
- Überprüfen Sie die Felder im Action Center.
1. URL-Vorlage definieren
Die URI-Vorlage entspricht der Spezifikation für URI-Vorlagen der Stufe 2 gemäß RFC6570 der Internet Engineering Task Force (IETF). Weitere Informationen finden Sie unter datatracker.ietf.org. Die URL wird von Ihnen mit Parametern festgelegt, die dynamisch mit Informationen zu der jeweiligen Reservierung gefüllt werden. In der folgenden Tabelle sind die erforderlichen und optionalen Parameter für Ihre URI-Vorlage aufgeführt.
`https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}`
Verfügbare Werte für URL-Vorlagen
Vorlagenparameter | Erforderlich / Optional | Feed | Feld | Beispielwert |
---|---|---|---|---|
availability_slot_start_seconds | Erforderlich | Verfügbarkeit | start_sec | 4152695841 |
resources_party_size | Erforderlich | availability.resources | party_size | 2 |
availability_slot_availability_tag | Optional | Verfügbarkeit | availability_tag | res-123 |
availability_slot_duration_seconds | Optional | Verfügbarkeit | duration_sec | 3600 |
2. Legen Sie die URI-Vorlage in Ihrem Feed fest.
Im folgenden Abschnitt wird davon ausgegangen, dass Sie eine aktive E2E-Integration mit einem vorhandenen Service Feed haben. Die von Ihnen definierte URL wird im Service-Feed festgelegt. Im Folgenden finden Sie die Definition für dieses Feld.
message Service {
// ..
UriTemplate uri_template = 38;
}
Definition der URI-Vorlage
// 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. // These parameters will be resolved to their values specified in their // respective entities. // // Available parameters for Dining Reservation Linkout: // 1) (required) {availability_slot_start_seconds} :: populated from start_sec // field in availability feed // 2) (required) {resources_party_size} :: populated from party_size field in // availability feed // 3) (optional) {availability_slot_duration_seconds} :: populated from // duration_sec field in availability feed // 4) (optional) {availability_slot_availability_tag} :: populated from // availability_tag field in availability feed // // Example usage: // http://example.com/book/restaurant?start={availability_slot_start_seconds} // &num_guests={resources_party_size} // * start_sec = 123456 // * party_size = 2 // https://example.com/book/restaurant?start=123456&num_guests=2 string uri_template = 1; }
Beispieldienstdefinition
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "shard_number": 0, "total_shards": 1, "nonce": "12484913", "generation_timestamp": 1530432018 }, "service": [ { "merchant_id": "dining-A", "service_id": "reservation", "uri_template": { "uri_template": "https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}" }, "localized_service_name": { "value": "Reservation", "localized_value": [ { "locale": "en", "value": "Reservation" } ] } } ] }
3. Linkout pro Verfügbarkeitszeitraum aktivieren
Im folgenden Abschnitt wird davon ausgegangen, dass Sie eine aktive E2E-Integration mit einem vorhandenen Verfügbarkeitsfeed haben. Nachdem Sie die URL-Vorlage in Ihrem Dienstfeed festgelegt haben, müssen Sie angeben, für welche Ihrer verfügbaren Slots ein Linkout erforderlich ist.
Dazu müssen Sie das Feld linkout_required_reason
mit dem Wert PAYMENT_REQUIRED
hinzufügen.
Definition des Grunds für den Link-out
message Availability {
// ..
LinkoutRequiredReason linkout_required_reason = 19;
}
// The reason why a slot requires a linkout. Currently only used for Dining // Reservations Payment Redirect Partners. enum LinkoutRequiredReason { // Default value: Do not use, equates to unknown. LINKOUT_REQUIRED_REASON_UNSPECIFIED = 0; // Slot requires payment in the partner platform to be booked. PAYMENT_REQUIRED = 1; }
Beispieldefinition für Link-out-Grund
{ "metadata": { "processing_instruction": "PROCESS_AS_COMPLETE", "shard_number": 0, "total_shards": 1, "nonce": "11203880", "generation_timestamp": 1543875200 }, "service_availability": [ { "availability": [ { "merchant_id": "dining-A", "service_id": "reservation", "linkout_required_reason": "PAYMENT_REQUIRED", "start_sec": 1535853600, "duration_sec": 2700, "spots_total": 2, "spots_open": 2, "resources": { "room_id": "A-dining-room", "room_name": "Dining Room", "party_size": 2 } } ] } ] }
4. Felder im Action Center überprüfen
Wenn Ihre Feeds erfolgreich eingereicht wurden und im Feedverlauf keine Fehler angezeigt werden, können Sie die Felder so überprüfen:
URL-Vorlage in der Inventarübersicht
Die Definition der URL-Vorlage finden Sie im Bereich „Dienste“ in der Inventaransicht eines Händlers. Sie finden die Vorlage im Abschnitt „Feed-Snippet“. Weitere Informationen zur Händler- und Dienstansicht finden Sie unter Inventaransicht.

Grund für Linkout in der Verfügbarkeitsübersicht
Das Feld linkout_required_reason
finden Sie in der Verfügbarkeitsansicht, wenn Sie sich den jeweiligen Verfügbarkeitszeitraum ansehen.
