UpdateBooking 要求和回應範例
UpdateBooking 要求
{
"booking" : {
"booking_id" : "890",
"slot" : {
"duration_sec" : "1800",
"start_sec" : "1606473000"
}
}
}
UpdateBooking 回應
{
"booking" : {
"booking_id" : "890",
"slot" : {
"duration_sec" : 1800,
"merchant_id" : "1234",
"resources" : {
"party_size" : 2
},
"service_id" : "1000",
"start_sec" : 1606473000
},
"status" : "CONFIRMED",
"user_information" : {
"email" : "john.smith@gmail.com",
"family_name" : "Smith",
"given_name" : "John",
"telephone" : "+12091111111",
"user_id" : "1111111111111111111"
}
}
}
定義
UpdateBooking 要求的定義
要求訊息的預訂欄位包含更新資訊。要求中會包含平台透過 CreateBooking
方法產生的 booking_id
,可供找出要更新的預訂;此外,還會顯示下列其中一則訊息:
- 要更新的時段詳細資料 (預訂修改)
- 要變更的狀態 (預訂取消)
要求中不會提供不需要變更的欄位。
UpdateBooking 回應定義
// Request to update a Booking.
message UpdateBookingRequest {
// The booking to be updated
// The following fields can be set in a booking:
// - status, to cancel a booking.
// - one of the following is required:
// - start_time AND duration in the slot, to reschedule a booking.
// - party_size (for dining reservations).
Booking booking = 1;
}
// Response with the updated Booking.
message UpdateBookingResponse {
// The updated booking (required)
Booking booking = 1;
// The updated user payment option originally used to pay for this booking.
// This should be set if the UpdateBookingRequest results in a change to
// the UserPaymentOption.
// For example, if the booking is canceled, the UserPaymentOption should
// reflect an additional credit to the user. In the case of a multi-use
// payment option, the current_count should be increased by one to
// allow the user to create another booking with this payment option. In the
// case of a single-use payment option, a new single-use user payment option
// should be returned. (required if altered in update)
UserPaymentOption user_payment_option = 2;
// If updating a booking fails, this field should reflect the business logic
// error (e.g., booking is not cancelable) (required if failure occurs)
BookingFailure booking_failure = 3;
}