This document describes operations with primary reference to destinations.
To search destinations and TravelInfos, there are basically the two URLs
where a DestinationId or a TravelInfoId must be specified. The returned information differs depending on the URL and filter parameters.
The following filter parameter values are possible, but not all values are supported by both URLs: DESTINATION, TRAVELINFO, BREADCRUMB, PARENT, CHILDREN, INTERESTINGFOR, CONTAINEDIN, POI, TRAVELPOI and EVENT. The default value for the first URL is DESTINATION and TRAVELINFO for the second URL.
When returning TravelInfos, the result set can also be restricted to individual or several book series via the bookseries parameter.
The path can be composed here:
">http://api.mairdumont.com/data/granulation/GranulierungsTreeSingleDestination.html
It is recommended to provide granulation only with the required fields for all queries. The fewer fields are queried, the faster queries can be answered. Just "media" and "mediastatistic" should be omitted if they are not needed for output.
| User Story | A user queries a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/500/?filter=destination |
| User Story | A user queries the children of a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/500/?filter=children&lang=de |
| User Story | A user asks for a destination all contained destinations. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/500/?filter=contains&lang=de |
| User Story | A licensee wants to be able to read the most important cities to a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/502/?filter=important&lang=de |
| User Story | A user queries for a destination, for which destinations this is referenced as "interesting for". |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=interestingfor |
| User Story | A user queries the interesting destinations for a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=interesting |
| User Story | A user queries for a destination the interesting destinations, and always wants to get a result. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=interestingplus |
| User Story | A user queries to a destination nearby destinations with travel cover. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=travelrelated |
| User Story | A user queries for a destination as "contain-in" reverted destinations of type 'Travel-Region'. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=containedin |
| User Story | A user queries the travel information for a destination in a desired language. (The language must be specified). The travel information will be returned to the requested destination in the desired language. Travel information for children must be requested separately. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/177098/?filter=travelinfo&lang=de |
| User Story | A user asks for a destination the superior destinations to the world. Both the direct path via the parent destination and the paths should be returned via referenced destinations. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/113804/?filter=breadcrumb&lang=de |
| User Story | A user queries a destination statistics. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/500/:(statistic)?lang=de |
Restriction
| User Story | A user searches for destinations based on a word fragment, a word, or several words. The best matches should be returned. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/all?lang=de&search=destination%20names |
| Example | http://api.mairdumont.com/data/destination/api/destination/all?lang=de&search=New+York+USA |
| User Story | A user searches for destinations, based on a BoundingBox. All destinations are found whose Geocode is within this BoundingBox |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/all?bbox=,,, |
| Example | http://api.mairdumont.com/data/destination/api/destination/all?bbox=67.2,12.1,37.6,16.2 |
| User Story | A user queries the referenced POIs for a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/113804/?filter=poi |
| User Story | A user queries the POIs for a destination that are assigned to a book series. Only visible book series are considered the POI assignments. POIs which are editorially assigned to an underdestination are also returned. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/113804/?filter=travelpoi |
| User Story | A user queries for a destination the POIs that have been editorially marked for a book series. Only visible book series are considered the POI assignments. POIs that are awarded in a subdestination will not be returned. Possible values for the award are: TOP_HIGHLIGHT, HIGHTLIGHT, TOP_INSIDER_TIP, INSIDER_TIP, CONTAINED_IN, INTERESTING_FOR, LUXURY, GOURMET. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=poi&commendation=highlight,insider_tip |
| User Story | A user queries for a destination the editorial marks of the POIs, which are editorially marked in a book series. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/:(commendation)/?filter=poi&commendation=highlight,insider_tip |
| User Story | A user queries the POIs for a destination that are contained in a travel guide. Assignments to other travel guides of the same series are not taken into account. POIs, which are distinguished in a subdestination, are also returned with. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=travelpoi&buch= |
The bookID should be identified by an additional request http://api.123poi.com/data/destination/api/destination/4/?filter=travelinfo&lang=de, as this changes with a new edition of the travel guide.
You can specify a list of bookIDs and search in multiple guides at the same time. The value none is used to get all POIs that are not in a travel guide.
http://api.mairdumont.com/data/destination/api/destination/4/?filter=poi&buch=7,none
| User Story | A user queries for a destination the POIs that have been specially selected for editorial purposes. Ratings in other travel guides of the same series are not considered. POIs, which are distinguished in a subdestination, are also returned with. Possible values for the award are:TOP_HIGHLIGHT, HIGHTLIGHT, TOP_INSIDER_TIP, INSIDER_TIP, CONTAINED_IN, INTERESTING_FOR, LUXURY, GOURMET. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=travelpoi&buch=$buchId$&commendation=highlight,insider_tip |
| User Story | A user queries a geocode for all destinations that contain this geocode. |
|---|---|
| HTTP | GET |
| URL | |
| Example |
|
| User Story | A user queries to a geocode all destinations in the form of Breadcrumbs that contain this geocode. |
|---|---|
| HTTP | GET |
| URL | |
| Example |
|
| User Story | A user queries for a geocode all destinations with travel information that contains this geocode. The destinations are sorted by relevance. |
|---|---|
| HTTP | GET |
| URL | |
| Example |
|
| User Story | A user asks for a destination, which connects with which bookmarks / tours. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=folder |
| User Story | A user queries the referenced events for a destination. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/4/?filter=event |
| User Story | A user queries a travel information for a destination in a portal. The language is necessary. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/2/?filter=travelinfo&lang=de |
| User Story | An editor queries an editorial travel information for a destination. The language is necessary. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/editor/destination/2/?filter=travelinfo&lang=de |
| User Story | An editor queries an editorial travel information for a destination by text type and optional subtext type. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/destination/2/?filter=travelinfo&lang=de&texttype=pseudo_poi&subtype=fooddrink&book=3 |
| User Story | An editor queries an editorial travel information for a destination by text type and optional subtext type. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/editor/destination/2/?filter=travelinfo&lang=de&texttype=pseudo_poi&subtype=fooddrink&book=3 |
| User Story | A user queries the subordinate travel information for a travel information. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/travelinfo/2/?filter=children |
| User Story | A user queries, changes, or deletes the climate table. |
| HTTP | GET, PUT, DELETE |
| URL | http://api.mairdumont.com/data/destination/api/travelinfo/2/weather |
HTTP-PUT: The climate table is created or, if already existing, overwritten.
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:destination="http://api.123poi.com/destination/" >
<content type="application/atom+xml">
<destination:weather>
<destination:headline>Wetter in Berlin</destination:headline>
<destination:weatherTables>
<destination:weatherTable>
<destination:name>Tagestemperaturen in C°</destination:name>
<destination:unit>C°</destination:unit>
<destination:type>day</destination:type>
<destination:values>
<destination:value>2</destination:value>
<destination:value>3</destination:value>
<destination:value>8</destination:value>
<destination:value>13</destination:value>
<destination:value>19</destination:value>
<destination:value>22</destination:value>
<destination:value>24</destination:value>
<destination:value>23</destination:value>
<destination:value>19</destination:value>
<destination:value>13</destination:value>
<destination:value>7</destination:value>
<destination:value>3</destination:value>
</destination:values>
</destination:weatherTable>
</destination:weatherTables>
</destination:weather>
</content>
</entry>
| User Story | A user queries a TravelInfo text. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/doc/${docID} |
Possible types of TravelInfo texts (destination:textType):
| User Story | A user queries a TravelInfo text. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/doc/${docID}/article/${articleID} |
| User Story | A user queries a travel information for a destination in a portal. All travel texts and articles (of the desired type) should already be included. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/destination/5641/:(destinationid,isbookinfo,name,book,travelinfotexts)?filter=travelinfo&lang=de&texttype=pseudo_poi&subtype=sightseeing&book=66 |
| User Story | A user searches for TravelInfo texts by tags. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/destination/api/doc/all?tag= |
Basic structure of a TravelInfo
Travelinfo
{
"id": 20548,
"destinationId": 77657,
"isBookInfo": true,
"name": "Barcelona",
"book": { /* Info zum Reiseführer */ },
"travelInfoTexts": [ { /* TravelInfoText */ } ],
"weather": { /* {KlimaInfo} */ },
"creationDate": 1385641028703,
"creationDateFormatted": "2013-11-28 13:17:08 +0100",
"lastUpdate": 1412240772318,
"lastUpdateFormatted": "2014-10-02 11:06:12 +0200"
}Structure of a TravelInfoText:
TravelinfoText
{
"id": 116831,
"textType": "CHAPTER",
"title": "Praktische Hinweise",
"subtitle": "Von Anreise bis Zoll",
"edition": "2014-16",
"subtype": "traveltips",
"teaser": "Urlaub von Anfang bis Ende: die wichtigsten Adressen und Informationen für Ihre Barcelona-Reise",
"travelInfoArticles": [
{
"id": 221288,
"docID": 116831,
"headline": "Anreise",
"text": "..."
"articleSubType": "gettingThere",
"creationDate": 1385641020450,
"creationDateFormatted": "2013-11-28 13:17:00 +0100",
"lastUpdate": 1444296898537,
"lastUpdateFormatted": "2015-10-08 11:34:58 +0200"
},
{ /* travelInfoArticle */ }
],
"author": {"id": 13, "name": "Marco Polo", "profileImage": "http://pic.123poi.com/api/content/logos/13/icon/icon.gif"},
"creationDate": 1385641020448,
"creationDateFormatted": "2013-11-28 13:17:00 +0100",
"lastUpdate": 1443775435478,
"lastUpdateFormatted": "2015-10-02 10:43:55 +0200"
}Contributions are limited to one description text. In order for a POI to have a different description text, depending on the volume requested, book-specific descriptions were introduced.
When creating a POI, these book-specific descriptions can be specified. The book is then referenced through its ExternalId, which is found in XML3 of the volume, along with the type of volume (region or city), which is also given. In addition, the source of the description text is also specified. In addition to the print text, a special text can also be created for the web or app.
The description texts for different books can be added, updated or deleted by updates to the contribution of the POI. It is not necessary to provide all the descriptions for all books every time. Existing description texts are identified by the ExternalId of the book and the source. To delete a description text, you must update with an empty description text.
The best description text is selected from the various descriptions. The Web and App sources have priority over print. The volume type city has priority over region. Finally, the length of the texts decides. The best description text is set as a description of the contribution, and thus delivered. Any existing description text of the contribution will be overwritten.
If the POI is to be queried in the context of a specific book, the book parameter can be used to specify that the best description text of the specified book should be returned as a description text.
The book-specific description texts are not part of the default granulation. They can, however, be queried via the granulation: (poidata:(traveldescription)).
| User Story | A user can create book-specific description texts for his contribution |
| HTTP | POST |
| Header | Content-Type: application/atom+xml |
| URL | http://api.mairdumont.com/data/poi/api/poi/ |
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">
<content type="application/atom+xml">
<poi:poi xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:falkmedia="http://api.123poi.com/media/" xmlns:user="http://api.123poi.com/user/">
<poi:poidata>
<poi:title>Gottlieb Daimler Stadion</poi:title>
<data:language>de</data:language>
<user:author><user:id>6</user:id></user:author>
<falkgeo:coordinates>
<falkgeo:lat>48.791599</falkgeo:lat>
<falkgeo:lon>9.229890</falkgeo:lon>
</falkgeo:coordinates>
<data:address>
<data:isoCountryCode>DE</data:isoCountryCode>
<data:location>Stuttgart</data:location>
<data:zip>70173</data:zip>
</data:address>
<data:travelDescriptions>
<data:travelDescription>
<data:bookExternalId>MP_Ligurien_Aufl2008/11_DE_region</data:bookExternalId>
<data:bookLevelOfDetail>REGION</data:bookLevelOfDetail>
<data:origin>PRINT</data:origin>
<data:description>POI-Beschreibung für Ligurien-Band (Print).</data:description>
</data:travelDescription>
<data:travelDescription>
<data:bookExternalId>MP_Ligurien_Aufl2008/11_DE_region</data:bookExternalId>
<data:bookLevelOfDetail>REGION</data:bookLevelOfDetail>
<data:origin>WEB</data:origin>
<data:description>POI-Beschreibung für Ligurien-Band (Web).</data:description>
</data:travelDescription>
<data:travelDescription>
<data:bookExternalId>MP_Rom_Aufl2008/15_DE_city</data:bookExternalId>
<data:bookLevelOfDetail>CITY</data:bookLevelOfDetail>
<data:origin>APP</data:origin>
<data:description>POI-Beschreibung für Rom-Band (App).</data:description>
</data:travelDescription>
</data:travelDescriptions>
</poi:poidata>
<data:category>
<data:id>20</data:id>
</data:category>
</poi:poi>
</content>
</entry>
Destinations can have Quick Facts. This is information about the best travel time, the travel categories, the power plug-ins and whether a visa is required for a visit. In case of doubt, this information always refers to the german view, e.g. the field "powerAdapterRequired" always refers to devices manufactured for the german market (adapter C/F).Some information is inherited from subordinate destinations (e.g. Germany) to the underlying destinations (see "Inheritance" column, for example "powerPlugTypes"). This information is thus centrally maintained at a destination, but can also be viewed at all the destinations below.
| Field name | Description | Heredity | Example (JSON) |
|---|---|---|---|
| bestTravelMonths | A list of the best travel month, with ID and localized name. 0 stands for January, 1 for February, 11 for December. | no | [ { "id": 2, "name": "March" }, { "id": 9, "name": "October" } ] |
| powerPlugTypes | List of connector types, e.g. for the representation of the connector types. | yes | [ "C", "F" ] |
| powerPlugDescription | The list of connector types for display as text. | yes | "C, F" |
| powerPlugVoltage | The current voltage in volts (may contain commas or hyphens). | yes | "230" |
| powerPlugFrequency | The frequency in Hertz (may contain commas or hyphens). | yes | "50" |
| powerPlugAdapterRequired | Whether a travel adapter is needed to connect german devices. Possible values are "YES", "NO" and "PARTIAL", as well as to reset the value "NULL" | yes | "NO" |
| visaRequired | Whether a german passport or a visa is required. Possible values are "TRUE" and "FALSE", as well as to reset the value "NULL". | yes | "FALSE" |
| visaURL | A URL containing further information on visa requirements, e.g. By the Federal Foreign Office. | yes | "">http://www.auswaertiges-amt.de/DE/Laenderinformationen/00-SiHi/Nodes/AegyptenSicherheit_node.html" |
| travelCategories | A list of the travel categories for which the destination is particularly suitable. | no | [ { "id": 4, "name": "Ocean" }, { "id": 2, "name": "Shopping" } ] |
| User Story | Querying the list of supported travel categories. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/destination/category/all?lang=de |
| ID | travel category |
|---|---|
| 1 | Culture |
| 2 | Shopping |
| 3 | Outdoor |
| 4 | Ocean |
| 5 | Sea |
| 6 | Winter Sports |
| 7 | Celebrations |
| User Story | Querying destination QuickFacts to a destination or a list of destinations |
|---|---|
| HTTP | GET |
| URL |
http://api.mairdumont.com/data/poi/api/destination/37067?lang=de http://api.mairdumont.com/data/poi/api/destination/all?lang=de&search=Neustadt |
{
"entries": [
{
"destinationId": 37067,
"destinationName": "Hamburg",
"destinationType": "ADMIN_CITY",
"parentId": 5618,
"bestTravelMonths": [
{
"id": 2,
"name": "März"
},
{
"id": 9,
"name": "Oktober"
}
],
"powerPlugTypes": [
"C",
"F"
],
"powerPlugDescription": "C, F",
"powerPlugVoltage": "230",
"powerPlugFrequency": "50",
"powerPlugAdapterRequired": "NO",
"visaRequired": "FALSE",
"visaURL": "http://www.auswaertiges-amt.de/DE/Laenderinformationen/00-SiHi/Nodes/AegyptenSicherheit_node.html" ,
"travelCategories": [
{
"id": 4,
"name": "Meer"
},
{
"id": 2,
"name": "Shopping"
}
]
}
]
}
When searching for destinations, search parameters can be specified in order to only display destinations with the desired properties. The possible search parameters are "months", "visa" and "travelcat". The search parameters can be combined with each other and with other search parameters. For the parameters "months" and "travelcat", several values can be separated by commas. With the parameter "travelcat", the search can be adapted by means of a preceding plus sign, so that the destinations must meet all specified travel categories instead of only one.
| User Story | Restrict destination search to Quick Facts. |
|---|---|
| HTTP | GET |
| URL |
| Parameter | Values | Description |
|---|---|---|
| months | Numbers between 0 (January) and 11 (December), several months may be indicated by commas, e.g. "4,5,6". | Only destinations with at least one of the specified months as the best travel time are displayed. |
| visa | "true" or "false" | Only destinations that require a visa (true) or not (false) are displayed. The visa information is inherited in principle to the lower destination, but inherited properties are ignored for the search. Only destinations with the property directly set are displayed. |
| travelcat | IDs from the list of well-known travel categories. Several travel categories may be indicated by commas, e.g. "4.7". If a destination should have all the specified travel categories, a plus sign can be prepended, e.g. "+4.7". | Only destinations with at least one or all (pre-defined plus signs) travel categories are displayed. |
When searching for destinations, search parameters can be specified to only display destinations within the desired travel period. The possible search parameters are "minDuration", "maxDuration" and "meansOfTravel". The search parameter "meansOfTravel" alone has no effect. If only one of the two parameters "minDuration" and "maxDuration" is specified, 0 or infinity is assumed.
| User Story | Restrict destination search on travel time. |
|---|---|
| HTTP | GET |
| URL |
| Parameter | Values | Description |
|---|---|---|
| minDuration | The minimum duration of travel in minutes, e.g. "60". | Only destinations where the duration of travel with the desired travel type(s) is above the specified time will be displayed. If no trip type (parameter "meansOfTravel") is specified, all trips will be considered. |
| maxDuration | The maximum duration of travel in minutes, e.g. "200". | Only destinations where the duration of travel with the desired travel type(s) under the specified time is displayed. If no trip type (parameter "meansOfTravel") is specified, all trips will be considered. |
| meansOfTravel | The planned travel mode. Possible values are CAR, TRAIN and AIRCRAFT, respectively 0, 1, 2. Several travel modes can be combined by comma, e.g. "CAR, TRAIN". | Only destinations that can be reached with the specified travel dates in the specified travel period are displayed. If a destination can only be reached by airplane, it would not be delivered with "meansOfTravel = TRAIN". If a destination can be reached by airplane in 2 hours and by train in 3 hours, the request "meansOfTravel = TRAIN & maxDuration = 120" would not meet the destination. The query "meansOfTravel = AIRCRAFT, maxDuration = 120", however, already. |
If a destination is queried or searched, linked language guides are output with.
| User Story | A user would like to display the linked language guides for a destination. |
|---|---|
| HTTP | GET |
| URL |
http://api.mairdumont.com/data/destination/api/destination/ http://api.mairdumont.com/data/destination/api/destination/all?search= |
"languageGuides":[
{
"id":10,
"language":"fr",
"bookSeriesIdentifier":"MPLG",
"creationDate":1422486000000,
"creationDateFormatted":"2015-01-29 00:00:00 +0100",
"lastUpdate":1422486000000,
"lastUpdateFormatted":"2015-01-29 00:00:00 +0100"
}
]
| User Story | A user would like to see a complete language guide.For this purpose, a language guide can be loaded directly, or the referenced language guides can also be output with the granularity of languageguides. |
|---|---|
| HTTP | GET |
| URL |
http://api.mairdumont.com/data/destination/api/languageguide/ http://api.mairdumont.com/data/destination/api/destination//:(languageguides) |
{
"entries":[
{
"id":24,
"documents":[
{
"id":79,
"title":"Sprachführer Französisch",
"subtitle":"",
"teaser":"Dami....",
"articles":[
{
"id":64,
"headline":"Basics",
"text":"Text ...",
"teaser":"",
"creationDate":1423053000208,
"creationDateFormatted":"2015-02-04 13:30:00 +0100",
"lastUpdate":1423053000208,
"lastUpdateFormatted":"2015-02-04 13:30:00 +0100"
},
{
"id":65,
"headline":"Anreise",
"text":"Text ...",
"teaser":"",
"creationDate":1423053000210,
"creationDateFormatted":"2015-02-04 13:30:00 +0100",
"lastUpdate":1423053000210,
"lastUpdateFormatted":"2015-02-04 13:30:00 +0100"
}
],
"author":{
"id":13,
"name":"Marco Polo",
"profileImage":"http://testpic.123poi.com/api/content/logos/13/icon/icon.gif"
},
"metaInformation":{
"title":"Französisch",
"keywords":"",
"description":""
},
"creationDate":1423053000204,
"creationDateFormatted":"2015-02-04 13:30:00 +0100",
"lastUpdate":1423053000204,
"lastUpdateFormatted":"2015-02-04 13:30:00 +0100"
}
],
"language":"fr",
"bookSeriesIdentifier":"MPLG",
"destinations":[
{
"destinationId":5611,
"destinationName":"France",
"destinationType":"ADMIN_COUNTRY"
}
],
"creationDate":1423053000144,
"creationDateFormatted":"2015-02-04 13:30:00 +0100",
"lastUpdate":1423053000144,
"lastUpdateFormatted":"2015-02-04 13:30:00 +0100"
}
],
"searchTime":111
}