Stay organized with collections
Save and categorize content based on your preferences.
The client uses UpdateBooking to modify or cancel an existing booking.
If updating a booking fails due to any business logic error, the error should be
populated in the UpdateBookingResponse.booking_failure field and returned
with HTTP status 200.
Request
UpdateBookingRequest
A request message contains updated information in the booking field.
The request will contain a booking_id to identify the booking to update. It
will also include one of:
Slot details to update (booking modifications)
Status to change (booking cancellation)
Fields which do not require change will not be provided in the request.
Return value
UpdateBookingResponse
// Request to update a Booking.messageUpdateBookingRequest{// 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).Bookingbooking=1;}// Response with the updated Booking.messageUpdateBookingResponse{// The updated booking (required)Bookingbooking=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 instance, 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)UserPaymentOptionuser_payment_option=2;// If updating a booking fails, this field should reflect the business logic// error (e.g., booking is not cancellable) (required if failure occurs)BookingFailurebooking_failure=3;}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-20 UTC."],[[["\u003cp\u003eUpdateBooking API allows clients to modify or cancel existing bookings by sending an UpdateBookingRequest containing the booking ID and the desired changes.\u003c/p\u003e\n"],["\u003cp\u003eUpdateBookingRequest must include either updated slot details (for modifications) or a new status (for cancellations), omitting unchanged fields.\u003c/p\u003e\n"],["\u003cp\u003eUpdateBookingResponse returns the updated booking details, including any changes to the UserPaymentOption if applicable.\u003c/p\u003e\n"],["\u003cp\u003eEven if updating a booking fails due to business logic errors, the API responds with HTTP status 200, providing details about the failure in the booking_failure field of the UpdateBookingResponse.\u003c/p\u003e\n"]]],["The `UpdateBooking` process modifies or cancels a booking via an `UpdateBookingRequest`, identified by `booking_id`. The request includes either new slot details for modification or a status change for cancellation. The `UpdateBookingResponse` returns the updated `Booking` and may include an altered `UserPaymentOption` if changes occurred. If updating fails due to a business logic error, the `booking_failure` field is populated, and a 200 HTTP status is returned. Unchanged fields are omitted from the request.\n"],null,["# UpdateBooking method\n\nThe client uses UpdateBooking to modify or cancel an existing booking.\n\nIf updating a booking fails due to any business logic error, the error should be\npopulated in the `UpdateBookingResponse.booking_failure` field and returned\nwith HTTP status 200.\n\n**Request**\n\nUpdateBookingRequest\n\nA request message contains updated information in the booking field.\nThe request will contain a `booking_id` to identify the booking to update. It\nwill also include one of:\n\n1. Slot details to update (booking modifications)\n2. Status to change (booking cancellation)\n\nFields which do not require change will not be provided in the request.\n\n**Return value**\n\nUpdateBookingResponse \n\n```scilab\n// Request to update a Booking.\nmessage UpdateBookingRequest {\n // The booking to be updated\n // The following fields can be set in a booking:\n // - status, to cancel a booking.\n // - one of the following is required:\n // - start_time AND duration in the slot, to reschedule a booking.\n // - party_size (for dining reservations).\n Booking booking = 1;\n}\n\n// Response with the updated Booking.\nmessage UpdateBookingResponse {\n // The updated booking (required)\n Booking booking = 1;\n\n // The updated user payment option originally used to pay for this booking.\n // This should be set if the UpdateBookingRequest results in a change to\n // the UserPaymentOption.\n // For instance, if the booking is canceled, the UserPaymentOption should\n // reflect an additional credit to the user. In the case of a multi-use\n // payment option, the current_count should be increased by one to\n // allow the user to create another booking with this payment option. In the\n // case of a single-use payment option, a new single-use user payment option\n // should be returned. (required if altered in update)\n UserPaymentOption user_payment_option = 2;\n\n // If updating a booking fails, this field should reflect the business logic\n // error (e.g., booking is not cancellable) (required if failure occurs)\n BookingFailure booking_failure = 3;\n}\n```"]]