Khi đặt một khung giờ còn trống với một mứ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.
- Đặt Mẫu URL trong nguồn cấp dữ liệu.
- Bật tính năng liên kết bên ngoài cho mỗi khung giờ có thể đặt lịch hẹ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 Lực lượng đặc trách kỹ thuật Internet (IETF), xem thêm thông tin tại datatracker.ietf.org. Bạn đặt URL bằng các thông số được điền tự động bằng thông tin liên quan đến lượt đặ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}`
Các 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 mối quan hệ tích hợp E2E đang hoạt động 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ụ, sau đây là định nghĩa cho trường đó.
message Service {
// ..
UriTemplate uri_template = 38;
}
Định nghĩa về 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 tính năng liên kết bên ngoài cho mỗi khung giờ có thể đặt lịch hẹn.
Phần sau đây giả định rằng bạn có một mối quan hệ tích hợp E2E đang hoạt động với một Nguồn cấp dữ liệu về tình trạng còn phòng hiện có. Sau khi thiết lập mẫu URL trong nguồn cấp dữ liệu dịch vụ, bạn sẽ cần chỉ định những khung giờ trống nào cần được 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ị PAYMENT_REQUIRED
.
Định nghĩa về lý do liên kết 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 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 Action Center
Sau khi gửi nguồn cấp dữ liệu thành công 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ách làm theo 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 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ẽ tìm thấy mẫu này trong phần "đoạn trích trong nguồn cấp dữ liệu". Hãy tham khảo Chế độ xem kho hàng để biết thêm thông tin về Chế độ xem người bán và dịch vụ.

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