ลูกค้าส่งคำขอสร้างการจองหลังจากตรวจสอบเวลาว่างของช่วงเวลาที่ขอและได้รับแจ้งว่าช่วงเวลาดังกล่าวว่าง แบ็กเอนด์ของพาร์ทเนอร์จะทำการจองสำหรับช่วงเวลาที่ขอและแสดงช่วงเวลาดังกล่าวหากดำเนินการสำเร็จ หรือแสดงข้อผิดพลาดเชิงตรรกะทางธุรกิจ (เช่น หากช่วงเวลาไม่พร้อมใช้งาน หรือการชำระเงินไม่ถูกต้อง เป็นต้น) หากดำเนินการไม่สำเร็จ
ข้อมูลเกี่ยวกับผู้ใช้และการชําระเงินจะระบุไว้ในขั้นตอนนี้
หากสร้างการจองไม่สำเร็จเนื่องจากข้อผิดพลาดของตรรกะทางธุรกิจ ระบบจะแสดงข้อผิดพลาดในการตอบกลับ ดูข้อมูลโดยละเอียดได้ที่การจองไม่สำเร็จ
คำขอ
CreateBookingRequest
ผลลัพธ์
CreateBookingResponse
รหัสข้อผิดพลาด gRPC ของ Canonical
INVALID_ARGUMENT
(หาก UserInformation ที่ระบุไม่ถูกต้อง เช่น เนื่องจากไม่มีฟิลด์)
// Request to create a [ext.maps.booking.partner.v2.Booking] for an inventory // slot. Consumes the lease if provided. message CreateBookingRequest { // The inventory slot that is being requested to make this booking. // If lease_ref is provided, slot must match the lease; slot is provided for // the partner to verify the lease information. // If lease_ref is absent, then create the booking for the slot. (required) Slot slot = 1; // The lease that is being confirmed to make this booking. // If lease_ref is provided, then create the booking using the lease. // (optional) LeaseReference lease_ref = 2; // Personal information of the user making the appointment (required) UserInformation user_information = 3; // Information about payments. When payment authorizations are handled by // Google, if the booking request does not succeed, payment authorizations are // automatically canceled. (optional) PaymentInformation payment_information = 4; // The parameters to be used if the payment is processed by the partner // (i.e. payment_information.payment_processed_by is equal to // PROCESSED_BY_PARTNER). (optional) PaymentProcessingParameters payment_processing_parameters = 5; // Idempotency token for [ext.maps.booking.partner.v2.CreateBooking] requests. // (required) string idempotency_token = 6; // A string from the user which contains any special requests or additional // information that they would like to notify the merchant about. (optional) string additional_request = 7; } // Response with the created [ext.maps.booking.partner.v2.Booking] for an // inventory slot message CreateBookingResponse { // The created booking (required) Booking booking = 1; // The updated user payment option used in this booking. // If a new payment option was purchased to pay for the booking, this should // be a newly created user payment option. // If an already purchased user payment option was used for this booking, // this should reflect an updated version of that user payment option. // (optional) UserPaymentOption user_payment_option = 2; // If creating a booking fails, this field should reflect the business logic // error (e.g., slot has become unavailable) and all other fields in the // CreateBookingResponse message are expected to be unset. (required if // failure occurs) BookingFailure booking_failure = 3; }