Protocol Documentation

Table of Contents

Top

engine/book/lodging/v1/booking.proto

BookingDetails

An Engine Lodging BookingDetails and the Property ReservationDetails it describes.

Field Type Label Description
booking_id string   A unique identifier for the BookingDetails.
status BookingStatus   Details of the state of the BookingDetails.
reservation_details ReservationDetails   Details of the Property ReservationDetails
cancellation_details CancellationDetails   Optionally, the details of the cancellation action taken for the BookingDetails.
metadata BookingMetadata repeated Any metadata provided while booking. Maximum length: 10

CancellationDetails

Details of the cancellation of a BookingDetails.

Field Type Label Description
canceled_at string   An ISO-8601-compliant date and time at which the BookingDetails was canceled. See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations
refund engine.common.v1.Refund   The details of the Refund granted when canceled.

Top

engine/book/lodging/v1/guests.proto

Guest

A traveler for the stay.

Field Type Label Description
family_name string   The guest's family name or last name.
given_name string   The guest's given name or first name.
is_adult bool   True if the guest is an adult.

GuestWithLoyalty

A traveler who may be awarded Loyalty Rewards for the stay.

Field Type Label Description
guest Guest   The traveler details.
loyalty_program_identifier engine.common.v1.LodgingLoyaltyProgramIdentifier   The identifier to provide to the Property during Booking. Invalid identifiers may result in Booking failures with some Properties. Not all Offers include loyalty rewards.

RoomGuests

Details of the guests staying within a single room during the stay.

Field Type Label Description
primary_guest GuestWithLoyalty   The primary guest of a room
additional_guests Guest repeated Any additional names you wish to be able to check-in to the room without the RoomGuests.primary_guest present. Not all Properties allow additional guests to check-in. The primary guest should not be included in the additional_guests field.

Top

engine/book/lodging/v1/metadata.proto

BookingMetadata

Custom Metadata attached to a BookingDetails. Metadata values allow a Partner API customer to carry a small amount of context on a BookingDetails for their own use.

Field Type Label Description
key string   A textual key to represent the purpose of the metadata, for example, "Contract ID". Keys must be unique within a BookingDetails. Maximum length: 40 characters
value string   A textual value. Maximum length: 100 characters
external bool   If true, this Metadata entry will be included on invoices and reports. If false, this entry will only be available via direct API access.

Top

engine/book/lodging/v1/quote.proto

Quote

The full details of the item to be Booked.

Field Type Label Description
check_in_date string   An ISO-8601-compliant date on which the stay begins. See https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates
check_out_date string   An ISO-8601-compliant date on which the stay ends. See https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates
offer_summary engine.shop.lodging.v1.OfferSummary   The details of the OfferSummary to be Booked.
room_count int32   The number of rooms to be Booked.
room_description engine.shop.lodging.v1.RoomDescription   The details of the RoomDescription to be booked.
available_actions engine.common.v1.AvailableActions   Optionally, the actions (such as cancellation) that are available for the BookingDetails if they are known. Not every action will be available through the API for every reservation. Some may be available but the availability is not known at the point of the LodgingBookingService.ConfirmOffer or the LodgingBookingService.Book request.

Top

engine/book/lodging/v1/reservation.proto

ReservationDetails

Details of the Reservation made with the Property.

Field Type Label Description
confirmation_numbers string repeated The confirmation numbers provided by the Property after a successful reservation. Confirmation numbers may not be available immediately after booking. The quantity of confirmation numbers may vary by the Property booked.
created_at string   An ISO-8601-compliant date and time at which the ReservationDetails was booked. See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations
quote Quote   The details of the Quote that was purchased.

Top

engine/book/lodging/v1/status.proto

BookingStatus

Details describing the observed state of the BookingDetails.

Field Type Label Description
code LodgingBookingStatusCode    

LodgingBookingStatusCode

A value representing the state of a BookingDetails.

Name Number Description
LODGING_BOOKING_STATUS_UNSPECIFIED 0  
LODGING_BOOKING_STATUS_PENDING 1 The Booking has been submitted, but has not yet been confirmed.
LODGING_BOOKING_STATUS_CONFIRMED 2 The Booking has been confirmed.
LODGING_BOOKING_STATUS_CANCELED 3 The Booking has been canceled and is no longer active.

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double   double double float float64 double float Float
float   float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool   bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)

Back to top

Copyright © 2025 HotelEngine, Inc., d/b/a Engine
Documentation generated: August 06, 2025
Version: 2.0.0-pre.5