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 }, .... ]