Reservation object represents the booking of a room type for a customer and a specific time period.
| Resource | Description |
|---|---|
| GET /v1/Reservation/{id} | Get the stored data for a reservation |
| GET /v1/Reservations/Future | Get all future reservations |
| POST /v1/Reservation | Create a new reservation |
| POST /v1/Reservations | Get the stored data for a set of reservations |
| POST /v2/Reservations | Get the stored data for a set of reservations, the customer data in the reservations are returned as one object |
| POST /v1/Reservations/Filter | Search for reservations |
| POST /v1/Reservation/{reservationId}/Guest | Add existing guest to reservation |
| POST /v2/Reservations/CheckedIn | Get checked in reservations between specified dates |
| POST /v2/Reservations/Status | Get chunk of 2000 reservations with reservation ids and status |
| PUT /v1/Reservation | Update the data of an existing reservation |
| PUT /v1/Reservation/{id} | Update selected data of an existing reservation |
| GET /v1/Reservation/{id}/ExtraCharges | Get extra charges for a reservation |
| POST /v1/Reservation/{id}/ExtraCharge | Add an extra charge to a reservation |
| DELETE /v1/Reservation/{id}/ExtraCharge/{id2} | Delete an extra charge of a reservation |
| POST /v1/Reservations/Group | Groups two or more reservations |
| POST /v1/Reservations/Ungroup | Ungroup specified number of reservations. Ungrouping all reservations deletes the group. |
| GET /v1/Reservation/{id}/Payments | Get payments of a reservation and its grouped ones. |
| Name | Type | Description |
|---|---|---|
| actualReservationDate | date (YYYY-MM-DD) | Actual date that reservation was created |
| bookingAgencyId | int | Unique identifier of bookingAgency of reservation |
| bookingAgencyReferenceCode | string (50) | Unique identifier of reservation for the bookingAgency |
| contractId | int | Unique identifier of holding contract for reservation |
| customer | object | Information about customer |
| currencyCode | string (5) | Determines the currency in which the reservation will be paid |
| dateFrom | date (YYYY-MM-DD) | Starting date of reservation |
| dateTo | date (YYYY-MM-DD) | Ending date of reservation |
| id | int | Unique identifier of reservation |
| notes | string (1000) | Notes about the reservation |
| priceListId | int | Unique identifier of holding price list for the reservation |
| reservationStatusId | int | Identifier of reservation's status |
| roomId | int | Unique identifier of the room to be reserved |
| roomTypeId | int | Unique identifier for the roomType to be reserved |
| totalAgreedPrice | decimal (##.##) | The amount that the customer will pay for this reservation. It overrides the normal price |
| board | string | There are 5 board codes: RO (Room only), BB (Bed&breakfast), HB (Half board), FB (Full board) and AI (All inclusive) |
| cancellationFeeBookingAgency | decimal | The amount that is withheld from the agency in case of cancellation |
| cancellationReasonId | int | The unique identifier for the cancellation reason (applies only to TripAdvisor) |
| groupId | string | If the reservation is part of a multireservation (multiple rooms in one go), then the group ID is non-null and contains a unique GUID. Otherwise its empty |
| invoiceId | int | The unique system identifier of the last invoice issued for the reservation |
| invoiceNumber | string | The unique number of the invoice as shown on paper |
| externalSystemId | string | The unique number of the external systems |
| promoCode | string | The promo code, if any, that was used when the reservation was made. Applies to hoteliga booking engine reservations only |
| totalExtraTaxes | decimal | The sum of all taxes per reservation that are on top to the agreed price of the reservation |
| Value | Description |
|---|---|
| 1 | Tentative |
| 2 | Channel new |
| 3 | Confirmed |
| 4 | Checked-in |
| 5 | Checked-out |
| 6 | Early departure |
| 7 | Confirmed cancelled |
| 8 | Tentative cancelled |
| 9 | Customer no-show |
| 10 | Modified from channel |
| 11 | Cancelled from channel |
| 12 | Checked-out late |
Get the stored data for a reservation.
Request parameters
| Name | Value |
|---|---|
| id | The id of the requested reservation |
Response
The result is a reservation object.
Example Response
<?xml version="1.0" ?>
<Reservation>
<ActualReservationDate>2016-07-17T00:00:00</ActualReservationDate>
<BookingAgencyId>12</BookingAgencyId>
<BookingAgencyReferenceCode>166383</BookingAgencyReferenceCode>
<ContractId>1</ContractId>
<CustomerId>1</CustomerId>
<CurrencyCode>EUR</CurrencyCode>
<DateFrom>2016-07-18T00:00:00</DateFrom>
<DateTo>2016-07-24T00:00:00</DateTo>
<Id>1</Id>
<Notes />
<PriceListId>1</PriceListId>
<ReservationStatusId>5</ReservationStatusId>
<RoomId>15</RoomId>
<RoomTypeId>2</RoomTypeId>
<TotalAgreedPrice>480.00</TotalAgreedPrice>
</Reservation>
{
"actualReservationDate":"2016-07-17T00:00:00",
"bookingAgencyId":12,
"bookingAgencyReferenceCode":"166383",
"contractId":1,
"customerId":1,
"currencyCode":"EUR",
"dateFrom":"2016-07-18T00:00:00",
"dateTo":"2016-07-24T00:00:00",
"id":1,
"notes":"",
"priceListId":1,
"reservationStatusId":5,
"roomId":15,
"roomTypeId":2,
"totalAgreedPrice":280.00
}
Get all future reservations.
Request parameters
This request does not take any parameters.
Response
The result is a list of reservation objects.
Example Response
<?xml version="1.0"?>
<Reservations>
<Reservation>
<ActualReservationDate>2018-02-08T00:00:00</ActualReservationDate>
<AgreedPrice>0.00</AgreedPrice>
<Balance>0.00</Balance>
<Board>RO</Board>
<BookingAgencyId>0</BookingAgencyId>
<BookingAgencyReferenceCode />
<CancellationFeeBookingAgency>0</CancellationFeeBookingAgency>
<CancellationReasonId>0</CancellationReasonId>
<ChannelNotes />
<Commission>0</Commission>
<CommissionBookingAgency>0</CommissionBookingAgency>
<ContractId>9999</ContractId>
<CreateDate>2018-02-08T13:47:44</CreateDate>
<CreateUser>admin</CreateUser>
<CreditCardViews>0</CreditCardViews>
<CustomerId>4</CustomerId>
<CurrencyCode>CAD</CurrencyCode>
<DateFrom>2018-03-10T00:00:00</DateFrom>
<DateTo>2018-03-17T00:00:00</DateTo>
<Discount>0</Discount>
<ExchangeRate>1.00</ExchangeRate>
<GroupId>4ddfce2c-dbbd-410c-81bf-4cf2313b72d5</GroupId>
<OtherReservationsInGroup>
<Reservation id="2">
<RoomTypeId>2</RoomTypeId>
</Reservation>
<Reservation id="3">
<RoomTypeId>4</RoomTypeId>
</Reservation>
</OtherReservationsInGroup>
<Id>1</Id>
<InvoiceId>0</InvoiceId>
<InvoiceNumber />
<ExternalSystemId />
<IsChannelReservation>0</IsChannelReservation>
<IsLocked>0</IsLocked>
<IsNonRefundable>0</IsNonRefundable>
<IsOverriden>0</IsOverriden>
<LastUpdate>2018-02-08T13:47:44</LastUpdate>
<MoveCustomerTold>0</MoveCustomerTold>
<NormalPrice>0.00</NormalPrice>
<Notes />
<NumAdults>1</NumAdults>
<NumChildren>0</NumChildren>
<NumNights>7</NumNights>
<PreCancellationTotalAgreedPrice>0.00</PreCancellationTotalAgreedPrice>
<PriceListId>2</PriceListId>
<PromoCode />
<ReservationSourceId>12</ReservationSourceId>
<ReservationStatusId>3</ReservationStatusId>
<RoomId>7</RoomId>
<RoomTypeId>4</RoomTypeId>
<Status>FullyPaid</Status>
<TotalAgreedPrice>0.00</TotalAgreedPrice>
<TotalAgreedPriceCurrency>0.00</TotalAgreedPriceCurrency>
<TotalExtraCharges>0.00</TotalExtraCharges>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<TotalNormalPrice>0.00</TotalNormalPrice>
<TotalNormalPriceCurrency>0.00</TotalNormalPriceCurrency>
<TotalPayments>0.00</TotalPayments>
<UpdateUser>admin</UpdateUser>
<BoardTitle>Room only</BoardTitle>
<BookingAgencyCustomerId>0</BookingAgencyCustomerId>
<BookingAgencyTitle />
<CustomerCountry>Australia</CustomerCountry>
<CustomerCountryCode>AU</CustomerCountryCode>
<CustomerFirstName>Nicole</CustomerFirstName>
<CustomerLastName>Kidman</CustomerLastName>
<CustomerNotes />
<CustomerMobile />
<CustomerEmail />
<Guests>
<Guest id="0">
<FirstName />
<IdDocIssueDate />
<IdDocType>0</IdDocType>
<LastName />
<LastName2 />
<ProvinceId>0</ProvinceId>
<SalutationId>0</SalutationId>
</Guest>
</Guests>
<ReservationStatusTitle>Confirmed</ReservationStatusTitle>
<RoomTitle>07</RoomTitle>
<RoomTypeTitle>Female-only</RoomTypeTitle>
</Reservation>
...
</Reservations>
[
{
"actualReservationDate":"2018-02-08T00:00:00",
"agreedPrice":0.00,
"balance":0.00,
"board":"RO",
"bookingAgencyId":0,
"bookingAgencyReferenceCode":"",
"cancellationFeeBookingAgency":0.0,
"cancellationReasonId":0,
"channelNotes":"",
"commission":0.0,
"commissionBookingAgency":0.0,
"contractId":9999,
"createDate":"2018-02-08T13:47:44",
"createUser":"admin",
"creditCardRestToken":null,
"creditCardToken":null,
"creditCardViews":0,
"currencyCode":"CAD",
"dateFrom":"2018-03-10T00:00:00",
"dateTo":"2018-03-17T00:00:00",
"discount":0.0,
"exchangeRate":1.00,
"groupId":"4ddfce2c-dbbd-410c-81bf-4cf2313b72d5",
"otherReservationsInGroup": {
"2": {
"roomTypeId": 2
},
"3": {
"roomTypeId": 4
}
},
"id":1,
"invoiceId":0,
"invoiceNumber":"",
"externalSystemId":"",
"isChannelReservation":0,
"isLocked":0,
"isNonRefundable":0,
"isOverriden":0,
"lastUpdate":"2018-02-08T13:47:44",
"moveCustomerTold":0,
"normalPrice":0.00,
"notes":"",
"numAdults":1,
"numChildren":0,
"numNights":7,
"preCancellationTotalAgreedPrice":0.00,
"priceListId":2,
"promoCode":"",
"reservationSourceId":12,
"reservationStatusId":3,
"roomId":7,
"roomTypeId":4,
"status":3,
"totalAgreedPrice":0.00,
"totalAgreedPriceCurrency":0.00,
"totalExtraCharges":0.00,
"totalExtraTaxes":0.00,
"totalNormalPrice":0.00,
"totalNormalPriceCurrency":0.00,
"totalPayments":0.00,
"updateUser":"admin",
"boardTitle":"Room only",
"bookingAgencyCustomerFirstName":null,
"bookingAgencyCustomerId":0,
"bookingAgencyCustomerLastName":null,
"bookingAgencyTitle":"",
"customerCountry":"Australia",
"customerCountryCode":"AU",
"customerFirstName":"Nicole",
"customerLastName":"Kidman",
"customerNotes":"",
"customerMobile":"",
"customerEmail":"",
"guests":[
{
"dateOfBirth":"",
"firstName":"",
"id":0,
"idDocIssueDate":"",
"idDocNumber":null,
"idDocType":0,
"lastName":"",
"lastName2":"",
"nationalityCountryId":null,
"provinceId":0,
"salutationId":0
}
],
"reservationStatusTitle":"Confirmed",
"roomTitle":"07",
"roomTypeTitle":"Female-only"
}, ...
]
Create a new reservation.
Request parameters
| Name | Value |
|---|---|
| bookingAgencyId | Unique identifier of agency making the booking |
| bookingAgencyReferenceCode | Unique identifier of agency reference code |
| customer | Customer object. For a new customer apply the restrictions for a new customer. For an existing customer is required only the customer's id. |
| currencyCode | Currency code of payment |
| PriceListId | Mandatory if Rack Rate is not created |
| dateFrom | Starting date of reservation |
| dateTo | Ending date of reservation |
| numAdults | Number of adults in the room |
| reservationStatus | Reservation status id |
| roomId | Id of the room to be reserved |
| roomTypeId | Id of the room type to be reserved |
| totalAgreedPrice | Total cost of reservation |
| board | Board code |
* Field id must not be issued in the request.
Response
The result is the ID of the newly created reservation.
Example Request
<Reservation>
<Customer>
<LastName>Smith</LastName>
</Customer>
<RoomTypeId>5</RoomTypeId>
<TotalAgreedPrice>100</TotalAgreedPrice>
<CurrencyCode>EUR</CurrencyCode>
<ReservationStatus>3</ReservationStatus>
<DateFrom>2018-05-15</DateFrom>
<DateTo>2018-05-16</DateTo>
</Reservation>
{
roomTypeId: 2,
customer: {
lastName: 'Smith'
},
totalAgreedPrice: 80.00,
dateFrom: "2016-11-20",
dateTo: "2016-11-25",
bookingAgencyId: 1,
contractId: 1,
reservationStatus: 3,
currencyCode: "EUR"
}
Example Response
<?xml version="1.0" ?> <Id>429</Id>
{
"id": 429
}
Get stored data for a set of existing reservations.
Request parameters
| Name | Type | Value |
|---|---|---|
| id | int | Unique identifier of requested reservation |
Response
The result is a list of Reservation objects.
Example Request
<Reservations>
<id>1</id>
<id>15</id>
</Reservations>
{
ReservationIds: [1,15]
}
Example Response
<?xml version="1.0"?>
<Reservations>
<Reservation>
<ActualReservationDate>2018-02-08T00:00:00</ActualReservationDate>
<AgreedPrice>0.00</AgreedPrice>
<Balance>0.00</Balance>
<Board>RO</Board>
<BookingAgencyId>0</BookingAgencyId>
<BookingAgencyReferenceCode />
<CancellationFeeBookingAgency>0</CancellationFeeBookingAgency>
<CancellationReasonId>0</CancellationReasonId>
<ChannelNotes />
<Commission>0</Commission>
<CommissionBookingAgency>0</CommissionBookingAgency>
<ContractId>9999</ContractId>
<CreateDate>2018-02-08T13:47:44</CreateDate>
<CreateUser>admin</CreateUser>
<CreditCardViews>0</CreditCardViews>
<CustomerId>4</CustomerId>
<CurrencyCode>CAD</CurrencyCode>
<DateFrom>2018-03-10T00:00:00</DateFrom>
<DateTo>2018-03-17T00:00:00</DateTo>
<Discount>0</Discount>
<ExchangeRate>1.00</ExchangeRate>
<GroupId>4ddfce2c-dbbd-410c-81bf-4cf2313b72d5</GroupId>
<OtherReservationsInGroup>
<Reservation id="2">
<RoomTypeId>2</RoomTypeId>
</Reservation>
<Reservation id="3">
<RoomTypeId>4</RoomTypeId>
</Reservation>
</OtherReservationsInGroup>
<Id>1</Id>
<InvoiceId>0</InvoiceId>
<InvoiceNumber />
<ExternalSystemId />
<IsChannelReservation>0</IsChannelReservation>
<IsLocked>0</IsLocked>
<IsNonRefundable>0</IsNonRefundable>
<IsOverriden>0</IsOverriden>
<LastUpdate>2018-02-08T13:47:44</LastUpdate>
<MoveCustomerTold>0</MoveCustomerTold>
<NormalPrice>0.00</NormalPrice>
<Notes />
<NumAdults>1</NumAdults>
<NumChildren>0</NumChildren>
<NumNights>7</NumNights>
<PreCancellationTotalAgreedPrice>0.00</PreCancellationTotalAgreedPrice>
<PriceListId>2</PriceListId>
<PromoCode />
<ReservationSourceId>12</ReservationSourceId>
<ReservationStatusId>3</ReservationStatusId>
<RoomId>7</RoomId>
<RoomTypeId>4</RoomTypeId>
<Status>FullyPaid</Status>
<TotalAgreedPrice>0.00</TotalAgreedPrice>
<TotalAgreedPriceCurrency>0.00</TotalAgreedPriceCurrency>
<TotalExtraCharges>0.00</TotalExtraCharges>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<TotalNormalPrice>0.00</TotalNormalPrice>
<TotalNormalPriceCurrency>0.00</TotalNormalPriceCurrency>
<TotalPayments>0.00</TotalPayments>
<UpdateUser>admin</UpdateUser>
<BoardTitle>Room only</BoardTitle>
<BookingAgencyCustomerId>0</BookingAgencyCustomerId>
<BookingAgencyTitle />
<CustomerCountry>Australia</CustomerCountry>
<CustomerCountryCode>AU</CustomerCountryCode>
<CustomerFirstName>Nicole</CustomerFirstName>
<CustomerLastName>Kidman</CustomerLastName>
<CustomerNotes />
<CustomerMobile />
<CustomerEmail />
<Guests>
<Guest id="0">
<FirstName />
<IdDocIssueDate />
<IdDocType>0</IdDocType>
<LastName />
<LastName2 />
<ProvinceId>0</ProvinceId>
<SalutationId>0</SalutationId>
</Guest>
</Guests>
<ReservationStatusTitle>Confirmed</ReservationStatusTitle>
<RoomTitle>07</RoomTitle>
<RoomTypeTitle>Female-only</RoomTypeTitle>
</Reservation>
...
</Reservations>
[
{
"actualReservationDate":"2018-02-08T00:00:00",
"agreedPrice":0.00,
"balance":0.00,
"board":"RO",
"bookingAgencyId":0,
"bookingAgencyReferenceCode":"",
"cancellationFeeBookingAgency":0.0,
"cancellationReasonId":0,
"channelNotes":"",
"commission":0.0,
"commissionBookingAgency":0.0,
"contractId":9999,
"createDate":"2018-02-08T13:47:44",
"createUser":"admin",
"creditCardRestToken":null,
"creditCardToken":null,
"creditCardViews":0,
"currencyCode":"CAD",
"dateFrom":"2018-03-10T00:00:00",
"dateTo":"2018-03-17T00:00:00",
"discount":0.0,
"exchangeRate":1.00,
"groupId":"4ddfce2c-dbbd-410c-81bf-4cf2313b72d5",
"otherReservationsInGroup": {
"2": {
"roomTypeId": 2
},
"3": {
"roomTypeId": 4
}
},
"id":1,
"invoiceId":0,
"invoiceNumber":"",
"externalSystemId":"",
"isChannelReservation":0,
"isLocked":0,
"isNonRefundable":0,
"isOverriden":0,
"lastUpdate":"2018-02-08T13:47:44",
"moveCustomerTold":0,
"normalPrice":0.00,
"notes":"",
"numAdults":1,
"numChildren":0,
"numNights":7,
"preCancellationTotalAgreedPrice":0.00,
"priceListId":2,
"promoCode":"",
"reservationSourceId":12,
"reservationStatusId":3,
"roomId":7,
"roomTypeId":4,
"status":3,
"totalAgreedPrice":0.00,
"totalAgreedPriceCurrency":0.00,
"totalExtraCharges":0.00,
"totalExtraTaxes":0.00,
"totalNormalPrice":0.00,
"totalNormalPriceCurrency":0.00,
"totalPayments":0.00,
"updateUser":"admin",
"boardTitle":"Room only",
"bookingAgencyCustomerFirstName":null,
"bookingAgencyCustomerId":0,
"bookingAgencyCustomerLastName":null,
"bookingAgencyTitle":"",
"customerCountry":"Australia",
"customerCountryCode":"AU",
"customerFirstName":"Nicole",
"customerLastName":"Kidman",
"customerNotes":"",
"customerMobile":"",
"customerEmail":"",
"guests":[
{
"dateOfBirth":"",
"firstName":"",
"id":0,
"idDocIssueDate":"",
"idDocNumber":null,
"idDocType":0,
"lastName":"",
"lastName2":"",
"nationalityCountryId":null,
"provinceId":0,
"salutationId":0
}
],
"reservationStatusTitle":"Confirmed",
"roomTitle":"07",
"roomTypeTitle":"Female-only"
}, ...
]
Get the stored data for a set of reservations, the customer data in the reservations are returned as one object
Request parameters
| Name | Type | Value |
|---|---|---|
| id | int | Unique identifier of requested reservation |
Response
The result is a list of Reservation objects.
Example Request
<Reservations>
<id>1</id>
<id>15</id>
</Reservations>
{
ReservationIds: [1,15]
}
Example Response
<?xml version="1.0"?>
<Reservations>
<Reservation>
<ActualReservationDate>2018-02-08T00:00:00</ActualReservationDate>
<AgreedPrice>0.00</AgreedPrice>
<Balance>0.00</Balance>
<Board>RO</Board>
<BookingAgencyId>0</BookingAgencyId>
<BookingAgencyReferenceCode />
<CancellationFeeBookingAgency>0</CancellationFeeBookingAgency>
<CancellationReasonId>0</CancellationReasonId>
<ChannelNotes />
<Commission>0</Commission>
<CommissionBookingAgency>0</CommissionBookingAgency>
<ContractId>9999</ContractId>
<CreateDate>2018-02-08T13:47:44</CreateDate>
<CreateUser>admin</CreateUser>
<CreditCardViews>0</CreditCardViews>
<CurrencyCode>CAD</CurrencyCode>
<DateFrom>2018-03-10T00:00:00</DateFrom>
<DateTo>2018-03-17T00:00:00</DateTo>
<Discount>0</Discount>
<ExchangeRate>1.00</ExchangeRate>
<GroupId>4ddfce2c-dbbd-410c-81bf-4cf2313b72d5</GroupId>
<OtherReservationsInGroup>
<Reservation id="2">
<RoomTypeId>2</RoomTypeId>
</Reservation>
<Reservation id="3">
<RoomTypeId>4</RoomTypeId>
</Reservation>
</OtherReservationsInGroup>
<Id>1</Id>
<InvoiceId>0</InvoiceId>
<InvoiceNumber />
<ExternalSystemId />
<IsChannelReservation>0</IsChannelReservation>
<IsLocked>0</IsLocked>
<IsNonRefundable>0</IsNonRefundable>
<IsOverriden>0</IsOverriden>
<LastUpdate>2018-02-08T13:47:44</LastUpdate>
<MoveCustomerTold>0</MoveCustomerTold>
<NormalPrice>0.00</NormalPrice>
<Notes />
<NumAdults>1</NumAdults>
<NumChildren>0</NumChildren>
<NumNights>7</NumNights>
<PreCancellationTotalAgreedPrice>0.00</PreCancellationTotalAgreedPrice>
<PriceListId>2</PriceListId>
<PromoCode />
<ReservationSourceId>12</ReservationSourceId>
<ReservationStatusId>3</ReservationStatusId>
<RoomId>7</RoomId>
<RoomTypeId>4</RoomTypeId>
<Status>FullyPaid</Status>
<TotalAgreedPrice>0.00</TotalAgreedPrice>
<TotalAgreedPriceCurrency>0.00</TotalAgreedPriceCurrency>
<TotalExtraCharges>0.00</TotalExtraCharges>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<TotalNormalPrice>0.00</TotalNormalPrice>
<TotalNormalPriceCurrency>0.00</TotalNormalPriceCurrency>
<TotalPayments>0.00</TotalPayments>
<UpdateUser>admin</UpdateUser>
<BoardTitle>Room only</BoardTitle>
<BookingAgencyCustomerId>0</BookingAgencyCustomerId>
<BookingAgencyTitle />
<Customer id="10820">
<BillingAddress1 >
<BillingAddress2 >
<BillingCity >
<BillingZipCode >
<Country>Australia</Country>
<CountryCode>AU</CountryCode>
<Email>nicole@hoteliga.com</Email>
<FirstName>Nicole</FirstName>
<LastName>Kidman</LastName>
<IsSalesTaxExempt>0</IsSalesTaxExempt>
<Mobile>+343001022455</Mobile />
<Notes />
<Occupation>actor</Occupation>
<Phone>+389071111213</Phone>
<ProvinceId>0</ProvinceId>
<TaxId > 11111 </TaxId >
<TaxAdditional />
<Categories>
<Category id="1">VIP<Category>
...
</Categories>
</Customer>
<Guests>
<Guest id="0">
<FirstName />
<IdDocIssueDate />
<IdDocType>0</IdDocType>
<LastName />
<LastName2 />
<ProvinceId>0</ProvinceId>
<SalutationId>0</SalutationId>
</Guest>
</Guests>
<ReservationStatusTitle>Confirmed</ReservationStatusTitle>
<RoomTitle>07</RoomTitle>
<RoomTypeTitle>Female-only</RoomTypeTitle>
</Reservation>
...
</Reservations>
[
{
"actualReservationDate":"2018-02-08T00:00:00",
"agreedPrice":0.00,
"balance":0.00,
"board":"RO",
"bookingAgencyId":0,
"bookingAgencyReferenceCode":"",
"cancellationFeeBookingAgency":0.0,
"cancellationReasonId":0,
"channelNotes":"",
"commission":0.0,
"commissionBookingAgency":0.0,
"contractId":9999,
"createDate":"2018-02-08T13:47:44",
"createUser":"admin",
"creditCardRestToken":null,
"creditCardToken":null,
"creditCardViews":0,
"currencyCode":"CAD",
"dateFrom":"2018-03-10T00:00:00",
"dateTo":"2018-03-17T00:00:00",
"discount":0.0,
"exchangeRate":1.00,
"groupId":"4ddfce2c-dbbd-410c-81bf-4cf2313b72d5",
"otherReservationsInGroup": {
"2": {
"roomTypeId": 2
},
"3": {
"roomTypeId": 4
}
},
"id":1,
"invoiceId":0,
"invoiceNumber":"",
"externalSystemId":"",
"isChannelReservation":0,
"isLocked":0,
"isNonRefundable":0,
"isOverriden":0,
"lastUpdate":"2018-02-08T13:47:44",
"moveCustomerTold":0,
"normalPrice":0.00,
"notes":"",
"numAdults":1,
"numChildren":0,
"numNights":7,
"preCancellationTotalAgreedPrice":0.00,
"priceListId":2,
"promoCode":"",
"reservationSourceId":12,
"reservationStatusId":3,
"roomId":7,
"roomTypeId":4,
"status":3,
"totalAgreedPrice":0.00,
"totalAgreedPriceCurrency":0.00,
"totalExtraCharges":0.00,
"totalExtraTaxes":0.00,
"totalNormalPrice":0.00,
"totalNormalPriceCurrency":0.00,
"totalPayments":0.00,
"updateUser":"admin",
"boardTitle":"Room only",
"bookingAgencyCustomerFirstName":null,
"bookingAgencyCustomerId":0,
"bookingAgencyCustomerLastName":null,
"bookingAgencyTitle":"",
"customer": {
"billingAddress1": "",
"billingAddress2": "",
"billingCity": "",
"billingZipCode": "",
"countryCode": "ES",
"email": "irene@hoteliga.com",
"firstName": "Irene",
"id": 10820,
"isSalesTaxExempt": 0,
"lastName": "Giakoumi",
"mobile": "",
"notes": "",
"occupation": "developer",
"phone": "+34306942074590",
"provinceId": 0,
"taxId": "",
"taxIdAdditional": "",
"categories": [
{
"id": 1,
"title": "VIP"
},
...
]
},
"guests":[
{
"dateOfBirth":"",
"firstName":"",
"id":0,
"idDocIssueDate":"",
"idDocNumber":null,
"idDocType":0,
"lastName":"",
"lastName2":"",
"nationalityCountryId":null,
"provinceId":0,
"salutationId":0
}
],
"reservationStatusTitle":"Confirmed",
"roomTitle":"07",
"roomTypeTitle":"Female-only"
}, ...
]
Search for reservations.
Request parameters
| Name | Value |
|---|---|
| customerNameContains | Part of the first or last names that is being searched for. |
| emailContains | Part of the email that is being searched for. |
| bookingAgencyId | The booking agency ID which is being searched for. |
| bookingAgencyReferenceCodeContains | Part of the booking agency reference code which is being searched for. |
| dateTypeId | 1 - based on arrival date, 2 - based on departure date, 3 - based on actual reservation date, 4 - based on actual cancellation date, 5 - based on create date, 6 - based on last update date |
| dateFrom | date format YYYY-MM-DD, default: today |
| dateTo | date format YYYY-MM-DD, default: today + 30 days |
| reservationStatusId | 1 - tentative, 2 - new from channel, 3 - confirmed, 4 - checked in, 5 - checked out, 6 - early departure, 7 - confirmed cancelled, 8 - tentative cancelled, 9 - no show, 10 - modified from channel, 11 - cancelled from channel, 12 - late checked out |
Response
The reservations that fill all of the criteria/filters.
Example Request
<?xml version="1.0" ?>
<ReservationFilter>
<CustomerNameContains>Kidman</CustomerNameContains>
</ReservationFilter>
{
"customerNameContains": "Kidman"
}
Example Response
<?xml version="1.0"?> <Reservations> <Reservation createDate="2018-02-08T13:48:12+01:00" lastUpdateDate="2018-02-08T13:49:57+01:00">3</Reservation> <Reservation createDate="2018-02-08T13:48:11+01:00" lastUpdateDate="2018-02-08T13:48:11+01:00">2</Reservation> <Reservation createDate="2018-02-08T13:47:44+01:00" lastUpdateDate="2018-02-08T13:47:44+01:00">1</Reservation> </Reservations>
[
{
"reservationId":3,
"createDate":"2018-02-08T13:48:12+01:00",
"lastUpdateDate":"2018-02-08T13:49:57+01:00"
},
{
"reservationId":2,
"createDate":"2018-02-08T13:48:11+01:00",
"lastUpdateDate":"2018-02-08T13:48:11+01:00"
},
{
"reservationId":1,
"createDate":"2018-02-08T13:47:44+01:00",
"lastUpdateDate":"2018-02-08T13:47:44+01:00"
}
]
Example Request
<?xml version="1.0"?> <ReservationFilter> <BookingAgencyId>11</BookingAgencyId> <DateTypeId>1</DateTypeId> <DateFrom>2019-04-10</DateFrom> <DateTo>2019-04-10</DateTo> <ReservationStatusId>4</ReservationStatusId> </ReservationFilter>
{
BookingAgencyId: 11,
DateTypeId: 1,
DateFrom : '2019-04-10',
DateTo: '2019-04-10',
ReservationStatusId: 4
}
Example Response
<?xml version="1.0"?> <Reservations> <Reservation createDate="2019-04-03T08:04:49+02:00" lastUpdateDate="2019-04-11T06:50:06+02:00">8128</Reservation> <Reservation createDate="2019-03-06T22:58:11+01:00" lastUpdateDate="2019-04-11T01:00:16+02:00">7582</Reservation> <Reservation createDate="2019-03-06T22:58:07+01:00" lastUpdateDate="2019-04-11T00:56:30+02:00">7581</Reservation> </Reservations>
[
{
"reservationId":8128,
"createDate":"2019-04-03T08:04:49+02:00",
"lastUpdateDate":"2019-04-11T06:50:06+02:00"
},
{
"reservationId":7582,
"createDate":"2019-03-06T22:58:11+01:00",
"lastUpdateDate":"2019-04-11T01:00:16+02:00"
},
{
"reservationId":7581,
"createDate":"2019-03-06T22:58:07+01:00",
"lastUpdateDate":"2019-04-11T00:56:30+02:00"
}
]
Get checked in reservations between specified dates
Request Parameters
| Name | Value |
|---|---|
| dateFrom | Date format YYYY-MM-DD |
| dateTo | Date format YYYY-MM-DD |
| roomTitle | Title of the room in the reservation |
Response
The result is a list of Reservation objects.
Example Request
<?xml version="1.0" ?>
<Reservations>
<DateFrom>2021-02-09</DateFrom>
<DateTo>2021-02-15</DateTo>
<RoomTitle>201 Delux</RoomTitle>
</Reservations>
{
"dateFrom": "2021-02-09",
"dateTo": "2021-02-15",
"roomTitle": "201 Delux"
}
Example Response
<?xml version="1.0" ?>
<Reservations>
<Reservation id="13137" roomTitle="201 Delux">
<DateFrom>2021-02-12</DateFrom>
<DateTo>2021-02-13</DateTo>
<NumAdults>1</NumAdults>
<NumChildren>0</NumChildren>
<Board>Bed and Breakfast</Board>
<Guests>
<Guest id="11013">
<IsCustomer>1</IsCustomer>
<IsPrimaryGuest>1</IsPrimaryGuest>
<FullName>Jane Doe</FullName>
</Guest>
</Guests>
</Reservation>
</Reservations>
[
{
"reservationId": 13137,
"roomTitle": "201 Delux",
"dateFrom": "2021-02-12",
"dateTo": "2021-02-13",
"numAdults": 1,
"numChildren": 0,
"board": "Bed and Breakfast",
"guests": [
{
"id": 11013,
"isCustomer": 1,
"isPrimaryGuest": 1,
"fullName": "Jane Doe"
}
]
}
]
Get chunk of 2000 reservations with reservation ids and status
Request Parameters
| Name | Value |
|---|---|
| reservationOffset | Unique identifier of reservation from which the search data should start |
Response
The result is a list of Reservation objects with id and status and flag hasMore that returns true if there is more reservations to return and false otherwise.
Example Request
<?xml version="1.0" ?>
<Reservations>
<ReservationOffset>1<>
</Reservations>
{
"ReservationOffset" : 1
}
Example Response
<?xml version="1.0" ?>
<Reservations>
<Reservation>
<id>1</id>
<reservationStatusId>3</reservationStatusId>
</Reservation>
<Reservation>
<id>2</id>
<reservationStatusId>7</reservationStatusId>
</Reservation>
...
<Reservation>
<id>2000</id>
<reservationStatusId>3</reservationStatusId>
</Reservation>
</Reservations>
<hasMore>true</hasMore>
{
"reservations": [
{
"id": 1,
"reservationStatusId": 3
},
{
"id": 2,
"reservationStatusId": 7
},
...
{
"id": 2000,
"reservationStatusId": 3
}
],
"hasMore": true
}
Add existing guest to reservation
Request parameters
| Name | Value |
|---|---|
| reservationId | Unique identifier of reservation. |
| id | Unique identifier of guest. |
| isPrimaryGuest | Indicates if this guest is primary. If reservation already has a primary guest, it will be overriden. |
Response
Result is the status code of the request.
Example Request
<?xml version="1.0" ?>
<Guest>
<Id> 12 </Id>
<IsPrimaryGuest> 1 </IsPrimaryGuest>
</Guest>
{
"Id":12,
"IsPrimaryGuest":1
}
Update the data of an existing reservation.
Request parameters
| Name | Value |
|---|---|
| id | The ID of the requested reservation |
| bookingAgencyId | Unique identifier of agency making the booking |
| customer | Customer object, that must contain the customer's id |
| currencyCode | Currency code of payment |
| dateFrom | Starting date of reservation |
| dateTo | Ending date of reservation |
| reservationStatusId | Reservation status id |
| roomId | Id of room to be reserved |
| roomTypeId | Id of roomType to be reserved |
| totalAgreedPrice | Total cost of reservation |
* The rest of reservation's object fields are optional.
** The fields that are not issued in the request will be set to the default value.
Response
The result is the status code of the request.
Example Request
{
id: 13,
roomTypeId: 2,
customer: {id: 416},
totalAgreedPrice: 80.00,
dateFrom: "2016-11-20",
dateTo: "2016-11-25",
bookingAgencyId: 1,
contractId: 1,
reservationStatusId: 3,
currencyCode: "EUR",
notes: "Adding notes for the reservation"
}
Update only selected data of existing reservation.
Request parameters
| Name | Value |
|---|---|
| id | The ID of the requested reservation |
| bookingAgencyId | Unique identifier of agency making the booking |
| customerId | The customer's id |
| currencyCode | Currency code of payment |
| dateFrom | Starting date of reservation |
| dateTo | Ending date of reservation |
| reservationStatusId | Reservation status id |
| roomId | Id of room to be reserved |
| roomTypeId | Id of roomType to be reserved |
| totalAgreedPrice | Total cost of reservation |
Response
The result is the status code of the request and whole object.
Example Request
{
"totalAgreedPrice": 6000.15,
"notes": "Example notes",
"numAdults": 5
}
Get extra charges for a reservation.
Request parameters
| Name | Value |
|---|---|
| id | The id of the requested reservation |
Response
The result is a list of extra charges
Example Response
<?xml version="1.0"?>
<ArrayOfExtraCharge>
<ExtraCharge id="1">
<ExtraChargeId>5</ExtraChargeId>
<ChargeDate>2018-02-08</ChargeDate>
<UnitPrice>0.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>0.00</Subtotal>
<Notes>3</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle>Parking</ExtraChargeTitle>
</ExtraCharge>
<ExtraCharge id="2">
<ExtraChargeId>6</ExtraChargeId>
<ChargeDate>2018-02-08</ChargeDate>
<UnitPrice>0.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>0.00</Subtotal>
<Notes>44</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle>Bicycle</ExtraChargeTitle>
</ExtraCharge>
<ExtraCharge id="3">
<ExtraChargeId>6</ExtraChargeId>
<ChargeDate>2018-02-08</ChargeDate>
<UnitPrice>0.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>0.00</Subtotal>
<Notes>77</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle>Bicycle</ExtraChargeTitle>
</ExtraCharge>
<ExtraCharge id="8">
<ExtraChargeId>6</ExtraChargeId>
<ChargeDate>2018-01-03</ChargeDate>
<UnitPrice>13.00</UnitPrice>
<Quantity>2.00</Quantity>
<Subtotal>26.00</Subtotal>
<Notes>Test extra charge</Notes>
<TotalExtraTaxes>1.80</TotalExtraTaxes>
<ExtraChargeTitle>Bicycle</ExtraChargeTitle>
</ExtraCharge>
<ExtraCharge id="12">
<ExtraChargeId>6</ExtraChargeId>
<ChargeDate>2018-03-05</ChargeDate>
<UnitPrice>13.00</UnitPrice>
<Quantity>2.00</Quantity>
<Subtotal>26.00</Subtotal>
<Notes>Test extra charge</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle>Bicycle</ExtraChargeTitle>
</ExtraCharge>
<ExtraCharge id="9">
<ExtraChargeId>1</ExtraChargeId>
<ChargeDate>2001-01-01</ChargeDate>
<UnitPrice>5.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>5.00</Subtotal>
<Notes>Test</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle />
</ExtraCharge>
<ExtraCharge id="10">
<ExtraChargeId>1</ExtraChargeId>
<ChargeDate>2001-01-01</ChargeDate>
<UnitPrice>5.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>5.00</Subtotal>
<Notes>Test</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle />
</ExtraCharge>
<ExtraCharge id="11">
<ExtraChargeId>1</ExtraChargeId>
<ChargeDate>2018-03-05</ChargeDate>
<UnitPrice>5.00</UnitPrice>
<Quantity>1.00</Quantity>
<Subtotal>5.00</Subtotal>
<Notes>Test</Notes>
<TotalExtraTaxes>0.00</TotalExtraTaxes>
<ExtraChargeTitle />
</ExtraCharge>
</ArrayOfExtraCharge>
[
{
"id":1,
"extraChargeId":5,
"chargeDate":"2018-02-08",
"unitPrice":0.00,
"quantity":1.00,
"subtotal":0.00,
"notes":"3",
"totalExtraTaxes":0.00,
"extraChargeTitle":"Parking"
},
{
"id":2,
"extraChargeId":6,
"chargeDate":"2018-02-08",
"unitPrice":0.00,
"quantity":1.00,
"subtotal":0.00,
"notes":"44",
"totalExtraTaxes":0.00,
"extraChargeTitle":"Bicycle"
},
{
"id":3,
"extraChargeId":6,
"chargeDate":"2018-02-08",
"unitPrice":0.00,
"quantity":1.00,
"subtotal":0.00,
"notes":"77",
"totalExtraTaxes":0.00,
"extraChargeTitle":"Bicycle"
},
{
"id":8,
"extraChargeId":6,
"chargeDate":"2018-01-03",
"unitPrice":13.00,
"quantity":2.00,
"subtotal":26.00,
"notes":"Test extra charge",
"totalExtraTaxes":1.80,
"extraChargeTitle":"Bicycle"
},
{
"id":12,
"extraChargeId":6,
"chargeDate":"2018-03-05",
"unitPrice":13.00,
"quantity":2.00,
"subtotal":26.00,
"notes":"Test extra charge",
"totalExtraTaxes":0.00,
"extraChargeTitle":"Bicycle"
},
{
"id":9,
"extraChargeId":1,
"chargeDate":"2001-01-01",
"unitPrice":5.00,
"quantity":1.00,
"subtotal":5.00,
"notes":"Test",
"totalExtraTaxes":0.00,
"extraChargeTitle":""
},
{
"id":10,
"extraChargeId":1,
"chargeDate":"2001-01-01",
"unitPrice":5.00,
"quantity":1.00,
"subtotal":5.00,
"notes":"Test",
"totalExtraTaxes":0.00,
"extraChargeTitle":""
},
{
"id":11,
"extraChargeId":1,
"chargeDate":"2018-03-05",
"unitPrice":5.00,
"quantity":1.00,
"subtotal":5.00,
"notes":"Test",
"totalExtraTaxes":0.00,
"extraChargeTitle":""
}
]
Adds an extra charge to a reservation.
Request parameters
| Name | Value |
|---|---|
| id | The ID of the requested reservation |
| extraChargeId | The ID of the extra charge |
| chargeDate | The date of charge (yyyy-mm-dd) |
| unitPrice | The unit price |
| quantity | The quantity |
| notes | Additional information |
| totalExtraTaxes | Set the additional taxes (optional) |
Response
The result is the ID of the newly created extra charge record.
Example Request
<?xml version="1.0"?> <ExtraCharge> <ExtraChargeId>1</ExtraChargeId> <ChargeDate>2018-03-06</ChargeDate> <UnitPrice>5</UnitPrice> <Quantity>1</Quantity> <Notes>Test</Notes> </ExtraCharge>
{
extraChargeId: 1,
chargeDate: '2018-03-06',
unitPrice: 5,
quantity: 1,
notes: 'Test'
}
Example Response
<?xml version="1.0"?> <Id>15</Id>
{"id":15}
Delete an extra charge of a reservation.
Request parameters
| Name | Value |
|---|---|
| id | The ID of the requested reservation. |
| id2 | The ID of the requested extra charge. |
Response
The result is the status code of the request.
Group two or more reservations.
Request parameters
| Name | Type | Value |
|---|---|---|
| id | int | Unique identifier of a reservation. |
Response
The result is the status code of the request.
Example Request
<Reservations>
<id>1</id>
<id>15</id>
</Reservations>
{
"ReservationIds": [1, 15]
}
Ungroup specified number of reservations, leave the remaining reservations in the group in place. Ungrouping all reservations deletes the group.
Request parameters
| Name | Type | Value |
|---|---|---|
| id | int | Unique identifier of a reservation. |
Response
The result is the status code of the request.
Example request
<Reservations>
<id>1</id>
<id>15</id>
</Reservations>
{
"ReservationIds": [1, 15]
}
Get payments of a reservation and its grouped ones.
Request parameters
| Name | Value |
|---|---|
| id | The id of the requested reservation |
Response
The result is a list of payments
Example Response
<?xml version="1.0" encoding="UTF-8"?>
<Payments>
<Payment>
<Id>7839</Id>
<PaymentDate>2019-07-15T00:00:00</PaymentDate>
<ReservationId>10</ReservationId>
<PaymentMethodId>3</PaymentMethodId>
<Amount>16.3</Amount>
<Notes>Notes for payment</Notes>
<AmountCurrency>16.3</AmountCurrency>
<CurrencyCode>EUR</CurrencyCode>
<ExchangeRate>1.0</ExchangeRate>
<InvoiceId>30</InvoiceId>
</Payment>
....
</Payments>
[
{
"id": 7839,
"paymentDate": "2019-07-15T00:00:00",
"reservationId": 10,
"paymentMethodId": 3,
"amount": 16.30,
"notes": "Notes for payment",
"amountCurrency": 16.30,
"currencyCode": "EUR",
"exchangeRate": 1.0,
"invoiceId": 30
},
....
]