Sau khi đặt chỗ một khung giờ có giá cụ thể, người dùng sẽ được chuyển hướng đến trang đặt phòng của bạn bằng một URL do bạn xác định. Các bước được cung cấp sẽ hướng dẫn bạn cách thực hiện những việc sau:
- Xác định Mẫu URL.
- Thiết lập Mẫu URL trong nguồn cấp dữ liệu.
- Bật đường liên kết đến mỗi khung giờ có sẵn.
- Xác minh các trường trong Trung tâm hành động.
1. Xác định mẫu URL.
Mẫu uri tuân theo quy cách Mẫu URI cấp 2 RFC6570 của Nhóm công tác kỹ thuật Internet (IETF). Bạn có thể xem thêm thông tin chi tiết tại datatracker.ietf.org. Bạn sẽ thiết lập URL này bằng các thông số được điền tự động bằng thông tin liên quan đến yêu cầu đặt phòng đó. Bảng sau đây bao gồm các tham số bắt buộc và không bắt buộc có sẵn cho mẫu uri của bạn.
`https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}`
Giá trị có thể sử dụng cho mẫu URL
Tham số mẫu | Bắt buộc / Không bắt buộc | Nguồn cấp dữ liệu | Trường | Giá trị mẫu |
---|---|---|---|---|
availability_slot_start_seconds | Bắt buộc | độ khả dụng | start_sec | 4152695841 |
resources_party_size | Bắt buộc | availability.resources | party_size | 2 |
availability_slot_availability_tag | Không bắt buộc | độ khả dụng | availability_tag | res-123 |
availability_slot_duration_seconds | Không bắt buộc | độ khả dụng | duration_sec | 3600 |
2. Đặt Mẫu URI trong nguồn cấp dữ liệu.
Phần sau đây giả định rằng bạn có một chế độ tích hợp E2E trực tiếp với một Nguồn cấp dữ liệu dịch vụ hiện có. URL mà bạn đã xác định sẽ được đặt trong nguồn cấp dữ liệu Dịch vụ, nội dung sau đây bao gồm định nghĩa cho trường đó.
message Service {
// ..
UriTemplate uri_template = 38;
}
Định nghĩa mẫu 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; }
Định nghĩa mẫu dịch vụ
{ "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. Bật đường liên kết đến mỗi khung giờ có sẵn.
Phần sau giả định rằng bạn đã tích hợp E2E trực tiếp với một Nguồn cấp dữ liệu về tình trạng còn hàng hiện có. Sau khi đặt mẫu URL trong nguồn cấp dữ liệu dịch vụ, bạn cần chỉ định những khung giờ trống nào sẽ bắt buộc phải liên kết.
Bạn có thể thực hiện việc này bằng cách thêm trường linkout_required_reason
có giá trị là PAYMENT_REQUIRED
.
Định nghĩa về lý do liên kết đến bên ngoài
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; }
Định nghĩa mẫu về lý do liên kết đến bên ngoài
{ "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. Xác minh các trường trong Trung tâm hành động
Sau khi gửi thành công nguồn cấp dữ liệu và không có lỗi nào trong nhật ký nguồn cấp dữ liệu, bạn có thể xác minh các trường bằng các bước sau.
Mẫu URL trong Trình xem khoảng không quảng cáo
Bạn có thể tìm thấy định nghĩa về Mẫu URL trong phần Dịch vụ của chế độ xem khoảng không quảng cáo của người bán. Bạn sẽ thấy mẫu này trong phần "đoạn mã nguồn của nguồn cấp dữ liệu". Hãy tham khảo phần Chế độ xem kho hàng để biết thêm thông tin chi tiết về Chế độ xem người bán và Chế độ xem dịch vụ.

Lý do liên kết trong Trình xem phạm vi cung cấp
Bạn có thể tìm thấy trường linkout_reason_required
khi xem khung giờ trống cụ thể trong Chế độ xem tình trạng phòng.
