Product information

You can request product information and description as provided by a tour operator, and it's ratings from a single request. This request tends to include much more information than returned by search requests alone.

API Endpoint

To request product information the following HTTP API endpoint is available: /info/product/by-gid/<GiataID>/<TourOperator>[/<ProductCode>[/<ServiceCode>]]][?date=<StartDate>]

Required parameters are GIATA ID and Tour operator. All other parameters are optional.

Parameter Description
GiataID Object GIATA ID. This parameter is required.
TourOperator Tour operator code.
ProductCode Tour operator product code. Providing this returns description for that exact product code.
ServiceCode Tour operator service code. Providing this returns description for that exact service (for example TO may provide a different description for different rooms)
StartDate GET parameter. This should be the offer start date. This will return a description from a correct catalog (some tour operators might have summer and winter catalog). Otherwise, API will description from the latest catalog, which might be incorrect.

Example: /info/product/by-gid/102481/PALM/LEHUR0011866?date=2018-10-27

In case if GIATA ID for given product is not assigned, you can use the following endpoint: /info/product/by-htc/<TourOperator>/<ProductCode>[/<ServiceCode>][?date=<StartDate>]

Warning

If possible always try to get description by GIATA ID first. Use by-htc endpoint only if product you want description for does not have an GIATA ID assigned.

Response structure

Note

In response, empty fields and structures are omitted.

typedef Response = struct{
    # Contains information about tour operator that provided this description
    TourOperator struct{
        Name               string # Tour operator name
        Code               string # Tour operator code
        Logo               string # URL To tour operator logo
        TermsAndConditions string # URL To tour operator terms and conditions

        # Contains information about catalog this description is from
        Catalog     struct{
            Start string # Catalog start date (Y-m-d format)
            End   string # Catalog end date (Y-m-d format)
            Name  string # Catalog name
            Page  string # Exact page in catalog
            ID    string # Catalog ID
        }
    }

    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

        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
        }

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

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

        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 product ratings from holiday check
    Ratings struct{
        ID             string # Holiday check ID
        Count          int    # Number of evaluators
        Recommendation float  # Recommendation percentage

        # Contains actual ratings
        Ratings        map{
            # Key is different groups (overall, single, couple, family, friends)
            string => struct{
                Overall         float # Overall rating
                Hotel           float # Hotel rating
                Location        float # Location rating
                Service         float # Service rating
                Food            float # Food rating
                Room            float # Room rating
                Sport           float # Sports rating
                Recommmendation float # Recommendation percentage
            }
        }
    }

    # Contains a list of extended attributes about the given object.
    Attributes map{
        # Attributes are grouped by topics.
        # Key is an group ID
        string => struct{
            # Description of a given group
            Description string

            # Contains a list of attributes
            Items       map{
                # Key is an attribute code
                string => struct{
                    Type  string # Data type (string, float, bool, int)
                    Name  string # Human readable attribute name
                    Value string # Attribute value
                    Units string # Units of the attribute (usually for int types)
                }
            }
        }
    }

    # HTML Description of request product
    Description string

    # Description of what is included in price
    IncludedInPrice string

    # Description of any additional extras
    Extras          string

    # Contains images for this offer. Not all fields
    # might be present, it depends on the offer.
    Images      array{struct{
        Code    string # Image code
        Name    string # Image name
        URL     string # URL to image
        URLFull string # Url to full sized image
        Thumb   string # URL to thumbnail image
    }}
}

Example response

{
    "RequestID": "d17c4dcc-5e7aba0519813852828946",
    "TourOperator": {
        "Code": "PALM",
        "Name": "Palma",
        "Logo": "https:\/\/www.ors.si\/orslib\/ikonce\/toc\/palm.gif"
    },
    "Product": {
        "OfferName": "El Mouradi Skanes",
        "GiataID": "28168",
        "Picture": {
            "Thumbnail": "https:\/\/ors.si\/giata-pics\/28168\/PALM\/thumb.jpg",
            "Full": "https:\/\/ors.si\/giata-pics\/28168\/PALM\/full.jpg"
        },
        "Category": 4,
        "Location": {
            "LocationName": "Skanes",
            "LocationID": "907",
            "RegionGroupID": "100008",
            "RegionGroupName": "Tunisia",
            "RegionID": "151",
            "RegionName": "Enfidha",
            "Latitude": 35.782971441774,
            "Longitude": 35.782971441774
        },
        "RecommendationPercentage": 53,
        "Facts": {
            "ben": "near the beach (approx. 100-500m)",
            "chf": "family-friendly",
            "ani": "animation program",
            "spt": "a wide range of sports activities",
            "pol": "pool",
            "ipl": "indoor swimming pool",
            "sws": "water sports",
            "wel": "rich wellness offer",
            "wms": "massage",
            "wsn": "steam bath (Turkish bath)",
            "wbf": "beauty farms",
            "sbs": "ball sports",
            "sgl": "golf",
            "sae": "aerobics",
            "sfr": "fitness",
            "stn": "tennis",
            "sth": "other sports activities",
            "wifi": "wifi",
            "air": "air condition",
            "park": "parking"
        }
    },
    "Ratings": {
        "ID": "34563",
        "Count": 1233,
        "Recommendation": 53,
        "Ratings": {
            "Overall": {
                "Overall": 61,
                "Hotel": 59,
                "Location": 64,
                "Service": 70,
                "Food": 60,
                "Room": 54,
                "Sport": 59,
                "Recommmendation": 884
            },
            "Single": {
                "Overall": 72,
                "Hotel": 59,
                "Location": 77,
                "Service": 75,
                "Food": 69,
                "Room": 58,
                "Sport": 65,
                "Recommmendation": 1111
            },
            "Couple": {
                "Overall": 62,
                "Hotel": 62,
                "Location": 61,
                "Service": 74,
                "Food": 60,
                "Room": 55,
                "Sport": 56,
                "Recommmendation": 926
            },
            "Family": {
                "Overall": 52,
                "Hotel": 55,
                "Location": 56,
                "Service": 59,
                "Food": 54,
                "Room": 47,
                "Sport": 56,
                "Recommmendation": 521
            },
            "Friends": {
                "Overall": 56,
                "Hotel": 53,
                "Location": 73,
                "Service": 70,
                "Food": 63,
                "Room": 57,
                "Sport": 67,
                "Recommmendation": 1042
            }
        }
    },
    "Attributes": {
        "object_information": {
            "Description": "Information about the facility",
            "Items": {
                "fax": {
                    "Type": "string",
                    "Name": "Fax",
                    "Value": "+21673521270"
                },
                "email": {
                    "Type": "string",
                    "Name": "E-mail",
                    "Value": "info.skanesbeach@elmouradi.com"
                },
                "phone_hotel": {
                    "Type": "string",
                    "Name": "Telephone",
                    "Value": "+21673521999"
                }
            }
        },
        "category": {
            "Description": "Category",
            "Items": {
                "category_recommended": {
                    "Type": "float",
                    "Name": "Category (preferred)",
                    "Value": "4"
                }
            }
        },
        "standard": {
            "Description": "Accommodation standard",
            "Items": {
                "year_construction": {
                    "Type": "int",
                    "Name": "Year of construction",
                    "Value": "1994"
                },
                "year_renovation": {
                    "Type": "int",
                    "Name": "Year of reconstruction",
                    "Value": "2002"
                }
            }
        },
        "building_info": {
            "Description": "Information about the building",
            "Items": {
                "num_floors_main": {
                    "Type": "int",
                    "Name": "Number of floors in the main building",
                    "Value": "4"
                },
                "m2_terrace": {
                    "Type": "int",
                    "Name": "Terrace (m2)",
                    "Value": "1"
                },
                "num_rooms_total": {
                    "Type": "int",
                    "Name": "Number of rooms (total)",
                    "Value": "505"
                }
            }
        },
        "common": {
            "Description": "Common surfaces",
            "Items": {
                "m2_garden": {
                    "Type": "int",
                    "Name": "Garden (m2)",
                    "Value": "1"
                }
            }
        },
        "payment": {
            "Description": "Payment options",
            "Items": {
                "payment_amex": {
                    "Type": "bool",
                    "Name": "American Express",
                    "Value": true
                }
            }
        },
        "beach": {
            "Description": "Beach",
            "Items": {
                "beach_directly": {
                    "Type": "bool",
                    "Name": "Directly at the beach",
                    "Value": true
                }
            }
        },
        "other": {
            "Description": "Other",
            "Items": {
                "room_aircon": {
                    "Type": "bool",
                    "Name": "Air conditioning (central regulator)",
                    "Value": true
                },
                "room_safe": {
                    "Type": "bool",
                    "Name": "Safe",
                    "Value": true
                }
            }
        },
        "daccess": {
            "Description": "Direct access from the living room to the",
            "Items": {
                "room_balcony": {
                    "Type": "bool",
                    "Name": "Balcony\/Terrace",
                    "Value": true
                }
            }
        },
        "larea": {
            "Description": "Living area",
            "Items": {
                "room_tv": {
                    "Type": "bool",
                    "Name": "Television with regional programs",
                    "Value": true
                }
            }
        },
        "meals": {
            "Description": "Supplies",
            "Items": {
                "meals_breakfastbuffet": {
                    "Type": "bool",
                    "Name": "Breakfast buffet",
                    "Value": true
                },
                "meals_lunchbuffet": {
                    "Type": "bool",
                    "Name": "Lunch buffet",
                    "Value": true
                },
                "meals_dinnerbuffet": {
                    "Type": "bool",
                    "Name": "Dinner buffet",
                    "Value": true
                },
                "meals_allinclusive": {
                    "Type": "bool",
                    "Name": "All Inclusive",
                    "Value": true
                }
            }
        },
        "sports_entertainment": {
            "Description": "Entertainment program",
            "Items": {
                "sports_pool_indoor": {
                    "Type": "int",
                    "Name": "Indoor pool",
                    "Value": "1"
                },
                "sports_pooloutdoor": {
                    "Type": "int",
                    "Name": "Outdoor swimming pool(s)",
                    "Value": "2"
                },
                "sports_tanning_studio": {
                    "Type": "int",
                    "Name": "Solarium",
                    "Value": "1"
                }
            }
        },
        "distances": {
            "Description": "Distances(in meters)",
            "Items": {
                "dist_city_centre": {
                    "Type": "int",
                    "Name": "City center",
                    "Value": "1300",
                    "Units": "m"
                },
                "dist_sea": {
                    "Type": "int",
                    "Name": "Sea",
                    "Value": "1500",
                    "Units": "m"
                },
                "dist_golf_course": {
                    "Type": "int",
                    "Name": "Golf course",
                    "Value": "100",
                    "Units": "m"
                }
            }
        }
    },
    "Description": "<p><strong>Dr\u017eava:<\/strong> Tunizija<br \/>\n<strong>Kraj: <\/strong>Skanes<\/p>\n\n<p><strong>Lega: <\/strong>v turisti\u010dnem letovi&scaron;\u010du Skanes, ob pe&scaron;\u010deni pla\u017ei, 7 km od letali&scaron;\u010da v Monastirju.<br \/>\n<strong>Ponudba:<\/strong> glavna samopostre\u017ena restavracija, mednarodna &raquo;a-la-carte&laquo; restavracija, ve\u010d barov, mavrska kavarna, no\u010dni klub, notranji bazen, dva zunanja bazena z lo\u010denima otro&scaron;kima deloma; internetni koti\u010dek (pla\u010dilo), brez\u017ei\u010dni internet pri recepciji (pla\u010dilo); frizer, savne, hammam, masa\u017ee; kongresni center.<br \/>\nKopalne brisa\u010de (depozit), le\u017ealniki in sen\u010dniki ob bazenih in na pla\u017ei brezpla\u010dno.<br \/>\n<strong>Standardne sobe:<\/strong> klimatizirane, kopalnica z wc-jem, su&scaron;ilec za lase, telefon, sat-tv, mini bar (polnjenje za pla\u010dilo), sef (pla\u010dilo), balkon ali terasa, nekatere na morsko stran (dopla\u010dilo). Mo\u017eni dve dodatni le\u017ei&scaron;\u010di.<br \/>\n<strong>&Scaron;port:<\/strong> fitnes, tenis, namizni tenis, lokostrelstvo, kegljanje, pikado, mini golf, biljard, odbojka na pla\u017ei, razni vodni &scaron;porti.<br \/>\n<strong>Golf:<\/strong> nasproti hotela se nahaja golf igri&scaron;\u010de Palm Links, 12 km od hotela pa je golf igri&scaron;\u010de Flamingo Golf.<br \/>\n<strong>Storitev vse vklju\u010deno:<\/strong> po programu.<\/p>\n\n<ul>\n\t<li>samopostre\u017eni zajtrk, kosilo in ve\u010derja; prigrizki;<\/li>\n\t<li>dolo\u010dene lokalne to\u010dene alkoholne in brezalkoholne pija\u010de;<\/li>\n\t<li>dolo\u010dene &scaron;portne aktivnosti;<\/li>\n\t<li>animacija, mini klub;<\/li>\n\t<li>kopalne brisa\u010de (var&scaron;\u010dina), le\u017ealniki in sen\u010dniki ob bazenu in na pla\u017ei.<\/li>\n<\/ul>\n\n<p><strong>Povpre\u010dna ocena: <\/strong>3\/5<br \/>\n<strong>Spletna stran: <\/strong>www.elmouradi.com<\/p>\n\n<p><strong>Pomembno:<\/strong>&nbsp;opisi objektov so povzeti iz spletnih strani\/bro&scaron;ur\/informacij s strani partnerjev, na dan 15.11.2018.<\/p>\n<p><strong>TURISTI\u010cNA PRISTOJBINA (pla\u010dilo ob prihodu v hotel):&nbsp;<\/strong><br \/>\n<br \/>\n&bull; 2 TND na osebo na dan v hotelih 3*<br \/>\n&bull; 3 TND na osebo na dan v hotelih 4* in 5*.<br \/>\n<br \/>\nOtroci do 12. leta so pla\u010dila turisti\u010dne pristojbine opro&scaron;\u010deni. Pla\u010dilo turisti\u010dne pristojbine velja za maksimalno 7 dni bivanja na destinaciji.<br \/>\n1TND je pribli\u017eno 0,30 &euro; (podatek november 2018). Podatki so informativne narave in se lahko spremenijo glede na sprejeto zakonodajo dr\u017eave.<br \/>\n<br \/>\n<strong>OTROCI<\/strong>: otroci do 2. leta potujejo na \u010darterskih poletih brezpla\u010dno (v primeru, da na destinaciji dopolnijo 2 leti pla\u010dajo stro&scaron;ek letalskega prevoza za izbrani odhod).<\/p>\n<p><b>Cena vklju\u010duje:<\/b><\/p><ul>\n\t<li>povraten let v izbran kraj, letali&scaron;ke in varnostne pristojbine,<\/li>\n\t<li>1 kos oddane prtljage do 23 kg in 1 kos ro\u010dne prtljage do 8 kg,<\/li>\n\t<li>avtobusni prevoz do\/iz&nbsp;izbranega objekta, razen kjer ni druga\u010de navedeno,<\/li>\n\t<li>7 no\u010ditev in storitev glede na izbrani objekt v standardnih dvoposteljnih sobah - glede na razporeditev hotelirja,<\/li>\n\t<li>osnovno&nbsp;nezgodno zavarovanje, za primer&nbsp;nezgodnega dogodka nastalega med potovanjem, ki ga ni povzro\u010dil sam zavarovanec,<\/li>\n\t<li>predstavnika agencije v Palmini&nbsp;informacijski&nbsp;poslovalnici na letali&scaron;\u010du<\/li>\n\t<li>storitve&nbsp;Palminega&nbsp;predstavnika v izbranem kraju va&scaron;ega letovanja.<\/li>\n<\/ul>",
    "Images": [
        {
            "URLFull": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/2c3d898e50c8aa6dc6a5f05babde9744.JPEG",
            "Name": "Unknown",
            "URL": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/2c3d898e50c8aa6dc6a5f05babde9744_c600x600.JPEG"
        },
        {
            "URLFull": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/a2416a3b6dd8a979bbc3f1049b3fe7f2.JPEG",
            "Name": "Unknown",
            "URL": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/a2416a3b6dd8a979bbc3f1049b3fe7f2_square.JPEG"
        },
        {
            "URLFull": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/395c8876d6924479a3d2c06854e4a492.JPEG",
            "Name": "Unknown",
            "URL": "https:\/\/api.bookinitsystem.com\/subagents_api_pic\/395c8876d6924479a3d2c06854e4a492_square.JPEG"
        }
    ]
}