Back to Home

Touren

Dieses Dokument beschreibt die REST-Schnittstellen zum Thema Touren in der MD Content-API.

Note: This is a pre-release document and is subject to change in future releases. All information in this document pertains to current state of developement.

Inhaltsverzeichnis


Allgemeines


Touren haben einen Orts- bzw. einen Regionenbezug. Sie werden beschrieben durch eine Aneinanderreihung geografischer Punkte, POIs, Events oder Destinationen. Touren können Beschreibungstexte oder Notizen haben und können in Abschnitte geteilt werden. Zusätzlich können Touren in Foldern zusammengefasst werden. Touren und Tourfolder können Destinationen zugeordnet werden.

Eine grobe Struktur zeigt folgendes Diagramm:

Anlegen einer Tour


User Story Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 1: anlegen)
HTTP POST
URL http://api.123poi.com/data/poi/api/tour/

Die Daten, die angelegt werden sollen müssen im entsprechenden XML-Format angegeben und im Request Body mitgegeben werden. Dafür verwendet man ein entprechendes Tool, Anregungen findet man unter dem Thema RESTFul Webservices testen. Es gibt verschiedene Tour-Typen:

Die Daten werden als neuer Eintrag <entry/> gepostet.

Anlegen einer Tour mit Route Entries als Liste

Beim Anlegen einer Tour-Liste ist es möglich in den Tour-Einträgen Entitäten wie Geocode, POI, Destination, Event und Tour zu referenzieren. Jeder Eintrag kann dann noch in unterschiedlichen Sprachen beschrieben werden.

Die Polyline der Tour kann kann entweder im WKT-Format oder als geoJSON angegeben werden:

Die Ausgabe der Tour erfolgt grundsätzlich im geoJSON-Format.

POST http://api.123poi.com/data/poi/api/tour/
     
      <entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"  
             xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"      
             xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"  
             xmlns:event="http://api.123poi.com/event/"
             xmlns:destination="http://api.123poi.com/destination/">
        <title type="text">german title</title>
        <content type="application/xml">
            <tour:tour>
                <user:author>
                    <user:id>6</user:id>
                </user:author>
                            <data:externalId>external_id6</data:externalId>
                            <falkgeo:polyline>LINESTRING (10.0 10.1, 20.0 20.1, 30.0 30.1)</falkgeo:polyline>
                <tour:tourDescriptions>
                    <tour:tourDescription>
                        <data:language>de</data:language>
                        <tour:title>german title list</tour:title>
                        <tour:description>german description list</tour:description>
                    </tour:tourDescription>
                    <tour:tourDescription>
                        <tour:title>all title list</tour:title>
                        <tour:description>all description list</tour:description>
                    </tour:tourDescription>
                </tour:tourDescriptions>
                <tour:type>list</tour:type>
                <tour:tourEntries>
                    <tour:tourEntry>
                        <tour:tourEntryDescriptions>
                            <tour:tourEntryDescription>
                                <data:language>de</data:language>
                                <tour:notice>german notice</tour:notice>
                                <tour:linkUrl>germanl linkUrl</tour:linkUrl>
                                <tour:linkText>german linktext</tour:linkText>
                            </tour:tourEntryDescription>
                            <tour:tourEntryDescription>
                                <tour:notice>all notice</tour:notice>
                                <tour:linkUrl>all linkUrl</tour:linkUrl>
                                <tour:linkText>all linktext</tour:linkText>
                            </tour:tourEntryDescription>
                        </tour:tourEntryDescriptions>
                        <destination:destination>
                            <destination:destinationId>19311</destination:destinationId>
                        </destination:destination>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <tour:tourEntryDescriptions>
                            <tour:tourEntryDescription>
                                <data:language>de</data:language>
                                <tour:notice>german poi notice</tour:notice>
                            </tour:tourEntryDescription>
                        </tour:tourEntryDescriptions>
                        <poi:poi>
                            <poi:id>111</poi:id>
                        </poi:poi>
                    </tour:tourEntry>
                    <tour:tourEntry>
                                            <event:eventInfo>
                              <event:eventId>45</event:eventId>
                        </event:eventInfo>
                        <tour:tourEntryDescriptions>
                            <tour:tourEntryDescription>
                                <data:language>de</data:language>
                                <tour:notice>german event notice</tour:notice>
                            </tour:tourEntryDescription>
                        </tour:tourEntryDescriptions> 
                    </tour:tourEntry>
                    <tour:tourEntry>
                                            <tour:tour>
                            <tour:id>4</tour:id>
                        </tour:tour>
                        <tour:tourEntryDescriptions>
                            <tour:tourEntryDescription>
                                <data:language>de</data:language>
                                <tour:notice>german event notice</tour:notice>
                            </tour:tourEntryDescription>
                        </tour:tourEntryDescriptions>     
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <falkgeo:coordinates>
                            <falkgeo:lat>48.2407081</falkgeo:lat>
                            <falkgeo:lon>8.723273</falkgeo:lon>
                        </falkgeo:coordinates>
                    </tour:tourEntry>
                </tour:tourEntries>
                <tour:duration>2000</tour:duration>
                <tour:distance>1000</tour:distance>
                <data:visibility>PUBLIC</data:visibility>
                <tour:destinationIdentifiers>
                   <tour:destinationIdentifier>
                                   <destination:destinationId>20696</destination:destinationId>
                   </tour:destinationIdentifier>
                    </tour:destinationIdentifiers>
                            <tour:polylineURL>polylineURL</tour:polylineURL>
                           <falkgeo:startCoordinate>
                           <falkgeo:lat>48.776039</falkgeo:lat>
                           <falkgeo:lon>9.176246</falkgeo:lon>
                           </falkgeo:startCoordinate>
                           <falkgeo:endCoordinate>
                           <falkgeo:lat>48.72223860481109</falkgeo:lat>
                           <falkgeo:lon>9.223379437790086</falkgeo:lon>
                           </falkgeo:endCoordinate>
                        <tour:tourTrackType>jogging</tour:tourTrackType>
                        <tour:tourShape>onewaytrip</tour:tourShape>
                        <tour:backlink>backlink</tour:backlink>
                        <tour:verticalHeight>Vertical Height</tour:verticalHeight>
                        <tour:totalAscent>12</tour:totalAscent>
                        <tour:totalDecent>104</tour:totalDecent>
                        <tour:highProfileURL>highProfileURL</tour:highProfileURL>
            </tour:tour>
        </content>
     </entry>
    

Bookmark

Ein Bookmark verweisst auf eine existierende Tour.

POST http://api.123poi.com/data/poi/api/tour/
     
     <entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"  
             xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"      
             xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"  
             xmlns:event="http://api.123poi.com/event/"
             xmlns:destination="http://api.123poi.com/destination/">
            <title type="text">german title</title>
            <content type="application/xml">
                <tour:tour xmlns:tour="http://api.123poi.com/tour/" xmlns:logo="http://api.123poi.com/logo/" xmlns:critique="http://api.123poi.com/critique/" xmlns:event="http://api.123poi.com/event/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:destination="http://api.123poi.com/destination/">
                    <user:author>
                        <user:id>6</user:id>
                    </user:author>
                    <tour:tourDescriptions>
                        <tour:tourDescription>
                            <data:language>de</data:language>
                            <tour:title>german bookmark title</tour:title>
                            <tour:description>german bookmark description</tour:description>
                        </tour:tourDescription>
                        <tour:tourDescription>
                            <tour:title>all bookmark title</tour:title>
                            <tour:description>all bookmark description</tour:description>
                        </tour:tourDescription>
                    </tour:tourDescriptions>
                    <tour:type>bookmark</tour:type>
                    <tour:bookmarkId>22</tour:bookmarkId>
                    <data:visibility>PUBLIC</data:visibility>
                </tour:tour>
            </content>
        </entry>
    

Abfragen von Touren


Abfragen der Touren eines Benutzers

User Story Ein User kann die Touren eines Benutzers abfragen
HTTP GET
URL http://api.123poi.com/data/poi/api/user/UserID/?filter=tour
User Story Ein User kann die Main-Touren eines Benutzers abfragen. Main-Touren sind Touren die nicht in einem Folder liegen.
HTTP GET
URL http://api.123poi.com/data/poi/api/user/UserID/?filter=maintour

Die Touren können nach Typen eingeschränkt werden.

 GET http://api.123poi.com/data/poi/api/user/6/?filter=tour&tourtype=list
    

  GET http://api.123poi.com/data/poi/api/user/6/?filter=tour&tourtype=folder

  GET http://api.123poi.com/data/poi/api/user/6/??filter=tour&tourtype=bookmark

Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.

  GET http://api.123poi.com/data/poi/api/user/6/?filter=maintour&tourtype=list

  GET http://api.123poi.com/data/poi/api/user/6/?filter=maintour&tourtype=folder

 GET http://api.123poi.com/data/poi/api/user/6/?filter=maintour&tourtype=bookmark

Abfragen der Touren einer Destination

User Story Ein User kann die Touren abfragen, die einer Destination zugeordnet sind.
HTTP GET
URL http://api.123poi.com/data/destination/api/destination/4/?filter=tour
User Story Ein User kann die Main-Touren abfragen, die einer Destination zugeordnet sind. Main-Touren sind Touren die nicht in einem Folder liegen.
HTTP GET
URL http://api.123poi.com/data/destination/api/destination/4/?filter=maintour

Die Touren können nach Typen eingeschränkt werden.

 GET http://api.123poi.com/data/destination/api/destination/6/?filter=destination
    
  GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&tourtype=folder
    
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&tourtype=bookmark
    

Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.

GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=list
    
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=folder
    
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=bookmark
    

Abfragen der Touren einer Destination eines bestimmten Benutzers

User Story Ein User kann die Touren eines Users abfragen, die einer Destination zugeordnet sind.
HTTP GET
URL http://api.123poi.com/data/destination/api/destination/4/?filter=tour&user=9
User Story Ein User kann die Main-Touren eines Users abfragen, abfragen, die einer Destination zugeordnet sind. Main-Touren sind Touren die nicht in einem Folder liegen.
HTTP GET
URL http://api.123poi.com/data/destination/api/destination/4/?filter=maintour&user=9

Die Touren können nach Typen eingeschränkt werden.

 GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=list
    
 GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=folder
    
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=bookmark
    

Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.

 GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=list
    
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=folder
    
 GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=bookmark
    

Abfragen der POI in welchen Touren

User Story Ein User kann die POI in welchen Touren abfragen.
HTTP GET
URL http://api.123poi.com/data/poi/api/poi/12345/?filter=tour

Suchen von Touren

User Story Als Portal möchte ich, dass zum angezeigten Kartenausschnitt / Standort (Umkreis) die dort vorhandenen Touren eines bestimmten Types bzw. mehrerer unterschiedl. Typen zurückgeliefert werden, damit ich diese in der Karte einzeichnen kann.
HTTP GET
URL http://api.mairdumont.com/data/poi/geo/tour/all?bbox=50.1,5.87,47.31,15.05&tracktype=jogging,trekking http://api.mairdumont.com/data/poi/geo/tour/all?bbox=50.1,5.87,47.31,15.05&transportation=CANOE,MOTORBOAT

Bei der Geo-Projektion wird die Eigenschaften TourID, Titel und Start-Koordinate der Touren zurückgeliefert. Diese Projektion eignet sich daher am Besten für die Einblendung der Touren als Layer in einer Karte.

Tourensuche auf Attribute einschränken

User Story Als Portal möchte ich nur Touren mit bestimmten Attributen anzeigen.
HTTP GET
URL http://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=sourcehttp://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_tourenhttp://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_touren+lp_tourenhttp://api.mairdumont.com/data/poi/api/destination/37067?lang=de&filter=tour&attr=source:mp_touren

Über den Paramter "attr" lassen sich die verschiedenen Tourensuchen auf Touren mit dem angegebenen Attribut einschränken. Der Doppelpunkt trennt dabei den Attribut-Key vom Attribut-Wert, d.h. bei "attr=source:mp_touren" wird nach dem Attribut-Key "source" mit dem Attribut-Wert "mp_touren" gesucht. Wird kein Doppelpunkt angegeben, z.B. "attr=source", dann wird nur nach dem Attribut-Key gesucht, d.h. es werden alle Touren mit dem Attribut-Key gefunden, unabhängig vom Attribut-Wert. Es können mehrere Attribut-Werte gesucht werden. Dazu werden die Werte durch Leerzeichen voneinander getrennt, z.B. "attr=source:mp_touren+lp_touren" ("+" bzw. "%20" ist URL-Encoding für Leerzeichen). Es werden Touren gefunden, deren Attribut-Key "source" den Attribut-Wert "mp_touren" oder "lp_touren" hat (Oder-Suche). Für eine Und-Suche auf verschiedenen Attributen werden mehrere "attr" Parameter angegeben, z.B. "attr=source:mp_touren&attr=childfriendly:true".

Aggregationen bei Tourensuchen

User Story Als Portal möchte ich bei Tourensuchen Aggregationen anzeigen.
HTTP GET
URL http://api.mairdumont.com/data/poi/api/tour/all?lang=de&facet=destination-50,attribution-100-alpha
http://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_touren&facet=destination
http://api.mairdumont.com/data/poi/geo/tour/all?bbox=47.911019,8.308199,47.108022,9.851372&facet=destination

Aktuell werden zwei Aggregationen bzw. Facetten unterstützt, Destinationen und Attribute. Bei "facet=destination" werden die Destinationen der gefundenen Touren aggregiert und im Ergebnis angezeigt. Bei "facet=attribution" werden die Attribut-Keys und ihre Attribut-Werte der gefundenen Touren aggregiert. Aggregiert wird über die alle gefundenen Touren. Das Ergebnis ist also nicht auf die Anzahl der angefragten Touren beschränkt.

Mehrere Aggregationen können durch Komma getrennt angefragt werden, z.B. "facet=destination,attribution". Optional können auch die Anzahl der Einträge, sowie die Sortierung der Einträge bestimmt werden. Das Format dazu ist "<facetType>[-<maxResults>[-alpha]]", z.B. "facet=destination-50" oder "facet=attribution-100-alpha". Der Vorgabewert für maxResults ist 20. Die Vorgabesortierung ist absteigend nach Anzahl. Bei alphabetischer Sortierung wird aufsteigend nach Name (bzw. ID) sortiert.

Beispiel für Tour-Aggregationen

{
      "entries": [
        ...
      ],
      "facets": [
        {
          "entries": [
            {
              "key": "source",
              "values": [
                {
                  "count": 1045,
                  "value": "mp_touren"
                }
              ]
            },
            {
              "key": "subType",
              "values": [
                {
                  "count": 249,
                  "value": "perfectOverview"
                }
              ]
            }
          ],
          "facetType": "ATTRIBUTION",
          "resultLimit": 10
        },
        {
          "entries": [
            {
              "count": 1641,
              "id": 5641
            },
            {
              "count": 1583,
              "id": 5747
            },
            {
              "count": 1156,
              "id": 34657
            },
            {
              "count": 889,
              "id": 5611
            },
            {
              "count": 800,
    
              "id": 161156
            }
          ],
          "facetType": "DESTINATION",
          "resultLimit": 5
        }
      ]
    }
    

Operationen auf Touren


Ändern einer Tour

User Story Ein User kann eine Tour anlegen / ändern / löschen / abrufen (Teil 2: ändern)
HTTP PUT
URL http://api.123poi.com/data/poi/api/tour/TourId

Für diese Operation wird ein HTTP-PUT Request verwendet, der Pfad dieser Operation verweist auf den Folder mit seiner ID.

 PUT http://api.123poi.com/data/poi/api/tour/123456
     
     <entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"  
             xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"      
             xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"  
             xmlns:destination="http://api.123poi.com/destination/">
        <title type="text">TEST_STATIC_TOUR_publicFolder</title>
        <content type="application/xml">
            <tour:tour>
                <user:author>
                    <user:id>6</user:id>
                </user:author>
                <tour:tourDescriptions>
                    <tour:tourDescription>
                        <data:language>en</data:language>
                        <tour:title>TEST_STATIC_TOUR_publicFolder EN</tour:title>
                    </tour:tourDescription>
                </tour:tourDescriptions>
                <tour:type>folder</tour:type>
                <tour:children>
                                    <tour:child>
                        <tour:id>22</tour:id>
                    </tour:child>
                    <tour:child>
                        <tour:id>4</tour:id>
                    </tour:child>
                    <tour:child>
                        <tour:id>5</tour:id>
                    </tour:child>
                </tour:children>
                <data:visibility>PUBLIC</data:visibility>
            </tour:tour>
        </content>
      </entry>
    

Bei Tour-Listen kann, mit einem Update der Tour-Einträge, die Reihenfolge geändert werden. Soll die Reihenfolge die Tour-Einträge geändert werden, müssen alle Tour-Einträge, die in der Liste enthalten sein sollen, in der gewollten Reihenfolge angegeben werden. Die Referencen zu POI, Destination, Event, Tour und Geocode müssen mitgegeben werden, sonst würden diese rückgesetzt werden. Die Tour-Beschreibungen und die Beschreibungen der Tour-Einräge müssen dann nicht mit geliefert werden. Werden Tour-Beschreibungen oder Beschreibungen von Tour-Einträgen mitgeliefert, werden diese, sofern sie in der Sparache vorhanden sind geändert, ansonsten werden sie hinzugefügt. Beschreibungen in anderen Sprachen bleiben bestehen.

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
        <content type="application/xml">
            <tour:tour>
                <tour:id>27</tour:id>
                <user:author>
                    <user:id>6</user:id>
                    <user:name>Test user6</user:name>
                </user:author>
                <tour:tourDescriptions>
                    <tour:tourDescription>
                        <data:language>en</data:language>
                        <tour:title>english title list</tour:title>
                        <tour:description>english description list</tour:description>
                    </tour:tourDescription>
                    <tour:tourDescription>
                        <tour:title>all title list (updated)</tour:title>
                        <tour:description>all description list (updated)</tour:description>
                    </tour:tourDescription>
                </tour:tourDescriptions>
                <tour:type>list</tour:type>
                <tour:tourEntries>
                    <tour:tourEntry>
                        <tour:id>45</tour:id>
                        <tour:tour>
                            <tour:id>4</tour:id>
                        </tour:tour>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <tour:id>43</tour:id>
                        <poi:poi>
                            <poi:id>111</poi:id>
                        </poi:poi>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <tour:id>42</tour:id>
                        <destination:destination>
                            <destination:destinationId>19311</destination:destinationId>
                        </destination:destination>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <destination:destination>
                            <destination:destinationId>300</destination:destinationId>
                        </destination:destination>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <tour:id>44</tour:id>
                        <event:eventInfo>
                            <event:eventId>45</event:eventId>
                        </event:eventInfo>
                    </tour:tourEntry>
                    <tour:tourEntry>
                        <tour:id>46</tour:id>
                                            <falkgeo:coordinates>
                            <falkgeo:lat>48.2407081</falkgeo:lat>
                            <falkgeo:lon>8.723273</falkgeo:lon>
                        </falkgeo:coordinates>
                    </tour:tourEntry>
                </tour:tourEntries>
                <tour:totalNumberOfTourEntries>5</tour:totalNumberOfTourEntries>
                <tour:duration>2000</tour:duration>
                <tour:distance>1000</tour:distance>
                <data:visibility>PUBLIC</data:visibility>
            </tour:tour>
        </content>
    </entry>
    

Löschen einer Tour

User Story Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 3: löschen)
HTTP DELETE
URL http://api.123poi.com/data/poi/api/tour/TourId

Touren können vom Besitzer der Tour gelöscht werden.

 DELETE http://api.123poi.com/data/poi/api/tour/61
    

Löschen eines Tour nach Sprache

User Story Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 3: löschen)
HTTP DELETE
URL http://api.123poi.com/data/poi/api/tour/TourId?lang=${language}

Tour-Beschreibungen können vom Besitzer der Tour nach Sprache gelöscht werden. Es wird dann nur die Beschreibungen der angegebenen Sprache gelöscht, andere Sprachen beleiben erhalten.

DELETE http://api.123poi.com/data/poi/api/tour/61?lang=de
    

TourEntries


Hinzufügen/Löschen eines Tour-Eintrags zu einer Tour-Liste

Es ist möglich zu einer Tour-Liste einen einzelnen Tour-Eintrag am Ende hinzuzufügen.

User Story Ein User kann einen Toureintrag hinzufügen
HTTP POST
URL http://api.123poi.com/data/poi/api/tour//tourentry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
        <content type="application/xml">
            <tour:tourEntry>
                <tour:tourEntryDescriptions>
                    <tour:tourEntryDescription>
                        <data:language>de</data:language>
                        <tour:notice>created tour entry</tour:notice>
                    </tour:tourEntryDescription>
                </tour:tourEntryDescriptions>
                <destination:destination>
                    <destination:destinationId>301</destination:destinationId>
                </destination:destination>
            </tour:tourEntry>
        </content>
    </entry>
    

Ebenso kann ein Eintrag aus einer Tour-Liste gelöscht werden.

User Story Ein User kann einen Toureintrag löschen
HTTP DELETE
URL http://api.123poi.com/data/poi/api/tour//tourentry/6

Anzeigen eines Tour-Eintrags einer Tour-Liste

User Story Ein User möchte einen Toureintrag einzeln Anzeigen
HTTP GET
URL http://api.123poi.com/data/poi/api/tour//tourentry/6

Bearbeiten eines Tour-Eintrags einer Tour-Liste

User Story Ein User möchte einen Toureintrag einer Tour-List besarbeiten
HTTP PUT
URL http://api.123poi.com/data/poi/api/tour//tourentry/6
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
        <content type="application/xml">
                <tour:tourEntry>
                    <tour:id>14</tour:id>
                    <tour:tourEntryDescriptions>
                        <tour:tourEntryDescription>
                            <data:language>de</data:language>
                            <tour:notice>created tour entry (updated)</tour:notice>
                        </tour:tourEntryDescription>
                        <tour:tourEntryDescription>
                            <data:language>en</data:language>
                            <tour:notice>created tour entry</tour:notice>
                        </tour:tourEntryDescription>
                    </tour:tourEntryDescriptions>
                    <destination:destination>
                        <destination:destinationId>301</destination:destinationId>
                    </destination:destination>
                </tour:tourEntry>
            </content>
        </entry>
    </feed>
    

Abfragen der Einträge einer Tour

User Story Ein User kann eine Tour anlegen / ändern / löschen / abrufen (Teil 4: abfragen)
HTTP GET
URL http://api.123poi.com/data/poi/api/tour/TourId

Die Touren eines Folders können je nach Sichtbarkeit von Gästen, authentifizierten Usern und dem Besitzer abgefragt werden.

GET http://api.123poi.com/data/poi/api/tour/6
    

Die Eintrage einer Folders können nach Sprache abgefragt werden.

 GET http://api.123poi.com/data/poi/api/tour/6?lang=de

TourEntries die auf Touren oder POIs verweisen die gelöscht worden sind, werden mit dem Status "tourEntryStatus": "REFERENCED_ENTITY_DELETED" gekennzeichnet.

"tourEntries": {
        "tourEntry": [
            {
                "id": "15",
                "coordinates": {
                    "lat": "48.72223860481109",
                    "lon": "9.223379437790086"
                },
                "tourEntryDescriptions": {
                    "tourEntryDescription": [
                        {
                            "language": "de",
                            "title": "german title",
                            "notice": "german notice",
                            "linkUrl": "german linkUrl",
                            "linkText": "german linktext"
                        },
                        {
                            "title": "all title",
                            "notice": "all notice",
                            "linkUrl": "all linkUrl",
                            "linkText": "all linktext"
                        }
                    ]
                },
                "destination": {
                    "destinationId": "19311",
                    "destinationName": "Stuttgart",
                    "destinationType": "ADMIN_CITY",
                    "parentId": "6505",
                    "coordinates": {
                        "lat": "48.77712740002663",
                        "lon": "9.180707500013073"
                    },
                    "bookRelationType": "IS_A_BOOK",
                    "creationDate": "1357646053312",
                    "creationDateFormatted": "2013-01-08 12:54:13 +0100",
                    "lastUpdate": "1357646053359",
                    "lastUpdateFormatted": "2013-01-08 12:54:13 +0100",
                    "important": "true"
                },
                "creationDate": "1358782291453",
                "creationDateFormatted": "2013-01-21 16:31:31 +0100",
                "lastUpdate": "1358782291453",
                "lastUpdateFormatted": "2013-01-21 16:31:31 +0100",
                "tourEntryStatus": "REFERENCED_ENTITY_DELETED"
            },
            {
                "id": "16",
                "coordinates": {
                    "lat": "48.2407081",
                    "lon": "8.723273"
                },
                "creationDate": "1358782291500",
                "creationDateFormatted": "2013-01-21 16:31:31 +0100",
                "lastUpdate": "1358782291500",
                "lastUpdateFormatted": "2013-01-21 16:31:31 +0100"
            }
        ]
    },
    

Abfragen der Einträge eines Tour über die externalID

User Story Als Lizenznehmer möchte ich die Tour des Users einfach erkennen können, diese soll über eine einheitliche Kennung angelegt und abgefragt werden können.
HTTP GET
URL http://api.123poi.com/data/poi/api/tour/user/{userID}/external/{externalID}

Touren mit spezieller Bedeuting von seiten des Portals können über Benutzer-ID und externe ID eindeutig identifiert werden.

GET http://api.123poi.com/data/poi/api/tour/user/{userID}/external/falk-favorite
    

Folder


Ein Folder dient zum Gruppieren von Touren und enthält eine sortierte Liste von Touren. Ein Folder selber besitzt keine Tour-Einträge.

POST http://api.123poi.com/data/poi/api/tour/
     
     <entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"  
             xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"      
             xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"  
             xmlns:destination="http://api.123poi.com/destination/">
        <title type="text">TEST_STATIC_TOUR_publicFolder</title>
        <content type="application/xml">
            <tour:tour>
                <user:author>
                    <user:id>6</user:id>
                </user:author>
                <tour:tourDescriptions>
                    <tour:tourDescription>
                        <tour:title>TEST_STATIC_TOUR_publicFolder</tour:title>
                    </tour:tourDescription>
                    <tour:tourDescription>
                        <data:language>de</data:language>
                        <tour:title>TEST_STATIC_TOUR_publicFolder DE</tour:title>
                    </tour:tourDescription>
                </tour:tourDescriptions>
                <tour:type>folder</tour:type>
                <tour:children>
                    <tour:child>
                        <tour:id>4</tour:id>
                    </tour:child>
                    <tour:child>
                        <tour:id>5</tour:id>
                    </tour:child>
                </tour:children>
                <data:visibility>PUBLIC</data:visibility>
            </tour:tour>
        </content>
      </entry>