API Documentation for IDS
Introduction
This document provides detailed API documentation for the IDS system. The APIs listed below
facilitate various functionalities related to hotel reservations and customer data.
Base URL
The base URL for all the APIs is `https://idsnextcrmapi.azurewebsites.net/api/`.
API Endpoints
1. Token URL
Endpoint
- URL: `https://idsnextcrmapi.azurewebsites.net/api/Token/GetToken`
- Method: POST
- Payload:
```xml
<Request>
<Partner>[partner_name]</Partner>
<PartnerCode>[partner_code]</PartnerCode>
<Username>[username]</Username>
<Password>[password]</Password>
</Request>
```
- Headers:
- `Content-Type: application/xml`
2. Pre-arrival URL
Endpoint
- URL: `https://idsnextcrmapi.azurewebsites.net/api/Ota_HotelResNotiF/Data`
- Method: POST
- Payload:
```xml
<OTA_HotelResNotifRQ Version="1.0" EchoToken="[echo_token]"
TimeStamp="[timestamp]">
<HotelCode>[hotel_code]</HotelCode>
</OTA_HotelResNotifRQ>
```
- Headers:
- `Authorization: Bearer [Token received from Token URL]`
- `Content-Type: application/xml`
3. Checkout URL
Endpoint
- URL: `https://idsnextcrmapi.azurewebsites.net/api/OTA_HotelCheckOutNotiF/Data`
- Method: POST
- Payload:
```xml
<OTA_HotelCheckOutNotifRQ Version="1.0" EchoToken="[echo_token]"
TimeStamp="[timestamp]">
<HotelCode>[hotel_code]</HotelCode>
</OTA_HotelCheckOutNotifRQ>
```
- Headers:
- `Authorization: Bearer [Token received from Token URL]`
- `Content-Type: application/xml`
4. InHouse URL
Endpoint
- URL: `https://idsnextcrmapi.azurewebsites.net/api/OTA_HotelCheckInNotiF/Data`
- Method: POST
- Payload:
```xml
<OTA_HotelCheckInNotifRQ Version="1.0" EchoToken="[echo_token]"
TimeStamp="[timestamp]">
<HotelCode>[hotel_code]</HotelCode>
</OTA_HotelCheckInNotifRQ>
```
- Headers:
- `Authorization: Bearer [Token received from Token URL]`
- `Content-Type: application/xml`
5. Cancelled URL
Endpoint
- URL:
`https://idsnextcrmapi.azurewebsites.net/api/Ota_HotelResNotiF/Data?RESSTATUS=Cancelled`
- Method: POST
- Payload:
```xml
<OTA_HotelResNotifRQ Version="1.0" EchoToken="[echo_token]"
TimeStamp="[timestamp]">
<HotelCode>[hotel_code]</HotelCode>
</OTA_HotelResNotifRQ>
```
- Headers:
- `Authorization: Bearer [Token received from Token URL]`
- `Content-Type: application/xml`
Mapping in Repup with Fields
The following mapping shows how Repup fields are mapped to the corresponding nodes in the
XML response:
1. `booking_number`: [HotelReservations -> HotelReservation -> UniqueID ->
@ReservationNumber]
2. `room_rate`: [HotelReservations -> RoomStays -> RoomStay -> RoomRates -> RoomRate ->
Rates -> Rate -> Base -> @AmountAfterTax]
3. `rate_code`: [HotelReservations -> RoomStays -> RoomStay -> RatePlans -> RatePlan ->
RatePlanDescription]
4. `room_number`: [HotelReservations -> RoomStays -> RoomStay -> RoomTypes ->
RoomNumber]
5. `room_type`: [HotelReservations -> RoomStays -> RoomStay -> RoomTypes -> RoomType
-> @RoomTypeCode]
6. `group_id`: [HotelReservations -> RoomStays -> RoomStay -> RoomRates -> RoomRate ->
@InvBlockCode]
7. `booking_source`: [POS -> Source -> BookingChannel -> CompanyName]
8. `currency`: [HotelReservations -> RoomStays -> RoomStay -> Total -> @CurrencyCode]
9. `total_rate`, `total_room_rate`: [HotelReservations -> RoomStays -> RoomStay -> Total ->
@AmountAfterTax]
Customer Related Data
The `data` field contains an array of customer-related information. The following mapping shows
how certain fields are mapped to the data:
1. `profile_type`: [Profiles -> ProfileInfo -> @description]
2. `profile_id`: [@ResGuestRPH]
3. `booking_confirmation_number`: [@RegistrationNumber]
UUID (Universally Unique Identifier)
The `echo_token` generated for certain API requests is a Universally Unique Identifier (UUID)
used to uniquely identify information in computer systems without any risk of collision. It is a
128-bit unique identifier.
Please ensure to replace placeholders like `[partner_name]`, `[partner_code]`, `[username]`,
`[password]`, `[echo_token]`, `[timestamp]`, and `[hotel_code]` with actual values when
making API requests.