Travity Travel XML Import & Export Struktur

Travity bietet eine XML Import und Exportschnittstelle für die Reisen.

Übersicht

  1. Rootelement Travity
  2. Travel
  3. Image & LargeImage
  4. ShowDate & HideDate
  5. Content oder Blocks

Struckturübersicht hier -> Import und Export

Rootelement und Grundgerüst

<?xml version="1.0" ?>
- <Travity Action="Import">
+ <Travels>
+ <TravelDates>
+ <TravelCountries>
+ <TravelCategories>
+ <TravelLinks>
+ <Images>
  </Travity>

Der Rootknoten Travity kann ein Attribut Action enthalten mit den Werten Import oder Export, das Attribut ist nur wichtig für den automatischen Import.

In der zweiten Ebenen liegen die Elementknoten der einzelnen Inhaltsabschnitte.

Knoten Travels

Im Knoten Travels sind ein oder mehrere Unterknoten Travel abgelegt.

<?xml version="1.0" ?>
- <Travity Action="Import">
  - <Travels>
    + <Travel ImportID="8744">
    - <Travel>
        <TravelID>3EC8879B-2E2D-4A88-A4E9-09CC8C9C7A58</TravelID>
        ...
      </Travel>
    </Travels>
  + <TravelDates>
  + <TravelCountries>
  + <TravelCategories>
  + <TravelLinks>
  + <Images>
  </Travity>

Knoten Travel

Der Knoten Travel enthält entweder eine Attribut ImportID, das deutet auf den Import einer neuen Reisen hin, alle zugehörigen Knoten in TravelDates, TravelCountries usw haben ebenso eine Attribut Import ID.

Alternativ hat das Knoten Travel einen Unterknoten TravelID mit einer GUID, das deutet auf eine Update oder Reimport einer Reise hin, alle zugehörigen Knoten haben einen Unterknoten Travel (nicht TravelID).

Import

<?xml version="1.0" ?>
- <Travity Action="Import">
  - <Travels>
    + <Travel ImportID="8744">
        <Name>Bolivien / Peru / Argentinien...</Name>
        <Description>Während dieser Rundreise erleben ...</Description>
        <RockBottomPriceDescription>
          19 Tage ab/bis Deutschland
        </RockBottomPriceDescription>
        <RockBottomPrice />
      - <Blocks>
        - <Block>
            <Header class="h1">Die Wiege Südamerikas</Header>
            <Content class="Zusammenfassung">Während dieser Rundreise erleben
              Sie die kulturellen Höhepunkte Perús in Kombination mit den
              eindrucksvollen ...
            </Content>
          </Block>
        - <Block>
            <Header class="h2">Reiseverlauf</Header>
          - <Image Align="Center" MaxWidth="500" ZoomImage="1">
              <ImageUrl>http://www.domain.de/images/karte.jpg</ImageUrl>
            </Image>
          </Block>
        - <Block>
            <Header class="h3">1. Tag, So.: Deutschland - Lima</Header>
            <Content>Linienflug mit Iberia von Deutschland über ...</Content>
          - <Image Align="Right" MaxWidth="300" ZoomImage="1">
              <ImageUrl>http://www.domain.de/images/lima.jpg</ImageUrl>
            </Image>
          </Block>
        + <Block>
        + <Block>
        </Blocks>
        <ShowDate>+0</ShowDate>
        <HideDate>+366</HideDate>
        <Visible>1</Visible>
        <DisplayOrder>50</DisplayOrder>
        <SendEmail>0</SendEmail>
        <InternalCode>8744</InternalCode>
        <ExternalCode>8744</ExternalCode>
        <ExternalOperator>XYZ Reisen</ExternalOperator>
        <ExternalOperatorCode>XYZ</ExternalOperatorCode>
      - <ImageSmall Width="100" Height="100" Action="CenterSquareResize">
          <ImageID>peru001</ImageID>
          <ImageUrl>http://www.domain.de/images/peru.jpg</ImageUrl>
        </ImageSmall>
      + <ImageLarge Width="200" Height="200" Action="CenterSquareResize">
      </Travel>
    + <Travel>
    </Travels>
  + ...
  </Travity>

Reimport

<?xml version="1.0" ?>
- <Travity Action="Import">
  - <Travels>
    + <Travel ImportID="8744">
    - <Travel>
        <TravelID>3EC8879B-2E2D-4A88-A4E9-09CC8C9C7A58</TravelID>
        <TravelNumber>14946</TravelNumber>
        <TravelAgency>26847FB4-D3F6-4635-B018-F2E9710397B0</TravelAgency>
        <Language>0</Language>
        <Name>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</Name>
        <Description>Lorem ipsum dolor sit amet, consectetuer ...</Description>
        <RockBottomPrice>999.99</RockBottomPrice>
        <RockBottomPriceDescription>
          Ut gravida rutrum turpis.
        </RockBottomPriceDescription>
        <Content>...</Content>
        <ShowDate>2007-11-07T00:00:00</ShowDate>
        <HideDate>2008-11-07T00:00:00</HideDate>
        <Visible>0</Visible>
        <DisplayOrder>50</DisplayOrder>
        <User>75C456A7-0E48-4DF3-BD52-5FB14CCEA488</User>
        <TravelAgent>F97E44D4-DB3A-468B-B328-A1989EE2E7A3</TravelAgent>
        <BookingEmail>lorem@ipsum.test</BookingEmail>
        <SendEmail>1</SendEmail>
        <InternalCode>Lorem</InternalCode>
        <ExternalOperator>Lorem ipsum</ExternalOperator>
        <ExternalOperatorCode>LOR</ExternalOperatorCode>
        <ExternalCode>Ipsum</ExternalCode>
        <Annotation>Test</Annotation>
        <ImageSmall>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAM...</ImageSmall>
        <ImageType>jpeg</ImageType>
        <ImageUrl>http://travity.de/images.asp?cate...</ImageUrl>
        <ImageLarge>/9j/4AAQSkZJRgABAQAAAQABAAD/2w...</ImageLarge>
        <ImageTypeLarge>jpeg</ImageTypeLarge>
        <ImageLargeUrl>http://travity.de/isapi/images.dll/get...</ImageLargeUrl>
        <Created>2007-11-07T18:46:44</Created>
        <VisitCount>0</VisitCount>
      </Travel>
    </Travels>
  + ...
  </Travity>

Images Base64 oder Url

Der Knoten Image kann zwei Varianten enthalten. Import per URL oder BASE64.

Der Image Knoten enthält entweder ein Image in BASE64 Encoding oder einige Attribute und Unterknoten unter anderem ImageUrl oder ImageID. Das Bild kann dann von der URL eingelesen werden, oder es befindet sich im /Travity/Images Knoten unter der ImageID abgelegt. Die Attribute im Image Knoten geben Informationen über die Größe und Verarbeitung die das Bild noch erhalten muss.

Width und Height sind feste Angaben, unter Action wir mit CenterSquareResize beschrieben, daß das Bild zentriert, quadriert und größenangepasst werden soll. Image muss 100x100px sein, ImageLarge 200x200px.

<!-- Import per URL /-->
<ImageSmall Width="100" Height="100" Action="CenterSquareResize">
  <ImageID>peru.jpg</ImageID>
  <ImageUrl>http://www.domain.de/image/peru.jpg</ImageUrl>
</ImageSmall>
<ImageLarge Width="200" Height="200" Action="CenterSquareResize">
  <ImageID>peru.jpg</ImageID>
  <ImageUrl>http://www.domain.de/image/peru.jpg</ImageUrl>
</ImageLarge>

<!-- Import per BASE64 /-->
<Image>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAM...</Image>
<ImageType>jpeg</ImageType>
<ImageUrl>http://travity.de/images.asp?category=tra...</ImageUrl>
<ImageLarge>/9j/4AAQSkZJRgABAQAAAQABAAD/2w...</ImageLarge>
<ImageTypeLarge>jpeg</ImageTypeLarge>
<ImageLargeUrl>http://travity.de/images.asp?ca...</ImageLargeUrl>

ShowDate und HideDate

Alle Dates sollten möglichst im einheitlichen ISO 8601 Standard übergeben werden. (yyyy-mm-ddThh:mm:ss.mmm) Alternativ kann mit + oder - eine Anzahl von Tagen ab Heute bzw. ab StartDate oder ShowDate eingegeben werden. +366 bedeute dann 366 Tage ab Heute bzw. bei HideDate/EndDate dann 366 Tage ab ShowDate/StartDate.

<!-- DIN ISO 8601 /-->
<ShowDate>2007-11-07T00:00:00</ShowDate>
<HideDate>2008-10-31T00:00:00</HideDate>

<!-- Tage ab Heute /-->
<ShowDate>+0</ShowDate>
<HideDate>+366</HideDate>

<!-- Konvertierungen nach Liste /-->
<ShowDate Convert="114">07.11.2007</ShowDate>
<HideDate Convert="104">31.10.08</HideDate>

Content oder Blocks

Im Knoten Content und Blocks wird der Inhalt der Reise beschrieben.

<!-- Content - HTML Code aus dem Export/-->
- <Content>

<!-- Content - Text und HTML Code in Blöcken/-->
- <Blocks>
  - <Block>
    + <Header>
    + <Content>
    + <Image>
    + <RawBlock>
    </Block>
  </Blocks>

Der Knoten Content enthält fertig formatierten HTML Code der von unserem Exporter ausgegeben wird. Dieser kann komplett wieder Reimportiert werden.

Content

<Content>
  &lt;p class=&quot;h1&quot;&gt;
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  &lt;/p&gt;

  &lt;p class=&quot;summary&quot;&gt;
    Curabitur vehicula tincidunt arcu. Nulla varius ligula ac sapien. Fusce tellus mi,
    dictum at, ullamcorper sit amet, pharetra nec, metus. Vestibulum nec sem ac elit

    [...]

    odio vel sapien. Mauris in odio. Ut turpis ligula, accumsan sit amet, euismod vel,
    condimentum in, tellus.
  &lt;/p&gt;
</Content>

Blocks

<Blocks>
- <Block>
    <Header class="h1">Die Wiege Südamerikas</Header>
    <Content class="Zusammenfassung">Während dieser Rundreise erleben Sie die
      kulturellen Höhepunkte Perús in Kombination mit den eindrucksvollen ...
    </Content>
  </Block>
- <Block>
    <Header class="h2">Reiseverlauf</Header>
  - <Image Align="Center" MaxWidth="500" ZoomImage="1">
      <ImageUrl>http://www.domain.de/images/karte.jpg</ImageUrl>
    </Image>
  </Block>
- <Block>
  <Header class="h3">1. Tag, So.: Deutschland - Lima</Header>
  <Content>Linienflug mit Iberia von Deutschland über Madrid nach Lima.
    Ankunft am späten Abend und Transfer zu Ihrem Hotel im Stadtteil Miraflores.
  </Content>
- <Image Align="Right" MaxWidth="300" ZoomImage="1">
  <ImageUrl>http://www.domain.de/images/peru.jpg</ImageUrl>
  </Image>
  </Block>
+ <Block>
+ <Block>
+ <Block>
+ <Block>
- <Block>
  <Header class="h2">Preise</Header>
  <Content>Kleingruppe: Durchführung ab 2 Personen</Content>
  <RawBlock>TESTIMPORT</RawBlock>
  </Block>
</Blocks>

Struckturübersicht XML Import & Export