วิธีการ CreateBooking

คำขอ

CreateBookingRequest

ผลลัพธ์

CreateBookingResponse

ผลข้างเคียง

CreateBooking ใช้ระยะเวลาสัญญาเช่า ทำให้ไม่สามารถใช้การจองครั้งต่อๆ ไปได้

รหัสข้อผิดพลาด gRPC ของ Canonical

  • INVALID_ARGUMENT หาก ClientInformation ที่ระบุไม่ถูกต้อง เช่น เนื่องจาก ฟิลด์ขาดหายไป
  • NOT_FOUND หากรหัสสัญญาเช่าที่ระบุไม่ถูกต้อง
  • RESOURCE_EXHAUSTED (หากช่องไม่พร้อมใช้งานตั้งแต่สร้าง สัญญาเช่า เช่น เนื่องจากการจองขัดแย้งกัน)
  • ALREADY_EXISTS (หากลูกค้ามีการจองสำหรับช่วงเวลานั้นอยู่แล้ว)
// Request to create a [ext.maps.booking.partner.v0.Booking] for an inventory
// slot. Consumes the lease.
message CreateBookingRequest {
  // The lease that is being confirmed to make this booking
  LeaseReference lease_ref = 1;

  // Personal information of the client making the appointment
  ClientInformation client_information = 2;

  // Information about payments. If the booking request does not succeed,
  // payment authorizations are automatically canceled.
  PaymentInformation payment_information = 3;

  // 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).
  PaymentProcessingParameters payment_processing_parameters = 4;
}

// Response with the created [ext.maps.booking.partner.v0.Booking] for an
// inventory slot
message CreateBookingResponse {
  // The created booking
  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.
  UserPaymentOption user_payment_option = 2;
}