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š\u010du Skanes, ob peš\u010deni pla\u017ei, 7 km od letališ\u010da v Monastirju.<br \/>\n<strong>Ponudba:<\/strong> glavna samopostre\u017ena restavracija, mednarodna »a-la-carte« restavracija, ve\u010d barov, mavrska kavarna, no\u010dni klub, notranji bazen, dva zunanja bazena z lo\u010denima otroš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š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š\u010di.<br \/>\n<strong>Šport:<\/strong> fitnes, tenis, namizni tenis, lokostrelstvo, kegljanje, pikado, mini golf, biljard, odbojka na pla\u017ei, razni vodni športi.<br \/>\n<strong>Golf:<\/strong> nasproti hotela se nahaja golf igriš\u010de Palm Links, 12 km od hotela pa je golf igriš\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 športne aktivnosti;<\/li>\n\t<li>animacija, mini klub;<\/li>\n\t<li>kopalne brisa\u010de (varš\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> opisi objektov so povzeti iz spletnih strani\/brošur\/informacij s strani partnerjev, na dan 15.11.2018.<\/p>\n<p><strong>TURISTI\u010cNA PRISTOJBINA (pla\u010dilo ob prihodu v hotel): <\/strong><br \/>\n<br \/>\n• 2 TND na osebo na dan v hotelih 3*<br \/>\n• 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š\u010deni. Pla\u010dilo turisti\u010dne pristojbine velja za maksimalno 7 dni bivanja na destinaciji.<br \/>\n1TND je pribli\u017eno 0,30 € (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š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š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 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 nezgodno zavarovanje, za primer nezgodnega dogodka nastalega med potovanjem, ki ga ni povzro\u010dil sam zavarovanec,<\/li>\n\t<li>predstavnika agencije v Palmini informacijski poslovalnici na letališ\u010du<\/li>\n\t<li>storitve Palminega predstavnika v izbranem kraju vaš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"
}
]
}