Dates search

Dates search returns a list of bookable dates for a given search query, along with additional information about each bookable date.

Each bookable date has a field called HashCode which can with conjunction of TourOperator be used together to execute offer checks or bookings.

Warning

Sending too generic query might result in an error due to too many matches. We recommend limiting the number of possible matches by restricting search to a specific product found using products query.

API Endpoints

It's API endpoint is, /search/<content type>/dates

For example:

  • For hotel: /search/hotel/dates
  • For pauschal: /search/pauschal/dates
  • For trips: /search/trips/dates

Response structure

The response structure is made from two root keys: Products that is an array of found products and Dates which is an array of actual bookable dates. Both entries within both arrays are linked together with an OfferID key.

Any entries that are either not applicable to the given content type, or are missing (ie. empty) are not displayed.

typedef Products = array{
    struct{
        Product struct{
            # For hotel and pauschal types, this is a hotel name.
            # For trips this a trip name.
            OfferName string

            # Unique GIATA ID for this offer. Some offers might be
            # missing those.
            GiataID   bigint

            Picture   struct{
                # URL to object thumbnail picture (about 100x66 px)
                Thumbnail string

                # URL to object full-scale picture
                Full      string
            }

            # Object category (1-5)
            Category                 int

            # Rating of the offer (0-100)
            OfferRating              int

            # Percentage of guests recommending this object (0-100)
            RecommendationPercentage int

            Location struct{
                # Location name and its corresponding ID of this object
                LocationName    string
                LocationID      int

                # Region group and region (with coressponding IDs) this
                # object belongs to
                RegionGroupID   int
                RegionGroupName string
                RegionID        int
                RegionName      string

                # Object exact latitude and longitude. This information
                # is missing for some objects
                Latitude        float
                Longitude       float
            }

            Facts map{
                # Facts are short factoids about object properties.
                # Key in this map is a fact short code, and it's value
                # is a human-readable description of a factoid.
                string => string
            }

            # Contains additional GIATA tags. Key is tag name, which
            # usually corresponds to a specific fact in facts map.
            AdditionalTags map{
                string => struct{
                    Value string # Human readable translation of an tag
                }
            }
        }

        # Numeric ID of an offer.
        OfferID int
    }
}

typedef Dates = array{
    struct {
        # Numeric ID of an offer
        OfferID                int

        # Offer start date
        StartDate              string

        # Offer end date
        EndDate                string

        # Tour operator code for this offer
        TourOperator           string

        # Tour operator name for this offer
        TourOperatorName       string

        # Product code for this offer as provided by Tour Operator
        # Product codes are usually unique for each product
        ProductCode            string

        # Product name for this offer as provided by Tour Operator
        ProductName            string

        # Service code provided by a tour operator.
        # Service codes tend to be different for each different
        # combination of rooms, and services.
        ServiceCode            string

        # Duration of this offer
        Duration               int

        # Hash code for this offer.
        # You use hash code with TourOperator field to create a booking
        HashCode               string

        # Subtype for this offer
        OfferSubType           string

        # Price for this offer
        Price                  int

        # Code for the service type and human-readable representation
        ServiceType            string
        ServiceName            string

        # Code for room type and human-readable representation
        RoomType               string
        RoomName               string

        # IATA Code and human-readable name for the destination airport
        ArrivalAirport         string
        ArrivalAirportName     string

        # IATA Code and human-readable name for the departure airport
        DepartureAirport       string
        DepartureAirportName   string

        # Free, human-readable text provided by the tour operator
        # describing different details about this offer
        RoomFacilites          string
        RoomLocation           string
        RoomDetails            string
        IncludedServices       string

        # Includes trip entry point ID and name. This is applicable only
        # for trips data type
        EntryPoint             string
        EntryPointName         string

        # Used in trips, describes whenever the offer
        # is guaranteed or not.
        OfferStatus            string
    }
}

Filters and sorts

This request supports the following filters for the following content types:

Filter Description Trips Hotel Pauschal
TourOperator Filter by offer tour operators ✔️ ✔️ ✔️
StartDate Filter by offer start ✔️ ✔️ ✔️
Duration Filter by offer duration ✔️ ✔️ ✔️
ServiceType Filter by offer service type x ✔️ ✔️
RoomType Filter by offer room type x ✔️ ✔️
DepartureAirport Filter by offer starting airport x x ✔️
EntryPoint Filter by trip starting location ✔️ x x

Sorting is possible by the following fields for the following content types:

Filter Description Trips Hotel Pauschal
TourOperator Sorts by offer tour operator name ✔️ ✔️ ✔️
StartDate Sorts by offer starting date ✔️ ✔️ ✔️
Duration Sorts by offer duration ✔️ ✔️ ✔️
RoomType Sorts by offer room type x ✔️ ✔️
ServiceType Sorts by offer service type x ✔️ ✔️
Price Sorts by offer price ✔️ ✔️ ✔️
DepartureAirport Sorts by offer starting airport x x ✔️
ArrivalAirport Sorts by offer destination airport x x ✔️

Notable content differences

The following fields are only present for pauschal type:

  • ArrivalAirport
  • ArrivalAirportName
  • DepartureAirport
  • DepartureAirporttName

The following fields are not present in trips type:

  • ServiceType
  • ServiceName
  • RoomType
  • RoomName

In Product structure for Trips type, the following fields are also not present: Facts, Location, RecommendationPercentage, OfferRating, Category.

Example response

This response had a lot of content removed for brevity.

{
    "Count": 114,
    "Pages": 12,
    "Page": 0,
    "Filters": {
        "TourOperator": {
            "PALM": {
                "Value": "Palma"
            }
        },
        "ServiceType": {
            "AI": {
                "Value": "all inclusive"
            },
            "TO": {
                "Value": "transfer only"
            }
        },
        "RoomType": {
            "DZ": {
                "Value": "double room"
            },
            "FZ": {
                "Value": "family room"
            },
            "OU": {
                "Value": "without accommodation"
            }
        },
        "DepartureAirport": {
            "LJU": {
                "Value": "Ljubljana"
            }
        },
        "StartDate": {
            "1576281600": {
                "Value": "2019-12-14"
            },
            "1576886400": {
                "Value": "2019-12-21"
            },
            "1577491200": {
                "Value": "2019-12-28"
            },
            "1578096000": {
                "Value": "2020-01-04"
            },
            "1578700800": {
                "Value": "2020-01-11"
            },
            "1579305600": {
                "Value": "2020-01-18"
            },
            "1579910400": {
                "Value": "2020-01-25"
            },
            "1580515200": {
                "Value": "2020-02-01"
            },
            "1581120000": {
                "Value": "2020-02-08"
            },
            "1581724800": {
                "Value": "2020-02-15"
            }
        },
        "Duration": {
            "14": {
                "Value": "14"
            },
            "7": {
                "Value": "7"
            }
        }
    },
    "RFilters": {
        "Price": {
            "Minimum": 288,
            "Maximum": 1467
        }
    },
    "Sorts": {
        "TourOperator": null,
        "StartDate": "asc",
        "Duration": null,
        "RoomType": null,
        "ServiceType": null,
        "Price": "asc",
        "DepartureAirport": null,
        "ArrivalAirport": null
    },
    "Products": [
        {
            "Product": {
                "OfferName": "Letalski carter prevoz - Hurgada",
                "GiataID": 2221091852273,
                "Picture": {
                    "Thumbnail": "http:\/\/ors.si\/giata-pics\/2221091852273\/thumb.jpg",
                    "Full": "http:\/\/ors.si\/giata-pics\/2221091852273\/full.jpg"
                },
                "Location": {
                    "LocationName": "Hurghada",
                    "LocationID": 3,
                    "RegionGroupID": "651",
                    "RegionGroupName": "Egypt",
                    "RegionID": 560,
                    "RegionName": "Hurghada & Safaga"
                }
            },
            "OfferID": 0
        },
        {
            "Product": {
                "OfferName": "Grand Seas Resort Hostmark 4*",
                "GiataID": 36240,
                "Picture": {
                    "Thumbnail": "http:\/\/ors.si\/giata-pics\/36240\/thumb.jpg",
                    "Full": "http:\/\/ors.si\/giata-pics\/36240\/full.jpg"
                },
                "RecommendationPercentage": 56,
                "Location": {
                    "LocationName": "Hurghada",
                    "LocationID": 3,
                    "RegionGroupID": "651",
                    "RegionGroupName": "Egypt",
                    "RegionID": 560,
                    "RegionName": "Hurghada & Safaga",
                    "Latitude": 27.1164,
                    "Longitude": 33.8262
                },
                "Facts": {
                    "bea": "directly on the beach",
                    "ben": "near the beach (approx. 100-500m)",
                    "chf": "family-friendly",
                    "clb": "Club Hotel",
                    "sth": "other sports activities",
                    "whc": "wheelchair accessible",
                    "wifi": "wifi",
                    "air": "air condition",
                    "park": "parking"
                }
            },
            "OfferID": 1
        },
        {
            "Product": {
                "OfferName": "Long Beach 4*",
                "GiataID": 26585,
                "Picture": {
                    "Thumbnail": "http:\/\/ors.si\/giata-pics\/26585\/thumb.jpg",
                    "Full": "http:\/\/ors.si\/giata-pics\/26585\/full.jpg"
                },
                "RecommendationPercentage": 77,
                "Location": {
                    "LocationName": "Hurghada",
                    "LocationID": 3,
                    "RegionGroupID": "651",
                    "RegionGroupName": "Egypt",
                    "RegionID": 560,
                    "RegionName": "Hurghada & Safaga",
                    "Latitude": 27.082665432391,
                    "Longitude": 33.858790397644
                },
                "Facts": {
                    "ben": "near the beach (approx. 100-500m)",
                    "chf": "family-friendly",
                    "clb": "Club Hotel",
                    "ani": "animation program",
                    "spt": "a wide range of sports activities",
                    "wel": "rich wellness offer",
                    "pol": "pool",
                    "wms": "massage",
                    "wsn": "steam bath (Turkish bath)",
                    "wbf": "beauty farms",
                    "sws": "water sports",
                    "sbs": "ball sports",
                    "srd": "horseback riding",
                    "sae": "aerobics",
                    "sfr": "fitness",
                    "stn": "tennis",
                    "sdv": "diving",
                    "sth": "other sports activities",
                    "whc": "wheelchair accessible",
                    "wifi": "wifi",
                    "air": "air condition",
                    "park": "parking"
                }
            },
            "OfferID": 2
        }
    ],
    "Dates": [
        {
            "OfferID": 0,
            "StartDate": "2019-12-14",
            "EndDate": "2019-12-21",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "125833",
            "HotelName": "Letalski carter prevoz - Hurgada",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "009157930a0699099c11729a68d3d2e3",
            "OfferSubType": "catalog",
            "Price": 288,
            "ServiceType": "TO",
            "ServiceName": "transfer only",
            "RoomType": "OU",
            "RoomName": "without accommodation",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "letalski prevoz, Hurgada - letalski prevoz"
        },
        {
            "OfferID": 0,
            "StartDate": "2020-02-08",
            "EndDate": "2020-02-15",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "125833",
            "HotelName": "Letalski carter prevoz - Hurgada",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "15e6f36808caf3b1d4754efb6427c1dd",
            "OfferSubType": "catalog",
            "Price": 299,
            "ServiceType": "TO",
            "ServiceName": "transfer only",
            "RoomType": "OU",
            "RoomName": "without accommodation",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "letalski prevoz, Hurgada - letalski prevoz"
        },
        {
            "OfferID": 0,
            "StartDate": "2020-01-04",
            "EndDate": "2020-01-11",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "125833",
            "HotelName": "Letalski carter prevoz - Hurgada",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "c1e5d6e1c07df314f0965e511ef6073a",
            "OfferSubType": "catalog",
            "Price": 349,
            "ServiceType": "TO",
            "ServiceName": "transfer only",
            "RoomType": "OU",
            "RoomName": "without accommodation",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "letalski prevoz, Hurgada - letalski prevoz"
        },
        {
            "OfferID": 1,
            "StartDate": "2019-12-14",
            "EndDate": "2019-12-21",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "125862",
            "HotelName": "Grand Seas Resort Hostmark 4*",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "d69d76dd553de87dc61d74781d3f88bd",
            "OfferSubType": "catalog",
            "Price": 317,
            "ServiceType": "AI",
            "ServiceName": "all inclusive",
            "RoomType": "DZ",
            "RoomName": "double room",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "standard, standard soba,vse vklju\u010deno"
        },
        {
            "OfferID": 2,
            "StartDate": "2020-01-11",
            "EndDate": "2020-01-18",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "126825",
            "HotelName": "Long Beach 4*",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "6b4b41cbabfd1e0693e1a7e7cc0360c9",
            "OfferSubType": "catalog",
            "Price": 329,
            "ServiceType": "AI",
            "ServiceName": "all inclusive",
            "RoomType": "DZ",
            "RoomName": "double room",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "standard, standard soba, AI"
        },
        {
            "OfferID": 2,
            "StartDate": "2019-12-14",
            "EndDate": "2019-12-21",
            "TourOperatorCode": "PALM",
            "TourOperator": "Palma",
            "HotelCode": "126825",
            "HotelName": "Long Beach 4*",
            "ServiceCode": "ZIHUR00120",
            "Duration": 7,
            "HashCode": "bb8956f7c96475119565c094cd0001e9",
            "OfferSubType": "catalog",
            "Price": 335,
            "ServiceType": "AI",
            "ServiceName": "all inclusive",
            "RoomType": "DZ",
            "RoomName": "double room",
            "ArrivalAirport": "HRG",
            "ArrivalAirportName": "Hurghada",
            "DepartureAirport": "LJU",
            "DepartureAirportName": "Ljubljana",
            "RoomDetails": "standard, standard soba, AI"
        }
    ],
    "RequestID": "d17c4dcc-5de7e60447871988492886"
}