---
title: "Open API: Online Booking"
canonical: "https://support.vitec-hotellinx.com/space/KB/941916163/Open%20API%3A%20Online%20Booking"
format: markdown
---
---

> ℹ️ See API specifications from here: [Swagger UI](https://api-prod-wbe.hotellinx.com/swagger/index.html?urls.primaryName=Hotellinx+API+V1)

## Booking Engine workflow: build a full online accommodation reservation system / webshop

With these API calls, you can build a Web Booking Engine with capabilities such as:

- Display available rooms and their rates: `GET api/Availability/hotelroomrates`
- Show an availability calendar, such as available dates per room type in a date picker: `GET api/Availability/getcalendar`
- Offer additional sales during the booking process (e.g., extra beds, wine, champagne, etc.): `POST api/Availability/extrarates`
- Create a reservation in the PMS: `POST api/reservations`
- Fetch a reservation from the PMS: `GET api/reservations/id`
- Update or cancel a reservation by changing its status: `POST api/reservations`

### Example availability (GET)

`api/Availability/hotelroomrates?ArrivalDate=2025-02-03&DepartureDate=2025-02-04&HotelCode=1&Rooms=1&NroOfAdults=2&NroOfChildren=0&BookingCode=TEST`

> ⚠️ **NOTICE!**  
> ⚠️ In hotelRoomRates response, you will receive roomRate -elements. Each roomRate consists “signature” -attribute, that is a security checksum of certain elements (see below). This security signature and certain elements on reservation request (/api/Reservations) must be exactly the same values than in original roomRate-response. This is to avoid message tampering.
> ⚠️ 
> ⚠️ ![image-20260312-080933.png](media://288d78ed-5a99-4ee0-b440-24a7ee37d541)
> ⚠️ 
> ⚠️ **Best practices**
> ⚠️ 
> ⚠️ 1. Definetely the best practice is to store and post use the selected roomRate element exactly as it is in the availability response.
> ⚠️ 2. Alternatively, you must check that following attribute values are exactly the same than in availability response (including eg. same decimals etc). Check formats from eg. [Standard date and time format strings - .NET | Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings) and/or [ISO - ISO 8601 — Date and time format](https://www.iso.org/iso-8601-date-and-time-format.html)
> ⚠️ 
> ⚠️ ```
> ⚠️ resRequest.HotelId (int)
> ⚠️ searchMask.Arrival (ISO 8601 eg. 2026-04-01) 
> ⚠️ searchMask.Departure (ISO 8601 eg. 2026-04-01) 
> ⚠️ searchMask.Adults (int)
> ⚠️ searchMask.Children (int)
> ⚠️ searchMask.Rooms (int)
> ⚠️ searchMask.BookingCode (String)
> ⚠️ roomRate.Room.RoomCode (int)
> ⚠️ roomRate.Rate.RateCode (int)
> ⚠️ roomRate.TotalPriceForStayWithTaxes (eg. 155.25 or 155.00 - note always also trailing zeros with 2 decimals)
> ⚠️ ```