Mẫu và định nghĩa về UpdateBooking

Mẫu yêu cầu và phản hồi UpdateBooking

Yêu cầu UpdateBooking

{
"booking" : {
   "booking_id" : "890",
   "slot" : {
      "duration_sec" : "1800",
      "start_sec" : "1606473000"
      }
   }
}

Phản hồi 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"
      }
   }
}

Định nghĩa

Định nghĩa yêu cầu UpdateBooking

Thông báo yêu cầu chứa thông tin mới trong trường đặt phòng. Yêu cầu này chứa booking_id do nền tảng của bạn tạo thông qua phương thức CreateBooking để xác định yêu cầu đặt phòng cần cập nhật. Ngoài ra, thông báo này cũng bao gồm một trong những nội dung sau:

  • Thông tin về khung giờ cần cập nhật (sửa đổi thông tin đặt chỗ)
  • Trạng thái cần thay đổi (huỷ đặt phòng)

Những trường không yêu cầu thay đổi sẽ không được cung cấp trong yêu cầu.

Định nghĩa phản hồi 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;
}