特定の料金で空きスロットを予約すると、ユーザーは、お客様が定義した URL を使用して予約ページにリダイレクトされます。以下の手順では、次の方法について説明します。
- URL テンプレートを定義します。
- フィードに URL テンプレートを設定します。
- 予約枠ごとにリンクアウトを有効にします。
- アクション センターのフィールドを確認します。
1. URL テンプレートの定義」へようこそ。
URI テンプレートは、Internet Engineering Task Force(IETF)RFC6570 レベル 2 URI テンプレートの仕様に準拠しています。詳細については、datatracker.ietf.org をご覧ください。URL は、その予約に関連する情報で動的に入力されるパラメータを使用して設定します。次の表に、 URI テンプレートで使用可能な必須パラメータと省略可能なパラメータ。
`https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}`
URL テンプレートに使用可能な値
テンプレート パラメータ | 必須 / 省略可 | フィード | フィールド | 値の例 |
---|---|---|---|---|
availability_slot_start_seconds | 必須 | 稼働率 | start_sec | 4152695841 |
resources_party_size | 必須 | availability.resources | party_size | 2 |
availability_slot_availability_tag | 省略可 | 稼働率 | availability_tag | res-123 |
availability_slot_duration_seconds | 省略可 | 稼働率 | duration_sec | 3600 |
resources_room_id | 省略可 | availability.resources | room_id | bar_123 |
2. フィードで URI テンプレートを設定します。
次のセクションでは、既存のサービスフィードとのライブ E2E 統合があることを前提としています。定義した URL は サービス フィードの場合、そのフィールドの定義が以下に含まれます。
message Service {
// ..
UriTemplate uri_template = 38;
}
URI テンプレートの定義
// 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. // // 5 available parameters for Dining Reservation Linkout: // 1) (required) {availability_slot_start_seconds} :: populated from start_sec // field in availability feed // 2) (required) {availability_slot_duration_seconds} :: populated from // duration_sec field in availability feed // 3) (optional) {resources_party_size} :: populated from party_size field in // availability feed // 4) (optional) {availability_availability_tag} :: populated from // availability_tag field in availability feed // 5) (optional) {resources_room_id} :: populated from room_id 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; }
サービス サンプル定義
{ "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. 空きスロットごとにリンクアウトを有効にする。
次のセクションでは、既存の E2E 統合が存在することを前提としています。 空き情報フィード。URL テンプレートを どの予約枠をサービス フィードで 必要があります。
そのためには、値が PAYMENT_REQUIRED
の linkout_required_reason
フィールドを追加します。
リンクアウト理由の定義
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; }
リンクアウトの理由の例の定義
{ "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. アクション センターのフィールドを確認する
フィードが正常に送信され、フィードにエラーがなくなると、 次の手順でフィールドを確認できます。
在庫ビューアの URL テンプレート
URL テンプレートの定義は、販売者の在庫ビューの [サービス] セクションで確認できます。テンプレートは [フィード スニペット] にありますできます。 販売者とパブリッシャーについて詳しくは、広告枠ビューをご覧ください。 サービスビュー。
<ph type="x-smartling-placeholder">空き情報ビューア内のリンクアウトの理由
linkout_reason_required
フィールドは、空き状況ビューで特定の空き状況スロットを確認すると表示されます。