Close

Rest API v1.01

Introduction

This documentation describes REST API version 1.01. This version is considered a legacy API and is supported for existing integrations only.
No further functional development is planned for this version.

Rustar API uses rest services for data exchange. The services on Rustar side are written in .NET and can use Rest endpoints. Although the services are written in .NET, the services can be integrated with any systems that support Rest, including but not limited to JAVA, PHP, Python and others.

URL for accessing Rest services is https://restapi.rustaronline.com/v1.01/api/

In order to use the services, agent must receive following credentials:
agentid – Unique username that is bound to agents account in Rustar
agentpassword – Password for the agentid
To obtain agentid and gentpassword for accessing the services the company must send request to [email protected]
For development purposes the following credentials can be used:

URL- https://restapi.rustaronline.com/v1.01/api/

agentid –on demand
agentpassword – on demand
All methods return following JSON object
{{
“Code”: “00”,
“Message”: “”,
“Timestamp”: “2016-06-27T17:42:25.6292336+04:00”,
“Version”: “1.01”,
“ResponseID”:”b512a117-6745-493d-9fa4-828d79c0df1d”
“Data”: [
/**/
]
}

Where:
Code: CHAR(2) parameter. “00” in case of success. In case of failure other than “00” is returned

Message: string parameter. “” in case of success. In case of failure the description of the problem/error

Timestamp: datetime parameter. The date and time of the returned message
Version: string parameter. Version of the API
ResponseID: GUID parameter. Unique GUID of the response message
Data: The array of the objects, depending on the method that was called

Destination endpoints:
United Arab Emirates (UAE): https://restapi.rustaronline.com/v1.01/api/
Georgia (GEO): https://restapigeo.rustaronline.com/v1.01/api/
Turkey (TUR):  https://restapitur.rustaronline.com/v1.01/api/
Seychelles (SYC): https://restapisyc.rustaronline.com/v1.01/api/
Azerbaijan (AZE): https://restapiaze.rustaronline.com/v1.01/api/
Maldives (MDV): https://restapimdv.rustaronline.com/v1.01/api/
Kazakhstan (KAZ): https://restapikaz.rustaronline.com/v1.01/api/
Qatar (QAT): https://restapiqat.rustaronline.com/v1.01/api/
Mauritius (MUS): https://restapimus.rustaronline.com/v1.01/api/
Vietnam (VNM): https://restapivnm.rustaronline.com/v1.01/api/
Saudi Arabia (SAU): https://restapisau.rustaronline.com/v1.01/api/
Thailand (THA) : https://restapitha.rustaronline.com/v1.01/api/
Egypt (EGY) : https://restapiegy.rustaronline.com/v1.01/api/
Oman (OMN): https://restapiomn.rustaronline.com/v1.01/api/
 

Domain Usage Notice:
The .com domain is the primary and default domain for all REST API v1.01 endpoints and must be used in all standard integration scenarios.
The .info domain may be used only as a fallback in cases where connecting to the .com domain is impossible due to ISP-level network limitations or regional restrictions.
Using the .info domain is not allowed unless connection issues are confirmed. In all other integration cases, the .com domain must be used exclusively.
API Base URL Structure
Please note that the examples provided in this documentation use the following base URL:

https://restapi.rustaronline.com/v1.01/api/
Key Clarification
This base URL (https://restapi.rustaronline.com/v1.01/api/) specifically applies to the UAE destination.

The API methods remain the same for all other regions.
The only change required is replacing the base URL prefix to match the destination.
Example (Turkey):
For Turkey, the base URL prefix changes to restapitur, resulting in the following full URL:

https://restapitur.rustaronline.com/v1.01/api/

All methods will function identically to the examples provided in the documentation, regardless of which base URL prefix is used.

Hotel Data

Core Hotel and Inventory Retrieval Methods

These essential methods are the foundation for the booking process. They are used to identify available properties, determine their pricing, and confirm room availability status before a reservation is created.
Hotels
Purpose: To retrieve the complete list of available hotels in the system.
Use: This is the first step in the search process. It provides the unique hotelid, basic property details (like cityname, hotelclass), and the crucial pricestatus to determine if price data is ready for download.


Hotelprices
Purpose: To get all available prices, promotions, and contract rates for a specific hotel and date range.
Use: After selecting a hotel, this method is called using the hotelid to find the actual cost of the stay. The response is critical as it provides the unique priceid token required to finalize the booking.


Roomavailabilities
Purpose: To check the immediate availability status of specific room types for a selected hotel and dates.
Use: This method returns statuses like “STOP SALE” (not bookable) or “ON REQUEST” (requires manual confirmation) for particular room categories, ensuring the chosen room is available before attempting to book.

Hotels

This method retrieves a list of hotels according to specified directions (or criteria). The method’s response includes hotel data, such as the hotel’s class, and so on..
Parameters to pass: agentid and agentpassword

Purpose: To retrieve the complete list of available hotels

Use: This is the first step to get the unique hotelid for a property, see its details (like cityname, hotelclass), and check its pricestatus to see if prices are ready to be downloaded.

Sample URL:
https://restapi.rustaronline.com/v1.01/api/hotels?agentid=username&agentpassword=password

The method returns the list of hotels with the statuses and timestamps of the prices

Name Type Description
Hotelid string GUID of the hotel in the database of Rustar. This GUID will be used to retrieve additional information (like prices) about the hotel
hotelname string Name of the hotel
pricestatus string “ready” or “pending”. “ready” means that prices are ready to be downloaded. “pending” means that price registration is under processing and not all prices are available for the hotel. In case of “pending” the prices should be downloaded later when the status is changed to “ready”.
cityid string GUID of the City where the hotel is located.
cityname string Name of the city
districtid string GUID of the district, where the hotel is located
districtname string Name of the district
hasalcohol boolean Describes whether hotel serves alcohol or not
hasfreewifi boolean Describes whether free wifi is available in the rooms
hasmall boolean Describes whether there is a shopping mall near the
hasmetro boolean Describes whether there is a metro station near the hotel
haspool boolean Describes whether there is swimming pool in the hotel
hotelclass string “*”,”**”,”***”,”****”,”*****” or ”Apartments”. Number of stars or Apartment hotel
hoteltype string City” or “Beach”. Describes whether this hotel is located in the city or at the beach
popular boolean Describes if the hotel was popular last 7 days
recommended boolean True if the hotel is recommended by Rustar
priceupdated string DateTime of the last price update
note string Free formed text
imageurl string Optional. Points the URL for the image of the hotel if any.
https://restapi.rustaronline.com/v1.01/api/hotels?agentid=username&agentpassword=password

{
  "Code": "00",
  "Message": "",
  "Timestamp": "2025-09-23T10:45:51.3940886+04:00",
  "Version": "1.01",
  "ResponseID": "f3da167b-c5e3-4d71-9cb5-501c3e60102e",
  "Data": [
    {
      "hotelid": "4115e0d8-87fd-4d67-a805-4cc1062870e5",
      "hotelname": "Beach Rotana Abu Dhabi",
      "pricestatus": "pending",
      "cityid": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
      "cityname": "Abu Dhabi",
      "districtid": "ee402984-6d1d-4fcf-915d-f31b14fa8b0f",
      "districtname": "Abu Dhabi",
      "hasalcohol": true,
      "hasfreewifi": true,
      "hasmall": false,
      "hasmetro": false,
      "haspool": true,
      "hotelclass": "*****",
      "hoteltype": "Beach",
      "popular": false,
      "recommended": false,
      "priceupdated": "2025-09-22T18:23:50.85",
      "note": "(Vat) Rates are inclusive of 5% Value Added Tax starting from 01st January 2018\n\nCheck-In Time: 14:00 & Check-Out Time: 12:00nn.\n\nCheck out is not allowed on 31.12.2025",

      "imageurl": "4115e0d8-87fd-4d67-a805-4cc1062870e5.jpg",
      "areaid": null,
      "areaname": "",
      "countryid": "fead4059-3958-42d9-ab98-4446de89c0f1",
      "countryname": "United Arab Emirates",
      "countrycodeiso2": "AE",
      "countrycodeiso3": "ARE"

    },

    {

      "hotelid": "91b54d84-466c-4b6b-9255-024b563f91e6",

      "hotelname": "Ramee Guestline Hotel-Al Rigga",

      "pricestatus": "ready",

      "cityid": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",

      "cityname": "Dubai",

      "districtid": "aaff2238-fa72-4900-83f8-a16990415547",

      "districtname": "Deira",

      "hasalcohol": true,

      "hasfreewifi": true,

      "hasmall": true,

      "hasmetro": false,

      "haspool": true,

      "hotelclass": "**",

      "hoteltype": "City",

      "popular": false,

      "recommended": false,

      "priceupdated": "2025-01-23T17:50:59.793",

      "note": "CHECK IN TIME IS 14:00 HOURS. EARLY CHECK IN IS SUBJECT TO ROOM AVAILABILITY, OTHERWISE, THE ROOM HAS TO BE HELD FROM THE PREVIOUS NIGHT WITH CORRESPONDING ROOM CHARGE. CHECK OUT TIME IS 12:00 HOURS. LATE CHECK OUT IS SUBJECT TO ROOM AVAILABILITY WITH FOLLOWING CHARGES:\n\n25% ROOM CHARGES INCLUSIVE OF VAT FROM 12 HOURS UNTIL 16 HOURS\n50% ROOM CHARGES  INCLUSIVE OF VAT FROM 16:00 HOURS UNTIL 19 HOURS\n100% ROOM CHARGES  INCLUSIVE OF VAT FROM 19 HOURS ONWARDS",

      "imageurl": "91b54d84-466c-4b6b-9255-024b563f91e6.jpg",

      "areaid": null,

      "areaname": "",

      "countryid": "fead4059-3958-42d9-ab98-4446de89c0f1",

      "countryname": "United Arab Emirates",

      "countrycodeiso2": "AE",

      "countrycodeiso3": "ARE"

    }

]

Hotelprices

The method is used to obtain (or retrieve) hotel prices and booking conditions.

Purpose: To get all available prices, promotions, and contract rates for a specific hotel.

Use: After selecting a hotel via the Hotels method, you use this method with the hotelid to find the actual cost for a stay. This response provides the critical priceid needed for booking

Parameters to pass: agentid, agentpassword, hotelid

Sample URL:
https://restapi.rustaronline.com/v1.01/api/hotelprices?agentid=username&agentpassword=password&hotelid=d6f9299f-5d94-4955-85e7-003e0383023c&removedublicates=false

Sample URL example With date filters :
https://restapi.rustaronline.com/v1.01/api/HotelPrices?agentid=username&agentpassword=password&startdate=2025-12-30&enddate=2026-01-2&orderByPrice=true&hotelid=0b31dfb6-74a8-43d6-b5b1-417b329f58e1

Given method returns the object with three list of prices for specified hotel. ContractPrices, Promotions, PromotionsWithConditions

Note: Parameter removedublicates is optional, used for removing duplicate seasons from the list and split prices by seasons. False is the default value of this parameter.
Updated

Name Type Description
priceid string GUID of the unique price id in the database of Rustar. This field together with placement creates unique combination of price for room/promotion/mealplan
hotelid string GUID of the hotel in the database of Rustar.
roomcategory string GUID of the Room category
roomcategorytype string GUID of the Room category type. Unique by description of the room
roomcategoryname string The name of the room category
startdate Date Date. Start date of the price period
enddate Date Date. End date of the price period
mealplan string CHAR(2). “RO”,”BB”,”HB”,”FB”,”AL”
adults integer Integer. Number of Aduts with beds
teens integer Integer. Number of children (Teenagers) without extra bed
children integer Integer. Number of children between infant and teen ages without  extra bed
infants integer Integer. Number of infants
teenswithextrabeds integer Integer. Number of children (Teenagers) with extra bed
childrenwithextrabeds integer Description for the new field.
childpolicy Decimal { infantmaxage:            Decimal. Max age of the infant by the policy of the hotel childmaxage:             Decimal. Max age of the child by the policy of the hotel teenmaxage:              Decimal. Max age of the teenager by the policy of the hotel }
placement string Accomodation of all guests in following format e.g. “SNGL+1CHDEB(3-13,99)+1CHD(0-2,99)”
price integer Decimal. Price for the accommodation/placement
currency string CHAR(3). Currency of the price above
promotioncode string Optional. Promotion code if any of the specified price
promotion array {              Promotion terms if any staydays:                   Integer. Number of days to stay for stay/pay promotion (n nights free) paydays:                    Integer. Number of days that will be charged in case of “staydays” stay discount:                   Decimal. Discount % that was applied for this promotion cashback:                  Decimal. Cashback in specified currency that was applied for this promotion }
conditions array Optional conditions for using this price
bookingstartdate Date Date. When it is allowed to start the reservation for this promotion/accomodation
bookingenddate Date Date. Date, after when the sale of this promotion should be stopped.
bookbefore integer Number of days before checkin to use this promotion (Early Bird)
minimumstay integer Minimal stay of nights to use this promotion
maximumstay integer Maximal stay of nights to use this promotion
isactive boolean True if the price is active and can be used. False if the price is deactivated/inactive.
https://restapi.rustaronline.com/v1.01/api/hotelprices?agentid=username&agentpassword=password&hotelid=d6f9299f-5d94-4955-85e7-003e0383023c&removedublicates=false

Sample URL example With date filters : 
https://restapi.rustaronline.com/v1.01/api/HotelPrices?agentid=username&agentpassword=password&startdate=2025-12-30&enddate=2026-01-2&orderByPrice=true&hotelid=0b31dfb6-74a8-43d6-b5b1-417b329f58e1
{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T11:18:57.0464313+04:00",

  "Version": "1.01",

  "ResponseID": "4c001a5c-3b3b-49a4-86c3-bf6b48551902",

  "Data": {

    "ContractPrices": [],

    "Promotions": [

      {

        "priceid": "38c654e3-b09a-4164-ad39-be1e4f150818",

        "hotelid": "de3d9031-e8a0-43b6-b024-99526c1aa486",

        "roomcategory": "e7880ec1-8740-4461-94d6-efbd2fb97df0",

        "roomcategorytype": "9416ea67-f55d-478b-972c-029c50c4908f",

        "roomcategoryname": "Deluxe Room ",

        "startdate": "2025-06-10T00:00:00",

        "enddate": "2025-09-30T00:00:00",

        "mealplan": "BB",

        "adults": 1,

        "teens": 0,

        "children": 0,

        "infants": 0,

        "teenswithextrabeds": 0,

        "childrenwithextrabeds": 0,

        "teenagersareadults": true,

        "childpolicy": {

          "infantmaxage": 4.99,

          "childmaxage": 11.99,

          "teenmaxage": 15.99

        },

        "placement": "SGL",

        "price": 81.05,

        "currency": "USD",

        "promotioncode": "(SPO)",

        "promotioncodeforgrouping": "",

        "updated": "2024-11-06T14:07:35.34",

        "promotion": {

          "staydays": null,

          "paydays": null,

          "discount": 0,

          "cashback": 0

        },

        "conditions": {

          "bookingstartdate": null,

          "bookingenddate": null,

          "bookbefore": null,

          "minimumstay": 0,

          "maximumstay": 999

        },

        "weekdays": {

          "mon": true,

          "tue": true,

          "wed": true,

          "thu": true,

          "fri": true,

          "sat": true,

          "sun": true

        },

        "allweekdays": true,

        "isactive": true,

        "StayType": "S",

        "CheckinRestricted": false,

        "CombinationId": 0,

        "OriginalPromotionCode": ""

      }

        "placement": "SGL+1CHD(2-4.99)",

        "price": 81.05,

        "currency": "USD",

        "promotioncode": "(SPO)",

        "promotioncodeforgrouping": "",

        "updated": "2024-11-06T14:07:35.34",

        "promotion": {

          "staydays": null,

          "paydays": null,

          "discount": 0,

          "cashback": 0

        }

{

        "priceid": "140d23ab-62c5-477b-a0b5-9bcd3d186cd5",

        "hotelid": "de3d9031-e8a0-43b6-b024-99526c1aa486",

        "roomcategory": "e8c0e6b0-6d4c-4695-94df-05a249b86799",

        "roomcategorytype": "dab4a6d2-f782-46b2-b26f-fc5782760e9e",

        "roomcategoryname": "Family Interconnecting Room",

        "startdate": "2025-06-10T00:00:00",

        "enddate": "2025-09-30T00:00:00",

        "mealplan": "RO",

        "adults": 2,

        "teens": 0,

        "children": 2,

        "infants": 0,

        "teenswithextrabeds": 0,

        "childrenwithextrabeds": 0,

        "teenagersareadults": true,

        "childpolicy": {

          "infantmaxage": 4.99,

          "childmaxage": 11.99,

          "teenmaxage": 15.99

        },

        "placement": "DBL+2CHD(5-11.99)(5-11.99)",

        "price": 92.13,

        "currency": "USD",

        "promotioncode": "EBB by 45 days  (discount 20.0000%) - CDD-EB20 (Non-Refundable)(SPO)",

        "promotioncodeforgrouping": "EBB by 45 days - CDD-EB20 (Non-Refundable)",

        "updated": "2024-12-31T12:54:39.24",

        "promotion": {

          "staydays": null,

          "paydays": null,

          "discount": 20,

          "cashback": 0

        },

        "conditions": {

          "bookingstartdate": null,

          "bookingenddate": null,

          "bookbefore": 45,

          "minimumstay": 0,

          "maximumstay": 999

        },

        "weekdays": {

          "mon": true,

          "tue": true,

          "wed": true,

          "thu": true,

          "fri": true,

          "sat": true,

          "sun": true

        },

        "allweekdays": true,

        "isactive": true,

        "StayType": "S",

        "CheckinRestricted": false,

        "CombinationId": 200,

        "OriginalPromotionCode": "CDD-EB20 (Non-Refundable)"

      }

    ],

    "CancelationPolicies": []

  }

}



Example with "ContractPrices": []

{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-24T09:45:48.5622191+04:00",

  "Version": "1.01",

  "ResponseID": "07605820-1f8e-48cc-adc3-80fb064062ef",

  "Data": {

    "ContractPrices": [

      {

        "priceid": "9d6b6ec0-76f5-4cef-b96c-2b3a132f1fba",

        "hotelid": "fd95cc91-7d07-4248-b691-5c534834ee1c",

        "roomcategory": "e84d3e0b-3b48-42b9-8448-13514e1f42a8",

        "roomcategorytype": "34b454be-06da-472e-ab34-2257a587edce",

        "roomcategoryname": "Junior Suite",

        "startdate": "2025-11-01T00:00:00",

        "enddate": "2025-11-16T00:00:00",

        "mealplan": "RO",

        "adults": 1,

        "teens": 0,

        "children": 0,

        "infants": 0,

        "teenswithextrabeds": 0,

        "childrenwithextrabeds": 0,

        "teenagersareadults": true,

        "childpolicy": {

          "infantmaxage": 5.99,

          "childmaxage": 11.99,

          "teenmaxage": 15.99

        },

        "placement": "SGL",

        "price": 290.64,

        "currency": "USD",

        "promotioncode": "(CNT)",

        "promotioncodeforgrouping": "",

        "updated": "2025-06-10T13:52:05.673",

        "promotion": {

          "staydays": null,

          "paydays": null,

          "discount": 0,

          "cashback": 0

        },

        "conditions": {

          "bookingstartdate": null,

          "bookingenddate": null,

          "bookbefore": null,

          "minimumstay": 0,

          "maximumstay": 999

        },

        "weekdays": {

          "mon": true,

          "tue": true,

          "wed": true,

          "thu": true,

          "fri": true,

          "sat": true,

          "sun": true

        },

        "allweekdays": true,

        "isactive": true,

        "StayType": "S",

        "CheckinRestricted": false,

        "CombinationId": 0,

        "OriginalPromotionCode": ""

      },

    "CancelationPolicies": []

  }

}


Example - PromotionsWithConditions

{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-24T09:45:48.5622191+04:00",

  "Version": "1.01",

  "ResponseID": "07605820-1f8e-48cc-adc3-80fb064062ef",

  "Data": {

    "PromotionsWithConditions": [

            {

                "priceid": "d9dcf86d-2ff9-4073-882d-10b5ae5ebe4a",

                "hotelid": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "roomcategory": "67e6a8b1-5069-4f7f-90de-4215fa94de75",

                "roomcategorytype": "b0472de5-3c70-4eb3-8e5c-03c1f8a97efe",

                "roomcategoryname": "Beach Pool Villa",

                "startdate": "2025-04-24T00:00:00",

                "enddate": "2025-09-30T00:00:00",

                "mealplan": "AL/PREMIUM",

                "adults": 1,

                "teens": 0,

                "children": 0,

                "infants": 0,

                "teenswithextrabeds": 0,

                "childrenwithextrabeds": 0,

                "teenagersareadults": true,

                "childpolicy": {

                    "infantmaxage": 0.00,

                    "childmaxage": 11.99,

                    "teenmaxage": 15.99

                },

                "placement": "SGL",

                "price": 870.00000000000,

                "currency": "USD",

                "promotioncode": "EBB by 60 days  (discount 10.0000%) - EBO10%(SPO)",

                "promotioncodeforgrouping": "EBB by 60 days - EBO10%",

                "updated": "2025-07-14T19:49:16.903",

                "promotion": {

                    "staydays": null,

                    "paydays": null,

                    "discount": 10.0000,

                    "cashback": 0.000000000000

                },

                "conditions": {

                    "bookingstartdate": null,

                    "bookingenddate": null,

                    "bookbefore": 60,

                    "minimumstay": 0,

                    "maximumstay": 999

                },

                "weekdays": {

                    "mon": true,

                    "tue": true,

                    "wed": true,

                    "thu": true,

                    "fri": true,

                    "sat": true,

                    "sun": true

                },

                "allweekdays": true,

                "isactive": true,

                "StayType": "S",

                "CheckinRestricted": false,

                "CombinationId": 0,

                "OriginalPromotionCode": "EBO10%"

            }"ContractPrices": [

      {

],

        "CancelationPolicies": []

    }

}


Notes: Please be noted, that the prices are already calculated with all possible discounts.
{
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "hotelID": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "hotelName": {
            "type": [
                "string",
                "null"
            ]
        },
        "checkInDate": {
            "type": "string",
            "format": "date-time"
        },
        "checkOutDate": {
            "type": "string",
            "format": "date-time"
        },
        "placement": {
            "type": [
                "string",
                "null"
            ]
        },
        "roomCategory": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "roomCategoryName": {
            "type": [
                "string",
                "null"
            ]
        },
        "priceID": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "promotionCodes": {
            "type": [
                "string",
                "null"
            ]
        },
        "mealPlan": {
            "type": [
                "string",
                "null"
            ]
        },
        "agentConfirmationNumber": {
            "type": [
                "string",
                "null"
            ]
        },
        "adults": {
            "type": "integer",
            "minimum": 0
        },
        "children": {
            "type": "integer",
            "minimum": 0
        },
        "infants": {
            "type": "integer",
            "minimum": 0
        },
        "hotelNote": {
            "type": [
                "string",
                "null"
            ]
        },
        "price": {
            "type": "number",
            "minimum": 0
        },
        "customerCodes": {
            "type": [
                "array",
                "null"
            ],
            "items": {
                "type": "string"
            }
        }
    },
    "required": [
        "checkInDate",
        "checkOutDate",
        "adults",
        "children",
        "infants",
        "price"
    ]
}

Roomavailabilities

The method returns the list of stop sales or other statuses by room categories and dates for specified hotelid
Purpose: To check the availability status of rooms for a specific hotel.

Use: This method returns statuses like “STOP SALE” or “ON REQUEST” for specific room categories and dates, letting you know if a room is immediately bookable or not

Parameters to pass: agentid, agentpassword and hotelid
Sample URL:
https://restapi.rustaronline.com/v1.01/api/roomavailabilities?agentid=username&agentpassword=password&hotelid=44EDF1C4-BFE0-4CA0-8091-014CF5C68A

Name Type Description
hotelid string GUID of the hotel in the database of Rustar. This GUID will be used to retrieve additional information (like prices) about the hotel
roomcategory string GUID of the Room category
roomcategorytype string GUID of the Room category type. Unique by description of the room
roomcategoryname string The name of the room category
startdate Date Start date of the limit period
enddate Date End date of the limit period
note string Free formed text
pricestatus string Values can be: “STOP” – means STOP SALE. The room is not available for specified period “REQUEST” – means“ON REQUEST”. The availability must be checked for specified period. “FREE” – this status is optional. Means FREE SALE.
https://restapi.rustaronline.com/v1.01/api/roomavailabilities?agentid=username&agentpassword=password&hotelid=44EDF1C4-BFE0-4CA0-8091-014CF5C68A
{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T11:40:23.814989+04:00",

  "Version": "1.01",

  "ResponseID": "077c7be8-b71f-4860-9c96-8a85ff2ffa10",

  "Data": [

    {

      "hotelid": "44edf1c4-bfe0-4ca0-8091-014cf5c68a79",

      "roomcategory": "f4152cbe-53a3-46dd-b5ea-32683b2497f8",

      "roomcategorytype": "00000000-0000-0000-0000-000000000000",

      "roomcategoryname": "2 B/R Apartment",

      "startdate": "2025-10-25T00:00:00",

      "enddate": "2025-10-25T00:00:00",

      "note": null,

      "availability": "STOP"

    },

    {

      "hotelid": "44edf1c4-bfe0-4ca0-8091-014cf5c68a79",

      "roomcategory": "f4152cbe-53a3-46dd-b5ea-32683b2497f8",

      "roomcategorytype": "8f3c7364-46fa-4226-8582-ec3c3d54cd7e",

      "roomcategoryname": "2 B/R Apartment",

      "startdate": "2025-10-26T00:00:00",

      "enddate": "2025-10-26T00:00:00",

      "note": null,

      "availability": "REQUEST"

    },

    {

      "hotelid": "44edf1c4-bfe0-4ca0-8091-014cf5c68a79",

      "roomcategory": "f4152cbe-53a3-46dd-b5ea-32683b2497f8",

      "roomcategorytype": "00000000-0000-0000-0000-000000000000",

      "roomcategoryname": "2 B/R Apartment",

      "startdate": "2025-10-27T00:00:00",

      "enddate": "2025-10-27T00:00:00",

      "note": null,

      "availability": "REQUEST"

    }

 ]


Notes:

“STOP” – means STOP SALE. The room is not available for specified period

“REQUEST” – means“ON REQUEST”. The availability must be checked for specified period. “FREE” – this status is optional. Means FREE SALE.

Extra Services Data

This chapter describes information, prices, and conditions related to Additional extra Services.

Description and Mandates
Additional Services may include:
Gala Dinners
Christmas Dinners
Special offers on specific holiday dates.
Mandatory Services: In certain periods, it is not possible to book the hotel without also booking the existing service, as the service is mandatory.
Please Note: Kindly take this requirement into consideration when processing bookings.

Hotelextras

Purpose: To retrieve a list of additional services, such as gala dinners, that may be mandatory or optional for a stay.

Use: This method is used to find extra services and their prices. A key feature is that prices are shown in the original sell price (e.g., the currency the supplier uses)

Parameters to pass: agented and agentpassword

Sample URL:
https://restapi.rustaronline.com/v1.01/api/hotelextras?agentid=username&agentpassword=password

The method returns the list of gala dinners and other additional services mandatory or complimentary for stay at specific dates in original sell price.

Name Type Description
hotelid string GUID of the hotel in the database of Rustar. This GUID will be used to retrieve additional information (like prices) about the hotel
hotelname string string. Name of the hotel
servicetype string Object type of service/gala dinner
roomcategorytype integer GUID of the Room category type. Unique by description of the room
roomcategoryname string  The name of the room category
extraservicetypeid integer GUID of the service type. Unique for GALA DINNER, CHRISTMAS DINNER etc
extraservicetype string string. The name of the extra service type. E.g. GALA DINNER
extraserviceid string GUID of the extra service provided/requested by the hotelUpdated
extraservice integer  The name of the service/extra for the specific hotel. E.g. NEW YEAR GALA DINNER IN ATLANTIS
servicedescriptionnote string string. Optional description to be displayed to client. The description explains the conditions of the gala dinner in human readable format
serviceconditionsnote string string. Optional description of conditions of the service to be displayed to the client. The conditions displayed are in human readable format
ismandatory boolean Boolean. 1 if this dinner/service is mandatory for the stay. 0 if using of this service/dinner is optional
serviceprices array Array of different options for gala dinners/extra services
description string Description of one of the option
adult array Price for the adult
teen array Price for the teenager (Age is specified in maxage property)
child array Price for the teenager (Age is specified in maxage property)
infant array Price for the infant (Age is specified in maxage property). If priceid is null, then infant is not allowedUpdated
serviceconditions array conditions to be met in order to request this dinner/service
bookingstartdate Date If not null, then the booking should be done starting from this date
bookingenddate Date If not null, then the booking should be done ending this date
minimumstay integer If not null, then the booking duration should be at least the specified days
stayperiodstart Date If not null, then the reservation (stay date) should be starting from specified date
stayperiodend Date If not null, then the reservation (stay date) should end before specified date
https://restapi.rustaronline.com/v1.01/api/hotelextras?agentid=username&agentpassword=password
{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T11:52:30.8013383+04:00",

  "Version": "1.01",

  "ResponseID": "2213181d-620c-43fb-8365-7553460a947a",

  "Data": [

    {

      "hotelid": "8efb7ca9-09a9-4409-9d03-016b4bd9d522",

      "hotelname": "Residence Inn by Marriott Sheikh Zayed Road",

      "servicetype": {

        "extraservicetypeid": "88ec1f35-4077-451b-a71f-0630fcc7fdff",

        "extraservicetype": "GALA DINNER"

      },

      "service": {

        "extraserviceid": "e6614aec-a920-4e33-a17d-67afc2bfe23d",

        "extraservice": "NEW YEAR 2025-2026 GALA DINNER",

        "servicedescriptionnote": "Mandatory Gala Dinner on 31.12.2025",

        "serviceconditionsnote": null,

        "ismandatory": 1,

        "serviceprices": [

          {

            "description": "Mandatory Gala Dinner (w/unlimited soft drinks)",

            "adult": {

              "priceid": "9de63141-53f5-4334-85cd-bfa2448c9286",

              "currency": "AED",

              "price": 393.25

            },

            "teen": {

              "priceid": "c0834ef8-4e1b-40a6-b0ef-ba5edd2f4a87",

              "maxage": 20.99,

              "currency": "AED",

              "price": 393.25

            },

            "child": {

              "priceid": "f426307f-7208-490c-ab09-5f46dc479ba8",

              "maxage": 11.99,

              "currency": "AED",

              "price": 205.75

            },

            "infant": {

              "priceid": "1a7d7ed4-bd55-4971-88c1-00b64240c13f",

              "maxage": 5.99,

              "currency": "AED",

              "price": 0

            }

          }

        ],

        "serviceconditions": [

          {

            "bookingstartdate": null,

            "bookingenddate": null,

            "bookbefore": null,

            "minimumstay": null,

            "stayperiodstart": "2025-12-31T00:00:00",

            "stayperiodend": "2026-01-01T00:00:00"

          }

        ]

      }

    },

    {

      "hotelid": "e9a98ffa-76fd-4ce0-97e9-018671930ebe",

      "hotelname": "The St. Regis Saadiyat Island Resort, Abu Dhabi",

      "servicetype": {

        "extraservicetypeid": "88ec1f35-4077-451b-a71f-0630fcc7fdff",

        "extraservicetype": "GALA DINNER"

      },

      "service": {

        "extraserviceid": "58f6a03d-01ce-4ae8-af69-045f6709416c",

        "extraservice": "NEW YEAR 2024 - 2025 GALA DINNER",

        "servicedescriptionnote": "Optional Gala Dinner on 31.12.2024",

        "serviceconditionsnote": null,

        "ismandatory": 0,

        "serviceprices": [

          {

            "description": "Gala Dinner - Sparkling Soiree (inclusive of soft beverages)",

            "adult": {

              "priceid": "cda65dc7-9e82-4b39-b81a-d85edc9d9535",

              "currency": "AED",

              "price": 393.25

            },

            "teen": {

              "priceid": "ebc58057-8892-43c0-9678-3bbcce6903f1",

              "maxage": 20.99,

              "currency": "AED",

              "price": 393.25

            },

            "child": {

              "priceid": "10e2aafb-e717-42d0-b779-8b89dd010200",

              "maxage": 11.99,

              "currency": "AED",

              "price": 193.25

            },

            "infant": {

              "priceid": "eaa368ea-1706-4dfa-b303-9ed3cc9d869d",

              "maxage": 5.99,

              "currency": "AED",

              "price": 0

            }

          },

          {

            "description": "Gala Dinner - Sparkling Soiree (inclusive of selected grapes, beverages, and creative concoctions)",

            "adult": {

              "priceid": "2048c7dd-b9b1-4a8a-b7da-8c5d5f020bdc",

              "currency": "AED",

              "price": 568.25

            },

            "teen": {

              "priceid": "23898bb0-be9f-4a8f-91ea-20e2a7068f96",

              "maxage": 20.99,

              "currency": "AED",

              "price": 568.25

            },

            "child": {

              "priceid": "f0b921a8-522b-45dd-a7b5-3f9715eee936",

              "maxage": 11.99,

              "currency": "AED",

              "price": 193.25

            },

            "infant": {

              "priceid": "e9a05502-34f4-4388-a484-2db6f9638933",

              "maxage": 5.99,

              "currency": "AED",

              "price": 0

            }

          }

        ],

        "serviceconditions": [

          {

            "bookingstartdate": null,

            "bookingenddate": null,

            "bookbefore": null,

            "minimumstay": null,

            "stayperiodstart": "2024-12-31T00:00:00",

            "stayperiodend": "2025-01-01T00:00:00"

          },

          {

            "bookingstartdate": null,

            "bookingenddate": null,

            "bookbefore": null,

            "minimumstay": null,

            "stayperiodstart": "2024-12-31T00:00:00",

            "stayperiodend": "2025-01-01T00:00:00"

          }

        ]

      }

    },

{

      "hotelid": "1bf4dfcf-ee2a-407e-ad88-e349839d08a0",

      "hotelname": "Ramada by Wyndham Beach Hotel Ajman",

      "servicetype": {

        "extraservicetypeid": "6c5c6aba-b4f6-4c58-8633-c51b1447f65b",

        "extraservicetype": "Russian Christmas Dinner"

      },

      "service": {

        "extraserviceid": "67ce2c5f-7111-446f-addf-67e747f6afdb",

        "extraservice": "Russian Christmas Dinner 2026",

        "servicedescriptionnote": "Russian Christmas Dinner on 06.01.2026",

        "serviceconditionsnote": null,

        "ismandatory": 1,

        "serviceprices": [

          {

            "description": "Russian Christmas Dinner",

            "adult": {

              "priceid": "be079337-b544-4b7a-be7e-640a41126300",

              "currency": "AED",

              "price": 318.25

            },

            "teen": {

              "priceid": "8c4f54dc-0bfc-43ac-911e-99bf4ad35a27",

              "maxage": 20.99,

              "currency": "AED",

              "price": 318.25

            },

            "child": {

              "priceid": "f4217fb8-7999-4b86-8558-a36f3f9030f5",

              "maxage": 11.99,

              "currency": "AED",

              "price": 168.25

            },

            "infant": {

              "priceid": "6af75fcd-8dab-499d-b86c-f47b17c0452e",

              "maxage": 5.99,

              "currency": "AED",

              "price": 0

            }

          }

        ],

        "serviceconditions": [

          {

            "bookingstartdate": null,

            "bookingenddate": null,

            "bookbefore": null,

            "minimumstay": null,

            "stayperiodstart": "2026-01-06T00:00:00",

            "stayperiodend": "2026-01-07T00:00:00"

          }

        ]

      }

    }

  ]

}

HotelExtrasNew

Purpose: To retrieve a list of additional hotel services.

Use: This method serves the same purpose as Hotelextras, but with some differences, key one : the price is provided in the selling currency (e.g., USD), not the original currency

Parameters to pass: agented and agentpassword
Sample URL:
https://restapi.rustaronline.com/v1.01/api/HotelExtrasNew?agentid=username&agentpassword=password 

Name Type Description
HotelName string  The name of the hotel where the service is offered.
ServiceName string The full name of the service (e.g., “New Year Eve Dinner”).
ServiceType string string. The type of service, such as “Compulsory”.
HotelID string GUID. The unique identifier of the hotel.
ServiceID string GUID. A unique identifier for the specific service.
ServiceDetails array An array of objects, providing a detailed breakdown of the service.
PriceName string  The name of the price category, often specifying a meal plan or event.
CompulsoryDate string The date range for which the service is mandatory.
Condition string Any specific conditions for the service.
PromoCode string The promotional code associated with the service, if applicable.
OnlyforMeals string A comma-separated list of meal plans for which the service is valid.
https://restapi.rustaronline.com/v1.01/api/HotelExtrasNew?agentid=username&agentpassword=password 
 {

    "Code": "00",

    "Message": "",

    "Timestamp": "2025-09-19T17:21:11.248863+04:00",

    "Version": "1.01",

    "ResponseID": "a3e57c80-9cc6-49ec-95b8-c5ce68d1b8a7",

    "Data": [

        {

            "HotelName": "Coco Palm Dhuni Kolhu Maldives",

            "ServiceName": "(Compulsory)New Year Eve Dinner (31.12.2026)",

            "ServiceType": "Compulsory",

            "HotelID": "4b987264-f4b2-4ed8-9c0b-62ef07e5a294",

            "ServiceID": "34b0c108-a021-4091-ad25-014bbdb4cae9",

            "ServiceDetails": [

                {

                    "PriceName": "New Year Eve Dinner (31.12.2026)",

                    "CompulsoryDate": "31.12.2026 - 01.01.2027",

                    "Condition": null,

                    "PromoCode": null,

                    "OnlyforMeals": "",

                    "OnlyForRoomCategories": "",

                    "OnlyForHotelPromoCodes": "",

                    "BookingPeriod": "",

                    "BookBeforeDays": "",

                    "MinimumStayDays": "",

                    "Prices": [

                        {

                            "PriceType": "Adult",

                            "AgeRange": "21-100",

                            "PricePaxCount": 1,

                            "Price": 215.000000000000,

                            "ExtraPrice": 215.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Teen",

                            "AgeRange": "12-21",

                            "PricePaxCount": 1,

                            "Price": 215.000000000000,

                            "ExtraPrice": 215.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Child",

                            "AgeRange": "2-12",

                            "PricePaxCount": 1,

                            "Price": 110.000000000000,

                            "ExtraPrice": 110.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Infant",

                            "AgeRange": "0-2",

                            "PricePaxCount": 1,

                            "Price": 0.000000000000,

                            "ExtraPrice": 0.000000000000,

                            "IsAllowed": true

                        }

                    ]

                }

            ]

        },

        {

            "HotelName": "Kuredhivaru Resort and Spa",

            "ServiceName": "(Compulsory)Christmas Eve Gala Dinner 24.12.2025",

            "ServiceType": "Compulsory",

            "HotelID": "55df40ec-27a2-40c2-a71c-8d3c8b61a40c",

            "ServiceID": "8490c16a-b6b2-47c3-98c3-015a8301faea",

            "ServiceDetails": [

                {

                    "PriceName": "Christmas Eve Gala Dinner 24.12.2025 ( FOR HB / FB / AL)",

                    "CompulsoryDate": "24.12.2025 - 25.12.2025",

                    "Condition": null,

                    "PromoCode": null,

                    "OnlyforMeals": "HB,AL,FB",

                    "OnlyForRoomCategories": "",

                    "OnlyForHotelPromoCodes": "",

                    "BookingPeriod": "",

                    "BookBeforeDays": "",

                    "MinimumStayDays": "",

                    "Prices": [

                        {

                            "PriceType": "Adult",

                            "AgeRange": "21-100",

                            "PricePaxCount": 1,

                            "Price": 320.000000000000,

                            "ExtraPrice": 320.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Teen",

                            "AgeRange": "16-21",

                            "PricePaxCount": 1,

                            "Price": 320.000000000000,

                            "ExtraPrice": 320.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Child",

                            "AgeRange": "6-16",

                            "PricePaxCount": 1,

                            "Price": 165.000000000000,

                            "ExtraPrice": 165.000000000000,

                            "IsAllowed": true

                        },

                        {

                            "PriceType": "Infant",

                            "AgeRange": "0-6",

                            "PricePaxCount": 1,

                            "Price": 0.000000000000,

                            "ExtraPrice": 0.000000000000,

                            "IsAllowed": true

                        }

                    ]

                }  

 ]

}

Notes:

An important factor to note is that, unlike HotelExtras, where the price is shown in the Origin currency, in HotelExtrasNew the price is provided in selling currency.

Transfer Data

Transfer Data Methods
These methods are used to retrieve transfer service prices and available vehicle types for transportation between hotels, airports, or other locations, which in some cases are necessary for booking.

Transferprices
Purpose: To retrieve the prices for transfers to and from a specific hotel on a given date.

Use: This is the standard method for finding the cost of transfers for simple routes. The data is used unless the transfer is “complex.”

TransferPricesExt
Purpose: An alternative method to retrieve transfer prices, typically used for more complex or specific routes (e.g., the Maldives or Seychelles).

Use: Used when more complicated transfer data is required. When booking, this method provides a TransferPriceID and transferID.

Vehicletypes
Purpose: To retrieve the names and types of vehicles available for transfers.

Use: This method provides the vehicle names (e.g., “GROUP”, “TOYOTA PREVIA”) which are required when booking a transfer using the Transferprices method.

Transferprices

Purpose: To get the prices for transfers (transportation) to and from a specific hotel on a given date.

Use: Used to find the cost of airport or hotel transfers. The data from this method is used unless the transfer is “complex”

Parameters to pass: agentid, agentpassword, hotelid and transferdate

Sample URL:
https://restapi.rustaronline.com/v1.01/api/transferprices?agentid=username&agentpassword=password&hotelid=%20d5f11cf4-acc1-4c0e-9736-e45697a22031&transferdate=2025-12-25T00:00:00

The method returns the prices for transfers from and to the specified hotel and date.

Name Type Description
vehicletypeid string GUID of the vehicle type. Uniquely describes the vehicles like  (“GROUP”, “TOYOTA COROLLA”)
vehicletypename string Description of the vehicle/transfer. “GROUP”, “TOYOTA COROLLA”…
adultplaces integer Max places for adults in the vehicle. For group transfers the value is 1
childplaces integer Max places for children in the vehicle after all places for adults are occupied. For group transfers the value is 1
isgroup boolean boolean. For the group transfer prices the value id true, for individual transfers/vehicles the value is false
price integer Price in USD for the transfer. For group transfers the price is the transfer price for one adult, for the individual transfer the price is per vehicle
childprice integer For the group transfer the field contains the price in USD for the transfer of the child. For individual transfers this field is not used and its value is 0
perpersonprice boolean Boolean. Specifies if the price is per person or per vehicle. For group transfers it is true, for individual transfers it is false.
transfertype string string. “ARRIVAL” or “DEPARTURE”.
terminalid string GUID. Unique id of the airport terminal for the transfer
terminalcode string Terminal code. 3 – 4 characters. (SHK, DXB, DXB2 …)
https://restapi.rustaronline.com/v1.01/api/transferprices?agentid=username&agentpassword=password&hotelid=%20d5f11cf4-acc1-4c0e-9736-e45697a22031&transferdate=2025-12-25T00:00:00
{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T12:14:06.0010871+04:00",

  "Version": "1.01",

  "ResponseID": "d9a4765c-0ec1-426d-a652-b11cadc60fac",

  "Data": [

    {

      "vehicletypeid": "50cf907a-2145-4b46-bb67-0dde2e7b7326",

      "vehicletypename": "MERCEDES S CLASS 500",

      "adultplaces": 3,

      "childplaces": 0,

      "isgroup": false,

      "price": 265,

      "childprice": 0,

      "perpersonprice": false,

      "transfertype": "DEPARTURE",

      "terminalid": "f9c8b999-d75f-481f-bd86-8077d1f8599b",

      "terminalcode": "DXB1"

    },

    {

      "vehicletypeid": "a9252005-0a92-4ed1-9603-0f2f14295c29",

      "vehicletypename": "GROUP",

      "adultplaces": 1,

      "childplaces": 1,

      "isgroup": true,

      "price": 20,

      "childprice": 0,

      "perpersonprice": true,

      "transfertype": "DEPARTURE",

      "terminalid": "f9c8b999-d75f-481f-bd86-8077d1f8599b",

      "terminalcode": "DXB1"

    },

    {

      "vehicletypeid": "50cf907a-2145-4b46-bb67-0dde2e7b7326",

      "vehicletypename": "MERCEDES S CLASS 500",

      "adultplaces": 3,

      "childplaces": 0,

      "isgroup": false,

      "price": 265,

      "childprice": 0,

      "perpersonprice": false,

      "transfertype": "DEPARTURE",

      "terminalid": "0e650729-ec92-4853-ac52-14f13b450c8f",

      "terminalcode": "DXB2"

    }

]

}

{
    "$schema": "http:\/\/json-schema.org\/draft-07\/schema#",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "transferPriceId": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "transferDate": {
            "type": "string",
            "format": "date-time"
        },
        "transferType": {
            "type": [
                "string",
                "null"
            ]
        },
        "fromAirport": {
            "type": [
                "string",
                "null"
            ]
        },
        "fromHotelID": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "fromHotelName": {
            "type": [
                "string",
                "null"
            ]
        },
        "toAirport": {
            "type": [
                "string",
                "null"
            ]
        },
        "toHotelID": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        },
        "toHotelName": {
            "type": [
                "string",
                "null"
            ]
        },
        "partner": {
            "type": [
                "string",
                "null"
            ]
        },
        "customerCodes": {
            "type": [
                "array",
                "null"
            ],
            "items": {
                "type": "string"
            }
        }
    },
    "required": [
        "transferDate"
    ]
}

TransferPricesExt

Purpose: An alternative method to get transfer prices, typically for more complex routes.

Use: This method is used for destinations like the Maldives or Seychelles and c.t.r where transfers are more complicated. When booking, this method provides a TransferPriceID

Parameters to pass: agentid, agentpassword and hotelid
Sample URL:
https://restapimdv.rustaronline.com/v1.01/api/TransferPricesExt?agentid=username&agentpassword=password&hotelid=50601468-2c60-496a-91ab-06644e7e9ec7

This method returns the prices for transfers from the Maldives destination to the specified hotel and date.
In this specific case, the example refers to Maldives, but the same method is also used for other destinations that offer extra services

Name Type Description
Data array An array of objects, which depends on the called method.
TransferPriceID string GUID. Unique identifier for the transfer price.
RtTransferName string String. The name of the transfer.
HotelID string GUID. The identifier of the hotel.
HotelName string String. The name of the hotel.
Meal string CHAR(2). The meal plan: “RO” (Room Only), “BB” (Breakfast), “HB” (Breakfast and Dinner), “FB” (Full Board), “AL” (All Inclusive).
MealFull string String. Full description of the meal plan.
LocationDistrictID string  GUID. The identifier of the district where the hotel is located.
LocationDistrictName string  String. The name of the district.
RoomCatName string String. The name of the room category.
AdultFrom Decimal Decimal. The lower age limit for an adult.
AdultTo Decimal Decimal. The upper age limit for an adult.
AdultPrice Decimal Decimal. Price for an adult.
AdultCount integer Integer. Number of adults.
ExtraAdultPrice Decimal  Decimal. Price for an extra adult.
TeenFrom Decimal Decimal. The lower age limit for a teenager.
TeenTo Decimal Decimal. The upper age limit for a teenager.
TeenPrice Decimal Decimal. Price for a teenager.
TeenCount integer Integer. Number of teenagers.
ExtraTeenPrice Decimal Decimal. Price for an extra teenager.
ChildFrom Decimal Decimal. The lower age limit for a child.
ChildTo Decimal Decimal. The upper age limit for a child.
ChildPrice Decimal Decimal. Price for a child.
ChildCount integer Integer. Number of children.
ExtraChildPrice Decimal Decimal. Price for an extra child.
InfantFrom Decimal Decimal. The lower age limit for an infant.
InfantTo Decimal Decimal. The upper age limit for an infant.
InfantPrice Decimal Decimal. Price for an infant.
InfantCount integer Integer. Number of infants.
ExtraInfantPrice Decimal Decimal. Price for an extra infant.
StayPeriodFrom Date Date. The start date of the stay period.
StayPeriodTo Date Date. The end date of the stay period.
BookingPeriodFrom Date Date. The start date of the booking period.
BookingPeriodTo Date Date. The end date of the booking period.
CurrencyUpdated string CHAR(3). The currency of the price.
ThisTransferOnly boolean Description for the new field.
RoomFonds string Description for the new field.
https://restapimdv.rustaronline.com/v1.01/api/TransferPricesExt?agentid=username&agentpassword=password&hotelid=50601468-2c60-496a-91ab-06644e7e9ec7
{{

    "Code": "00",

    "Message": "",

    "Timestamp": "2025-09-23T09:54:53.2686079+04:00",

    "Version": "1.01",

    "ResponseID": "f32b7d41-0160-41e7-b020-1ab3712b8ce3",

    "Data": [

        

        {

            "TransferPriceID": "d4112dff-8611-4633-a5b0-e50499bf8fed",

            "RtTransferName": "(Mandaory)DOMESTIC FLIGHT (SPO) (MMKWW25-26)",

            "HotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

            "HotelName": "Mercure Maldives Kooddoo",

            "Meal": "BB",

            "MealFull": "BB/, BB/PREMIUM",

            "LocationDistrictID": "a2996ff2-f3d8-4f83-bf89-d403f13e07dd",

            "LocationDistrictName": "Kooddoo Island",

            "RoomCatName": "Over Water Sunset Pool Villa",

            "AdultFrom": 18.00,

            "AdultTo": 100.00,

            "AdultPrice": 360.0000,

            "AdultCount": 1,

            "ExtraAdultPrice": 360.0000,

            "TeenFrom": 12.00,

            "TeenTo": 17.99,

            "TeenPrice": 0.0000,

            "TeenCount": 0,

            "ExtraTeenPrice": 0.0000,

            "ChildFrom": 2.00,

            "ChildTo": 11.99,

            "ChildPrice": 0.0000,

            "ChildCount": 0,

            "ExtraChildPrice": 0.0000,

            "InfantFrom": 0.00,

            "InfantTo": 1.99,

            "InfantPrice": 0.0000,

            "InfantCount": 0,

            "ExtraInfantPrice": 0.00,

            "StayPeriodFrom": "2025-08-04T00:00:00",

            "StayPeriodTo": "2027-01-05T00:00:00",

            "BookingPeriodFrom": "2025-08-04T00:00:00",

            "BookingPeriodTo": "2025-10-31T00:00:00",

            "Currency": "USD",

            "ThisTransferOnly": false,

"RoomFonds": "0694E801-83F8-4F70-8B62-FE8F53A354F0, 0B95AD25-6530-4B94-9601-207804FA01B3, 0D7D2AE9-7FAB-47DB-871C-3EC07FA5AF8A, 0DD332F1-D7C3-491A-9E11-10C8B54E9C7C, 14B0FCD0-8416-4B73-B04C-D5C11A909554, 1615D506-94E0-497B-922E-163391111ACC, 1C5EA00C-75D6-4D65-90C5-8044A0F3DF83, 22424681-54BF-42CC-AF1E-8BD0733020B3"

        },

        {

            "TransferPriceID": "d4112dff-8611-4633-a5b0-e50499bf8fed",

            "RtTransferName": "(Mandaory)DOMESTIC FLIGHT (SPO) (MMKWW25-26)",

            "HotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

            "HotelName": "Mercure Maldives Kooddoo",

            "Meal": "BB",

            "MealFull": "BB/, BB/PREMIUM",

            "LocationDistrictID": "a2996ff2-f3d8-4f83-bf89-d403f13e07dd",

            "LocationDistrictName": "Kooddoo Island",

            "RoomCatName": "Over Water Sunset Villa",

            "AdultFrom": 18.00,

            "AdultTo": 100.00,

            "AdultPrice": 360.0000,

            "AdultCount": 1,

            "ExtraAdultPrice": 360.0000,

            "TeenFrom": 12.00,

            "TeenTo": 17.99,

            "TeenPrice": 0.0000,

            "TeenCount": 0,

            "ExtraTeenPrice": 0.0000,

            "ChildFrom": 2.00,

            "ChildTo": 11.99,

            "ChildPrice": 0.0000,

            "ChildCount": 0,

            "ExtraChildPrice": 0.0000,

            "InfantFrom": 0.00,

            "InfantTo": 1.99,

            "InfantPrice": 0.0000,

            "InfantCount": 0,

            "ExtraInfantPrice": 0.00,

            "StayPeriodFrom": "2025-08-04T00:00:00",

            "StayPeriodTo": "2027-01-05T00:00:00",

            "BookingPeriodFrom": "2025-08-04T00:00:00",

            "BookingPeriodTo": "2025-10-31T00:00:00",

            "Currency": "USD",

            "ThisTransferOnly": false,

            "RoomFonds": ""

        }

    ]

}


Notes:

RoomFonds

The RoomFonds field is a String containing a comma-separated list of Unique Room Fund Identifiers (GUIDs) associated with the specific room category and hotel. These identifiers represent the physical rooms available for the given transfer.

How to use it:
This field is provided to specify which exact rooms in the hotel are included in the transfer price.
The GUIDs listed here should be used in subsequent API calls (if required) to ensure that the booking is linked to the correct room inventory.
Example Value: “0694E801-83F8-4F70-8B62-FE8F53A354F0, 0B95AD25-6530-4B94-9601-207804FA01B3, 0D7D2AE9-7FAB-47DB-871C-3EC07FA5AF8A”

Vehicletypes

Parameters to pass: agentid, agentpassword
Sample URL:
https://restapi.rustaronline.com/v1.01/api/vehicletypes?agentid=username&agentpassword=password

Purpose: To retrieve the names and types of vehicles available for transfers.

Use: This method provides the vehicle names (e.g., “GROUP”, “TOYOTA PREVIA”) that are required when booking a transfer via the Transferprices method

Name Type Description
vehicletypeid string GUID of the vehicle type. Uniquely describes the vehicles like (“GROUP”, “TOYOTA COROLLA”)
vehicletypename string Description of the vehicle/transfer. “GROUP”, “TOYOTA COROLLA”…
adultplaces integer Max places for adults in the vehicle. For group transfers the value is 1
childplaces integer Max places for children in the vehicle after all places for adults are occupied. For group transfers the value is 1
isgroup boolean For the group transfer prices the value id true, for individual transfers/vehicles the value is false
https://restapi.rustaronline.com/v1.01/api/vehicletypes?agentid=username&agentpassword=password
{{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T12:29:42.1708119+04:00",

  "Version": "1.01",

  "ResponseID": "dc10a54b-c451-44e5-9958-6ae491e0149a",

  "Data": [

    {

      "vehicletypeid": "fe6a7c97-dd54-496f-994b-07ff9ac20b6b",

      "vehicletypename": "STARIA",

      "adultplaces": 8,

      "childplaces": 0,

      "isgroup": false

    },

    {

      "vehicletypeid": "c75e7305-2073-4890-b85c-08e4e062b2ef",

      "vehicletypename": "HONDA ODESSEY J",

      "adultplaces": 4,

      "childplaces": 1,

      "isgroup": false

    },

    {

      "vehicletypeid": "50cf907a-2145-4b46-bb67-0dde2e7b7326",

      "vehicletypename": "MERCEDES S CLASS 500",

      "adultplaces": 3,

      "childplaces": 0,

      "isgroup": false

    },

    {

      "vehicletypeid": "a6983718-e301-438e-b7c2-0de79d20a7fd",

      "vehicletypename": "Lamborghini URUS",

      "adultplaces": 2,

      "childplaces": 1,

      "isgroup": false

    },

    {

      "vehicletypeid": "a9252005-0a92-4ed1-9603-0f2f14295c29",

      "vehicletypename": "GROUP",

      "adultplaces": 1,

      "childplaces": 1,

      "isgroup": true

    },

    {

      "vehicletypeid": "35b4f47e-6098-4c7e-a6da-15894a372f64",

      "vehicletypename": "HIGER 37",

      "adultplaces": 26,

      "childplaces": 0,

      "isgroup": false

    },

    {

      "vehicletypeid": "7ec0b691-a4e4-44c4-b66c-20ba83c9ded0",

      "vehicletypename": "MERCEDES VIANNO",

      "adultplaces": 7,

      "childplaces": 0,

      "isgroup": false

    },

    {

      "vehicletypeid": "77df70e6-d50e-4ad5-8947-23560864e923",

      "vehicletypename": "Toyota Rav4",

      "adultplaces": 2,

      "childplaces": 1,

      "isgroup": false

    },

    {

      "vehicletypeid": "88cf527b-43c8-4239-b6c5-29918bb211c0",

      "vehicletypename": "MERCEDES S CLASS",

      "adultplaces": 3,

      "childplaces": 1,

      "isgroup": false

    }  ]

}

Destination Data

These methods serve to retrieve lists of various geographical units. They are primarily used to download static data, which helps in filtering and specifying hotel searches.

Cities
Purpose: To retrieve the complete list of all cities available in the system.

Use: With this method, you get the cityid and cityname for all destinations, allowing you to filter the Hotels list by a specific city.

Districts
Purpose: To retrieve a list of all districts (sub-regions of cities).
Use: Used to get the districtid and districtname, which allows for further refinement of hotel searches within a city.

Areas
Purpose: To retrieve a list of geographical areas.
Use: This method provides another, broader level of geographical data that can be used to filter or organize properties.

Cities

Parameters to pass: agentid and agentpassword

Sample URL: 
https://restapi.rustaronline.com/v1.01/api/Cities?agentid=username&agentpassword=password

Name Type Description
cityid string GUID. A unique identifier for the city.
cityname string String. The name of the city.
areaid string GUID. An identifier for the specific area within the city. This field is currently null, indicating it may not be in use or is optional for the cities listed.
https://restapi.rustaronline.com/v1.01/api/Cities?agentid=username&agentpassword=password
 {{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T15:05:19.4237797+04:00",

  "Version": "1.01",

  "ResponseID": "06292d7c-b176-4622-a62a-a624ec555bcc",

  "Data": [

    {

      "cityid": "1b6c9449-2e91-420d-b713-02d7468ceef0",

      "cityname": "Almaty",

      "areaid": null

    },

    {

      "cityid": "9b7aa639-abbe-488d-8c1b-19342c986e51",

      "cityname": "Aktau",

      "areaid": null

    },

    {

      "cityid": "5ed616a8-9a0d-4583-bc70-2071de0131b7",

      "cityname": "Istanbul",

      "areaid": null

    },

    {

      "cityid": "2b4ac35d-e7dc-42e0-b6da-2632a84a5768",

      "cityname": "Al Ain",

      "areaid": null

    },

    {

      "cityid": "f78ac3bc-f040-46d0-8319-2c52083080a6",

      "cityname": "Sharjah",

      "areaid": null

    },

    {

      "cityid": "9aabae22-f2f8-408c-b295-55cce1393c88",

      "cityname": "Umm Al Quwain",

      "areaid": null

    },

    {

      "cityid": "a7e023c1-c654-4e1d-8a83-7e571bd3a78d",

      "cityname": "Ajman",

      "areaid": null

    },

    {

      "cityid": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",

      "cityname": "Dubai",

      "areaid": null

    },

    {

      "cityid": "15dd0648-c3e7-4abd-b5b2-8279939334f5",

      "cityname": "Antalya",

      "areaid": null

    },

    {

      "cityid": "84d7a7c2-6169-4ed4-95ef-8b10b68acfd9",

      "cityname": "Kemer",

      "areaid": null

    },

    {

      "cityid": "ee130acf-890c-497c-bd78-9b453e45971f",

      "cityname": "Male",

      "areaid": null

    },

    {

      "cityid": "98ff7081-31ec-4ae4-930e-ba707827f9ff",

      "cityname": "Tbilisi",

      "areaid": null

    },

    {

      "cityid": "857a6d87-d1e4-4a17-a867-c65307559222",

      "cityname": "Fujairah",

      "areaid": null

    },

    {

      "cityid": "607fbe3a-68e6-4523-bf6e-e419fac86a8b",

      "cityname": "Ras Al Khaimah ",

      "areaid": null

    },

    {

      "cityid": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",

      "cityname": "Abu Dhabi",

      "areaid": null

    }

  ]

}

Districts

Name Type Description
districtid string GUID. A unique identifier for the district.
districtname string string. The name of the district.
cityid string GUID. The unique identifier of the city to which the district belongs.
https://restapi.rustaronline.com/v1.01/api/Districts?agentid=username&agentpassword=password
 {{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T15:06:48.4798095+04:00",

  "Version": "1.01",

  "ResponseID": "0657a8e4-b6bc-413e-8ee9-7a3075c62d06",

  "Data": [

    {

      "districtid": "ed244c0a-afd4-4caf-978c-024c7781428c",

      "districtname": "Al Ain",

      "cityid": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d"

    },

    {

      "districtid": "58bc8788-edb9-47b2-933e-06983be0d402",

      "districtname": "Dubai Sports City",

      "cityid": "f5185fa3-3f56-44ed-bf6b-80386a33caa2"

    },

    {

      "districtid": "f26cf9ab-9fea-48fa-9e52-088f4389cc15",

      "districtname": "Sharjah North",

      "cityid": "f78ac3bc-f040-46d0-8319-2c52083080a6"

    },

    {

      "districtid": "a7a965b8-8c83-42c8-9b82-08c0bb256c89",

      "districtname": "Neom Bay Airport",

      "cityid": "b5efc1b9-d124-433a-aa83-c0b38b1f8d1b"

    },

    {

      "districtid": "2cc0d269-d24a-4be6-905f-09e8ebb41a60",

      "districtname": "Kutaisi Int Airport",

      "cityid": "df23b4bf-b3a0-473d-a3ef-1c0301efa8d5"

    },

    {

      "districtid": "9cda86a2-92a4-4353-bb7d-09fd7819fb86",

      "districtname": "Shymkent International Airport",

      "cityid": "2467b98b-019b-41c1-b3da-0a43a7f0405c"

    },

    {

      "districtid": "9251cd26-44e9-484d-a1bb-0a36a001ae4c",

      "districtname": "Yas Island",

      "cityid": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d"

    },

    {

      "districtid": "6116aefa-75b7-445d-a186-113b37943b85",

      "districtname": "Frankfurt International Airport",

      "cityid": "d25189d0-18c1-4af0-afda-a4a70786ddc2"

    },

    {

      "districtid": "e095f66f-89eb-44af-b9d3-11db44176cff",

      "districtname": "King Khalid International Airport",

      "cityid": "e07d2480-ade7-4827-988b-8e9b089f1301"

    },

    {

      "districtid": "1ddea045-fa16-4325-b5b1-12024106abac",

      "districtname": "Kemer",

      "cityid": "84d7a7c2-6169-4ed4-95ef-8b10b68acfd9"

    },

    {

      "districtid": "6e3cb2a0-e7d1-4c65-be97-123fb07865b7",

      "districtname": "Kutaisi Int Airport",

      "cityid": "ea91a264-3712-4a27-b239-6483ca8d87ea"

    },

    {

      "districtid": "d4bc437a-959a-4a26-89cb-1260f1303ce4",

      "districtname": "Aktobe International Airport",

      "cityid": "460dff1d-837f-4d9e-b440-e05572db8be4"

    },

    {

      "districtid": "50ee9dbb-0e0a-4037-b352-133f4a154c6d",

      "districtname": "Al Qusais",

      "cityid": "f5185fa3-3f56-44ed-bf6b-80386a33caa2"

    }

]

}

Areas

Name Type Description
Areaid string  String – Guid – A unique identifier of the area
Areaname string String – The name of the area
https://restapitur.rustaronline.com/v1.01/api/Areas?agentid=username&agentpassword=password
{

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-24T12:18:20.3607629+04:00",

  "Version": "1.01",

  "ResponseID": "b13602fd-7664-4475-8cef-0876d6141c28",

  "Data": [

    {

      "areaid": "16302989-35ee-4530-b798-0d3a1c8ad0d0",

      "areaname": "Istanbul"

    },

    {

      "areaid": "82a47535-756f-4d43-ad7f-221b130d235b",

      "areaname": "Antalya"

    },

    {

      "areaid": "353d39cd-6772-48c7-920c-3d54d526003f",

      "areaname": "Mugla"

    }

  ]

}

Book

This section describes the critical methods used for transaction management: placing a new reservation and retrieving the details of an existing one.

Book (POST Method)
Purpose: To create and confirm a new reservation in the system.

Use: This is the final step. A comprehensive JSON request, which includes the priceID (from Hotelprices), customer manifest, and any selected extras or transfers, is sent to finalize the booking.

GetReservation (GET Method)
Purpose: To retrieve the details and current status of an existing reservation.

Use: By using the unique reservationId, this method allows the user to check the status of a booking (e.g., “Confirmed,” “Canceled”) and pull the complete booking manifest and data.

❗️ IMPORTANT NOTE ON TESTING:

Please inform us of all reservation data (including the reservationId) after making test bookings so that we can ensure they are properly canceled and do not affect live inventory or invoicing.

Book

Parameters to pass (IN URL): agentid and agentpassword

Sample URL:
https://restapimdv.rustaronline.com/v1.01/api/book?agentid=test.test&agentpassword=TestP@ssw0rd

Name Type Description
reservationcode string string. Reservation/Booking ID from Agent’s system. Might be null
customers array Array of all tourists of this booking
customercode string Unique ID of the customer from Agent. Mandatory
gender string string. “M” or “F” only. Mandatory
firstname string First name of the customer. Mandatory
lastname string Last name of the customer. Mandatory
birthdate Date Birth date of the customer. Optional. If empty, then the customer will be registered as adult
citizenship string  ISO2 format of the country code. For example “KZ”, “UA”. . Mandatory
visarequired boolean  Is customer applying for a visa service from rustar. Mandatory
arrivaldate Date Mandatory. Addival date AND time of the customer
arrivalflightnumber string Mandatory. Flight code of the customer for arrival
arrivalairport string string. IATA 3 character code of the airpot. Mandatory. Example: “DXB”,”SHJ”
departuredate string Mandatory. Departure date AND time of the customerUpdated
departureflightnumber string  Mandatory. Flight code of the customer for arrival
departureairport string IATA 3 character code of the airpot. Mandatory. Example: “DXB”,”SHJ”
countryaccesscode string Phone code for the country. Optional. Example: “971”
areacitycode string Phone code for city or mobile operator. Optional. Example: “050”
phonenumber string Phone number of the customer. Optional
email string Email address of the customer. Optional
passportnumber string string. Passport number of the customer. Optional
passporttype string  “ID” or “PS”. Optional. Passport type.
issuedate Date Optional. Issue date of the passport
expirydate object Optional. Expire date of the passport
issuecity string  Optional. City where the passport was issued
note string  Optional.
hotels array  Array of the hotels to book for this reservation
hotelid string Hotelid returned by “hotels” method
hotelname string  Optional. Hotel name. Will be taken from hotelid if empty
placement string Mandatory. Placement returned by hotelprices method.
roomcategory string Guid. Optional. Room category ID returned by hotelprices method.
roomcategoryname string Optional. Room type name. Will be taken from roomcategory if empty
priceid string Guid. Optional. Priceid returned by hotelprices method. 
mealplan string Optional. Meal plan of the price. Will be taken from priceid if empty
checkindate Date Mandatory. Check in date for this price. Must be within the range of the price
checkoutdate Date Mandatory. Check out date for this price. Must be within the range of the price
adults integer Mandatory. Number of adults in booking
children integer Number of children in booking
infants integer Number of infants in booking
hotelnote string Note for the booking. Optional
customercodes array array of strings. Codes of the customers staying in this hotel reservation for these dates
transfers array  Array of the transfers for this booking
transferdate Date Mandatory. Date of the transfer
transfertype string Mandatory. VehicleName taken from vehicletypes method. (“GROUP”, “TOYOTA PREVIA”…) In this object, data is retrieved either from TransferPriceExtension or TransferPrice, depending on the Country. If the transfer is complex (for example, Maldives/Seychelles), the data comes from TransferPriceExtension; in all other cases, it comes from TransferPrice. When using TransferPriceExtension, the TransferPriceID must be specified, while for TransferPrice, the VehicleTypeName should be provided.
fromairport string  IATA code of the airport to pick up the tourists
fromhotelid string Hotelid returned by hotels method. Hotel to pick up the tourists.
fromhotelname string HotelName returned by hotels method.
toairport string IATA code of the airport to drop the tourists
tohotelid string Guid. Hotelid returned by hotels method. Hotel to drop the tourists.
tohotelname string HotelName returned by hotels method.
customercodes array Array of strings. Codes of the customers for this transfer
hotelextras array Array of the extra services, like gala dinners for this booking
servicedate Date date. Mandatory. Date of the service/gala dinner
extraserviceid integer guid. Mandatory. extraserviceid returned by hotelextras method.
customerprices array array of customercodes and priceid-s from hotelextras
customercodeUpdated string CustomerCode from Customer’s object.
priceid string Guid. Mandatory. Price id from Adult, Teen, Child, Infant from hotelextras
title string string. Tile (“Mr”, “Mrs”…). Optional
https://restapimdv.rustaronline.com/v1.01/api/book?agentid=username&agentpassword=password
example #1 where transfer is from Transferprices - from aeroport to hotel and to hotel from aeroport, full request url - https://restapi.rustaronline.com/v1.01/api/book?agentid=agentid&agentpassword=password

{
    "Currency": "USD",
    "customers": [
        {
            "customercode": "1",
            "gender": "M",
            "firstname": "teeeest",
            "lastname": "teeeest",
            "citizenship": "GE",
            "arrivaldate": "2025-12-30",
            "arrivalflightnumber": "FL001",
            "arrivalairport": "MLE",
            "departuredate": "2026-01-02",
            "departureflightnumber": "FL002",
            "departureairport": "MLE",
            "birthdate": "1990-01-01T00:00:00"
        },
         {
            "customercode": "2",
            "gender": "F",
            "firstname": "teeeest",
            "lastname": "teeeest",
            "citizenship": "GE",
            "arrivaldate": "2025-12-30",
            "arrivalflightnumber": "FL001",
            "arrivalairport": "MLE",
            "departuredate": "2026-01-02",
            "departureflightnumber": "FL002",
            "departureairport": "MLE",
            "birthdate": "2000-01-01T00:00:00"
        }
    ],
    "hotels": [
        {
            "agentconfirmationnumber": "test__prod_2026+2adult_UAE",
            "hotelid": "0b31dfb6-74a8-43d6-b5b1-417b329f58e1",
            "checkindate": "2025-12-29",
            "checkoutdate": "2026-01-02",
            "placement": "DBL+1CHDEB(6-11.99)",
            "roomcategory": "fc3aca81-a901-4049-8792-983087eaa8ba",
            "roomcategoryname": "1 B/R Suite Canal View",
            "priceid": "1ab7f6a7-dc65-4e31-a9a2-fad08e52f07e",
            "mealplan": "FB",
            "adults": 2,
            "children": 0,
            "infants": 0,
            "customercodes": [
                "1","2"
            ],
            "price": 1054.76000000000,
            "hotelnote": ""
        }
    ],
    "transfers": [
        {
            "transferDate": "2025-12-29",
            "transferType": "BMW X7",
            "fromAirport": "DXB",
            "fromHotelID": "",
            "fromHotelName": "",
            "toAirport": "",
            "toHotelID": "0b31dfb6-74a8-43d6-b5b1-417b329f58e1",
            "toHotelName": "Canal Central Business Bay",
            "partner": "string",
            "customerCodes": [
               "1","2"
            ]
        },
        {
            "transferDate": "2026-01-02",
            "transferType": "BMW X7",
            "fromAirport": "",
            "fromHotelID": "0b31dfb6-74a8-43d6-b5b1-417b329f58e1",
            "fromHotelName": "Canal Central Business Bay",
            "toAirport": "DXB",
            "toHotelID": "",
            "toHotelName": "",
            "partner": "string",
            "customerCodes": [
                "1","2"
            ]
        }
       
    ],

     "hotelExtras": [
        {
            "serviceDate": "2025-12-31T12:46:03.245Z",
            "extraServiceID": "e6614aec-a920-4e33-a17d-67afc2bfe23d",
            "customerPrices": [
                {
                    "customerCode": "1",
                    "priceID": "9de63141-53f5-4334-85cd-bfa2448c9286"
                },
                   {
                    "customerCode": "2",
                    "priceID": "9de63141-53f5-4334-85cd-bfa2448c9286"
                }
            ]
        }
    ]
}


example # 2 transfer in Hotelextras - which means that transfer as a special extra service, which is more advanced and needs more vehicle type than just a car, for example seaplane or fast boat.

Full request URL - https://restapimdv.rustaronline.com/v1.01/api/book?agentid=test.test&agentpassword=TestP@ssw0rd


{

    "Currency": "USD",

    "customers": [

        {

            "customercode": "1",

            "gender": "M",

            "firstname": "teeeest",

            "lastname": "teeeest",

            "citizenship": "GE",

            "arrivaldate": "2025-12-30",

            "arrivalflightnumber": "FL001",

            "arrivalairport": "MLE",

            "departuredate": "2026-01-02",

            "departureflightnumber": "FL002",

            "departureairport": "MLE",

            "birthdate": "1990-01-01T00:00:00"

        },

         {

            "customercode": "2",

            "gender": "F",

            "firstname": "teeeest",

            "lastname": "teeeest",

            "citizenship": "GE",

            "arrivaldate": "2025-12-30",

            "arrivalflightnumber": "FL001",

            "arrivalairport": "MLE",

            "departuredate": "2026-01-02",

            "departureflightnumber": "FL002",

            "departureairport": "MLE",

            "birthdate": "2000-01-01T00:00:00"

        }

    ],

    "hotels": [

        {

            "agentconfirmationnumber": "test__prod_2026+adultttt113",

            "hotelid": "50601468-2c60-496a-91ab-06644e7e9ec7",

            "checkindate": "2025-12-30",

            "checkoutdate": "2026-01-02",

            "placement": "DBL",

            "roomcategory": "67e6a8b1-5069-4f7f-90de-4215fa94de75",

            "roomcategoryname": "Over Water Sunset Villa",

            "priceid": "d2aca489-f460-495a-9f45-00f87396e017",

            "mealplan": "AL/PREMIUM",

            "adults": 2,

            "children": 0,

            "infants": 0,

            "customercodes": [

                "1","2"

            ],

            "price": 1884,

            "hotelnote": ""

        }

    ],

    "transfers": null,




     "hotelExtras": [

        {

            "serviceDate": "2025-12-31T12:46:03.245Z",

            "extraServiceID": "e558b44b-60d2-4f15-8c36-2d5dcec5e5da",

            "customerPrices": [

                {

                    "customerCode": "1",

                    "priceID": "92f9e9cf-023e-415c-8e8c-629fcb8977a9"

                },

                   {

                    "customerCode": "2",

                    "priceID": "92f9e9cf-023e-415c-8e8c-629fcb8977a9"

                }

            ]

        }, 

 {
            "ExtraServiceCode": "10000000-0000-0000-0000-000000000000",
            "CustomerPrices": [
                {
                    "CustomerCode": "1",
                    "ExtraServicePriceCode": "4ae2260f-6881-40db-9e43-295decd67543"
                },
                  {
                    "CustomerCode": "2",
                    "ExtraServicePriceCode": "4ae2260f-6881-40db-9e43-295decd67543"
                }
            ]
        }


    ]

}


Notes:

Please keep the following points in mind:

1. Special/Exotic Destinations
If you are booking to Maldives, Seychelles, or similar exotic destinations where the standard transfer (by car from the airport to the hotel and vice versa) is not sufficient because special transportation is required (for example, a speed boat or a seaplane), you must use the second request example.

2. Standard Transfer
In the case that you are making a standard request where the transfer is only by car, use the first example.

GetReservation

Name Type Description
ReservationID string GUID. A unique identifier for the reservation.
ReservationNumber string The internal reservation number.
ReservationDate Date datetime. The date and time the reservation was made.
ReservationStatus integer  A numerical code representing the status of the reservation. For example, -1 corresponds to Canceled.
ReservationStatusName string The descriptive name of the reservation status (e.g., “Canceled”).
ConfirmationNumber string The confirmation number of the booking, provided by the hotel or service provider.
Enter request JSON/XML example here.
   {

  "Code": "00",

  "Message": "",

  "Timestamp": "2025-09-23T15:41:06.2263499+04:00",

  "Version": "1.01",

  "ResponseID": "4a2cd4bd-6f89-4bb2-a476-40b6b72aadc7",

  "Data": {

    "ReservationID": "d20175b8-c229-4ca8-8354-26573972e020",

    "ReservationNumber": "33091",

    "ReservationDate": "2025-09-19T18:51:38.593",

    "ReservationStatus": -1,

    "ReservationStatusName": "Canceled",

    "ConfirmationNumber": "test__prod_202666"

  }

}

#### case when full=true

{

    "Code": "00",

    "Message": "",

    "Timestamp": "2025-10-10T14:25:21.7263506+04:00",

    "Version": "1.01",

    "ResponseID": "bfe3d880-6e29-4426-964e-fc8a1e85b223",

    "Data": {

        "ReservationID": "2afacdda-c4a5-456e-8f6c-e5ba22a2207f",

        "ReservationNumber": "33820",

        "ReservationDate": "2025-10-07T16:01:10.22",

        "ReservationStatus": -3,

        "ReservationStatusName": "Delete",

        "ConfirmationNumber": "test__prod_2026+adultttt113",

        "ReservationAmount": 6882.00,

        "ReservationTourists": [

            {

                "TouristID": "31f71cce-7f8b-4af2-9437-8e7d5445a697",

                "FirstName": "Teeeest",

                "LastName": "Teeeest",

                "ChildFlag": 0,

                "BirthDate": "1990-01-01T00:00:00",

                "CountryCode": "GE",

                "CountryID": "a7c67ece-0c59-4097-bc6e-3d9ab91f206b",

                "CountryAccessCode": null,

                "AreaCityCode": null,

                "PhoneNumber": null,

                "Gender": 1,

                "ArrivalDate": "2025-12-30T00:00:00",

                "ArrivalFlightNumber": "FL001",

                "ArrivalTerminalName": "MLE",

                "DepartureDate": "2026-01-02T00:00:00",

                "DepartureFlightNumber": "FL002",

                "DepartureTerminalName": "MLE",

                "Email": null,

                "PassportNumber": null,

                "PassportType": null,

                "IssueCity": null,

                "IssueDate": null,

                "ExpiryDate": null,

                "Note": null

            },

            {

                "TouristID": "384311fe-b41a-4332-b25e-9d2d3efd8f8d",

                "FirstName": "Teeeest",

                "LastName": "Teeeest",

                "ChildFlag": 0,

                "BirthDate": "2000-01-01T00:00:00",

                "CountryCode": "GE",

                "CountryID": "a7c67ece-0c59-4097-bc6e-3d9ab91f206b",

                "CountryAccessCode": null,

                "AreaCityCode": null,

                "PhoneNumber": null,

                "Gender": 2,

                "ArrivalDate": "2025-12-30T00:00:00",

                "ArrivalFlightNumber": "FL001",

                "ArrivalTerminalName": "MLE",

                "DepartureDate": "2026-01-02T00:00:00",

                "DepartureFlightNumber": "FL002",

                "DepartureTerminalName": "MLE",

                "Email": null,

                "PassportNumber": null,

                "PassportType": null,

                "IssueCity": null,

                "IssueDate": null,

                "ExpiryDate": null,

                "Note": null

            }

        ],

        "ReservationHotels": [

            {

                "ReservationHotelID": "451cac66-8cb6-4559-ab2e-acffe80845fe",

                "AgentConfirmationNumber": "test__prod_2026+adultttt113",

                "CheckInDate": "2025-12-30T00:00:00",

                "CheckOutDate": "2026-01-02T00:00:00",

                "HotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "HotelName": "Mercure Maldives Kooddoo",

                "RoomCategoryID": "67e6a8b1-5069-4f7f-90de-4215fa94de75",

                "RoomCategoryName": "Beach Pool Villa",

                "PriceID": "d2aca489-f460-495a-9f45-00f87396e017",

                "MealPlanName": "AL/PREMIUM",

                "Placement": 3,

                "PlacementTypeName": "DBL",

                "Note": null,

                "Tourists": [

                    "31f71cce-7f8b-4af2-9437-8e7d5445a697",

                    "384311fe-b41a-4332-b25e-9d2d3efd8f8d"

                ],

                "CancellationPolicies": [

                    {

                        "CancellationPolicyId": "3ae170f5-00e7-4eee-93bb-9d75487a8a9b",

                        "CancellationPolicyDescription": null,

                        "NoShowChargeValue": 100.00,

                        "NoShowChargeValueType": "%",

                        "EarlyDepartureChargeValue": 100.00,

                        "EarlyDepartureChargeValueType": "%",

                        "Conditions": [

                            {

                                "TimeUnits": 60.00,

                                "TimeUnitType": "Day",

                                "TimeOffsetTypeName": "Before Arrival",

                                "ChargeValueType": "%",

                                "ChargeValue": 100.00

                            }

                        ]

                    }

                ]

            }

        ],

        "ReservationTransferServices": [

            {

                "ReservationTransferID": "a4973801-e78d-4c77-9c40-8a0018b5d63c",

                "TouristID": "384311fe-b41a-4332-b25e-9d2d3efd8f8d",

                "TransferDate": "2025-12-30T00:00:00",

                "ServiceName": "ARRIVAL",

                "FromTerminalName": "MLE",

                "ToTerminalName": null,

                "FromHotelID": null,

                "FromHotelName": null,

                "ToHotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "ToHotelName": "Mercure Maldives Kooddoo",

                "VehicleTypeId": "00000000-0000-0000-0000-000000000000",

                "VehicleTypeName": "DOMESTIC FLIGHT (SPO) (MMKWW25-26.1)"

            },

            {

                "ReservationTransferID": "a4973801-e78d-4c77-9c40-8a0018b5d63c",

                "TouristID": "31f71cce-7f8b-4af2-9437-8e7d5445a697",

                "TransferDate": "2025-12-30T00:00:00",

                "ServiceName": "ARRIVAL",

                "FromTerminalName": "MLE",

                "ToTerminalName": null,

                "FromHotelID": null,

                "FromHotelName": null,

                "ToHotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "ToHotelName": "Mercure Maldives Kooddoo",

                "VehicleTypeId": "00000000-0000-0000-0000-000000000000",

                "VehicleTypeName": "DOMESTIC FLIGHT (SPO) (MMKWW25-26.1)"

            },

            {

                "ReservationTransferID": "7baa949d-2cb6-4eb1-8c53-e7fc1c16a078",

                "TouristID": "384311fe-b41a-4332-b25e-9d2d3efd8f8d",

                "TransferDate": "2026-01-02T00:00:00",

                "ServiceName": "DEPARTURE",

                "FromTerminalName": null,

                "ToTerminalName": "MLE",

                "FromHotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "FromHotelName": "Mercure Maldives Kooddoo",

                "ToHotelID": null,

                "ToHotelName": null,

                "VehicleTypeId": "00000000-0000-0000-0000-000000000000",

                "VehicleTypeName": "DOMESTIC FLIGHT (SPO) (MMKWW25-26.1)"

            },

            {

                "ReservationTransferID": "7baa949d-2cb6-4eb1-8c53-e7fc1c16a078",

                "TouristID": "31f71cce-7f8b-4af2-9437-8e7d5445a697",

                "TransferDate": "2026-01-02T00:00:00",

                "ServiceName": "DEPARTURE",

                "FromTerminalName": null,

                "ToTerminalName": "MLE",

                "FromHotelID": "50601468-2c60-496a-91ab-06644e7e9ec7",

                "FromHotelName": "Mercure Maldives Kooddoo",

                "ToHotelID": null,

                "ToHotelName": null,

                "VehicleTypeId": "00000000-0000-0000-0000-000000000000",

                "VehicleTypeName": "DOMESTIC FLIGHT (SPO) (MMKWW25-26.1)"

            }

        ],

        "ReservationServices": [

            {

                "ReservationServiceID": "1964d5bb-3089-4f11-9e2d-2e5b2a2c5355",

                "TouristID": "31f71cce-7f8b-4af2-9437-8e7d5445a697",

                "ServiceDate": "2025-12-30T00:00:00",

                "ServiceName": "GALA DINNER / NEW YEAR EVE DINNER (31.12.2025) - Main Person - NEW YEAR EVE DINNER (31.12.2025) AL - d6add68e51"

            },

            {

                "ReservationServiceID": "1964d5bb-3089-4f11-9e2d-2e5b2a2c5355",

                "TouristID": "384311fe-b41a-4332-b25e-9d2d3efd8f8d",

                "ServiceDate": "2025-12-30T00:00:00",

                "ServiceName": "GALA DINNER / NEW YEAR EVE DINNER (31.12.2025) - Main Person - NEW YEAR EVE DINNER (31.12.2025) AL - d6add68e51"

            }

        ]

    }

}