UpdateBooking 方法
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
请求
UpdateBookingRequest
请求消息会在预订字段中包含更新后的信息,并在 update_mask 字段中列出要更新的所有预订字段的路径。例如,负责重新安排现有预订的请求的 update_mask 字段包含以下两个路径:
paths: "start_time"
paths: "duration"
如需了解详情,请参阅 FieldMask。
返回值
UpdateBookingResponse
规范化 gRPC 错误代码
- 如果提供的字段掩码包含无效值或更新后的预订字段无效,则使用
INVALID_ARGUMENT
。业务逻辑不允许更新字段(例如,因时间太晚而无法取消)时也使用该错误代码。
- 如果提供的预订 ID 未知,则使用
NOT_FOUND
。
- 如果与更新后的开始时间对应的空档不可预订,则使用
RESOURCE_EXHAUSTED
。
// Request to update a [ext.maps.booking.partner.v0.Booking]
message UpdateBookingRequest {
// Field mask of all booking fields to be updated
google.protobuf.FieldMask update_mask = 1;
// The booking to be updated
// The following fields can be set in a booking:
// - status, to cancel a booking.
// - start_time and duration to reschedule a booking.
Booking booking = 2;
}
// Response with the updated [ext.maps.booking.partner.v0.Booking]
message UpdateBookingResponse {
// The updated booking
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 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.
UserPaymentOption user_payment_option = 2;
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eUpdateBookingRequest\u003c/code\u003e updates booking information using the \u003ccode\u003eupdate_mask\u003c/code\u003e field to specify the fields to change.\u003c/p\u003e\n"],["\u003cp\u003eIt allows rescheduling by updating \u003ccode\u003estart_time\u003c/code\u003e and \u003ccode\u003eduration\u003c/code\u003e, and canceling by updating the \u003ccode\u003estatus\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003ePotential errors include \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e for invalid updates, \u003ccode\u003eNOT_FOUND\u003c/code\u003e for unknown booking IDs, and \u003ccode\u003eRESOURCE_EXHAUSTED\u003c/code\u003e for unavailable slots.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eUpdateBookingResponse\u003c/code\u003e returns the updated booking and might include an updated \u003ccode\u003eUserPaymentOption\u003c/code\u003e if the update affects payment.\u003c/p\u003e\n"]]],["The `UpdateBookingRequest` message updates a booking by specifying the `booking` field with new information and `update_mask` with paths of the fields to modify, such as \"start_time\" and \"duration\". The request can modify a booking's status, start time, or duration. The `UpdateBookingResponse` returns the modified booking and any updated `UserPaymentOption`. Errors like `INVALID_ARGUMENT`, `NOT_FOUND`, and `RESOURCE_EXHAUSTED` may occur due to invalid input, unknown ID, or slot unavailability.\n"],null,["# UpdateBooking method\n\n**Request**\n\nUpdateBookingRequest\n\nA request message contains updated information in the booking field, and lists\npaths of all booking fields to be updated in the update_mask field. For example,\nthe update_mask field of a request that reschedules an existing booking contains\nthe following two paths: \n\n```scdoc\n paths: \"start_time\"\n paths: \"duration\"\n```\n\nSee\n[FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask)\nfor additional information.\n\n**Return value**\n\nUpdateBookingResponse\n\n**Canonical gRPC error codes**\n\n- `INVALID_ARGUMENT` if the provided field mask contains invalid values or any of the updated Booking fields are invalid. This includes the case where updating the field is not permitted by business logic, e.g. because it is too late to cancel.\n- `NOT_FOUND` if the provided booking ID is unknown\n- `RESOURCE_EXHAUSTED` if the slot that corresponds to the updated start time is not available for booking.\n\n```scilab\n// Request to update a [ext.maps.booking.partner.v0.Booking]\nmessage UpdateBookingRequest {\n // Field mask of all booking fields to be updated\n google.protobuf.FieldMask update_mask = 1;\n\n // The booking to be updated\n // The following fields can be set in a booking:\n // - status, to cancel a booking.\n // - start_time and duration to reschedule a booking.\n Booking booking = 2;\n}\n\n// Response with the updated [ext.maps.booking.partner.v0.Booking]\nmessage UpdateBookingResponse {\n // The updated booking\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.\n UserPaymentOption user_payment_option = 2;\n}\n```"]]