عند حجز خانة متاحة بسعر معيّن، سيتم إعادة توجيه المستخدم إلى صفحة الحجز باستخدام عنوان URL تحدّده أنت. توضّح لك الخطوات المقدَّمة كيفية تنفيذ ما يلي:
- حدِّد نموذج عنوان URL.
- اضبط نموذج عنوان URL في خلاصاتك.
- فعِّل ميزة "الربط بصفحة أخرى" لكل خانة توفّر.
- تحقّق من الحقول في "مركز الإجراءات".
1. تحديد نموذج عنوان URL
يتّبع نموذج عناوين URL معيار RFC6570 لمستوى 2 من مواصفات نموذج عناوين URL الصادرة عن "مجموعة مهندسي شبكة الإنترنت" (IETF)، ويمكنك الاطّلاع على مزيد من التفاصيل على datatracker.ietf.org. يتم ضبط عنوان URL من خلالك باستخدام مَعلمات يتم تعبئتها ديناميكيًا باستخدام معلومات تتعلّق بالحجز. يتضمّن الجدول التالي المَعلمات المطلوبة والاختيارية المتاحة لنموذج عنوان URL.
`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 |
2. اضبط نموذج معرّف الموارد المنتظم (URI) في خلاصتك.
يفترض القسم التالي أنّ لديك عملية دمج فعّالة من طرف إلى طرف مع خلاصة خدمة حالية. سيتم ضبط عنوان 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. // // 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; }
تعريف عيّنة الخدمة
{ "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- فعِّل ميزة "الربط بصفحة أخرى" لكل خانة توفّر.
يفترض القسم التالي أنّ لديك عملية دمج فعّالة من طرف إلى طرف مع خلاصة معلومات التوفّر حالية. بعد ضبط نموذج عنوان URL في خلاصة الخدمة، عليك تحديد خانات مدى التوفّر التي ستتطلّب ربطًا خارجيًا.
ويمكنك إجراء ذلك من خلال إضافة الحقل linkout_required_reason
مع القيمة
PAYMENT_REQUIRED
.
تعريف سبب الرابط الصادر
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 في قسم "الخدمات" ضمن ملف تعريف البائع في عرض المستودع. يمكنك العثور على النموذج ضمن قسم "مقتطف الخلاصة". يمكنك الرجوع إلى عرض المستودع للحصول على مزيد من التفاصيل عن عرض "التاجر" و"الخدمة".

سبب الربط في "عارض مدى التوفّر"
يمكنك العثور على الحقل linkout_reason_required
عند عرض خانة التوفّر المحدّدة في عرض مدى التوفّر.
