<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/xsl/generic.xsl"?>
<root>
  <meta>
    <protocol>http</protocol>
    <domain>resihop.nu</domain>
    <base>/</base>
    <path>api</path>
    <action>index</action>
    <controller>generic</controller>
    <url_params/>
    <url_params/>
    <version>2.0</version>
    <current_timestamp>1369545432</current_timestamp>
  </meta>
  <content>
    <page id="2">
      <name>API</name>
      <URI>api</URI>
      <type id="6" template_field_id="1">
        <name>page_api</name>
        <description>API text page</description>
        <contents>
          <content id="6">
            <raw>## Summering

### http://resihop.nu/search (synonym med http://resihop.nu)
Parametrar (en eller flera går att utelämna):

* from - adress
* to - adress
* when - ISO-standard (YYYY-MM-DD)
* got_car - 1 = söker någon som har bil, 0 = söker någon som inte har bil (behöver skjuts)


### http://resihop.nu/addtrip
Parametrar:

* from - adress
* to - adress
* when - ISO-standard (YYYY-MM-DD)
* got_car - 1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts
* name
* email - Ange en giltig för att kunna återfå koden om den tappas bort
* phone
* details

### http://resihop.nu/edittrip
Parametrar:

* code - Den unika kod som autencierar förändringar i resan
* from - adress
* to - adress
* when - ISO-standard (YYYY-MM-DD)
* got_car - 1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts
* name
* email - Ange en giltig för att kunna återfå koden om den tappas bort
* phone
* details

### http://resihop.nu/sendcode
Parameter:

* email - Den email som ska få sin(a) kod(er) skickad

### Utvecklingsgränssnitt
Vill du bara prova på API:et, så använd domänen dev.resihop.nu. Där behöver du inte vara rädd för att lägga in slaskdata; vi rensar löpande.

## Full dokumentation - Index

### &lt;a href="/api/#grundlaggande_principer"&gt;Grundläggande principer&lt;/a&gt;
* &lt;a href="/api/#vad_ar_ett_api"&gt;Vad är ett API?&lt;/a&gt;
* &lt;a href="/api/#http_anrop"&gt;Http-anrop&lt;/a&gt;
* &lt;a href="/api/#url"&gt;URL&lt;/a&gt;
* &lt;a href="/api/#parametrar"&gt;Parametrar&lt;/a&gt;
* &lt;a href="/api/#xml"&gt;XML&lt;/a&gt;
### &lt;a href="/api/#resihops_teknologi"&gt;Resihops teknologi&lt;/a&gt;
* &lt;a href="/api/#forkunskapskrav"&gt;Förkunskapskrav&lt;/a&gt;
* &lt;a href="/api/#om_resihop"&gt;Om resihop&lt;/a&gt;
* &lt;a href="/api/#generellt_om_apiet"&gt;Generellt om API:et&lt;/a&gt;
* &lt;a href="/api/#var_implementation_av_apiet"&gt;Vår implementation av API:et&lt;/a&gt;
* &lt;a href="/api/#testmiljo"&gt;Testmiljö&lt;/a&gt;
* &lt;a href="/api/#funktionerna"&gt;Funktionerna&lt;/a&gt;
* &lt;a href="/api/#ett_exempel"&gt;Ett exempel&lt;/a&gt;
### &lt;a href="/api/#kodex"&gt;Kodex/ordlista&lt;/a&gt;
* &lt;a href="/api/#nodtradet"&gt;Nodträdet&lt;/a&gt;
* &lt;a href="/api/#meta"&gt;Meta&lt;/a&gt;
* &lt;a href="/api/#sok"&gt;Sök&lt;/a&gt;
* &lt;a href="/api/#spara_resa"&gt;Spara resa&lt;/a&gt;
* &lt;a href="/api/#redigera_och_ta_bort_resa"&gt;Redigera och ta bort resa&lt;/a&gt;
* &lt;a href="/api/#glomt_koden"&gt;Glömt koden&lt;/a&gt;

## &lt;a name="grundlaggande_principer"&gt;Grundläggande principer&lt;/a&gt;
### &lt;a name="vad_ar_ett_api"&gt;Vad är ett API?&lt;/a&gt;
Api står för "Application programming interface", dvs ett sätt för andra program och system kommer åt vår information (till exempel vilka resor som finns på resihop.nu) och våra funktioner (som sökning och sparning av resor).

### &lt;a name="http_anrop"&gt;Http-anrop&lt;/a&gt;
Utan att veta om det gör du säkert flera hundra http-anrop om dagen. Ett http-anrop görs till exempel när du besöker en hemsida. Om du skriver [http://resihop.nu/](http://resihop.nu/) i din webbläsare, så anropas sidan med hjälp av protokollet [http](http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) och som svar får du vår startsida!

### &lt;a name="url"&gt;URL&lt;/a&gt;
URL står för Uniform Resource Locator, och är adressen som berättar vilket http-anrop som ska göras. http://resihop.nu/ är tillexempel en URL.

### &lt;a name="parametrar"&gt;Parametrar&lt;/a&gt;
En URL kan innehålla parametrar. De krokas på i slutet av adressen med ett frågetecken, till exempel innehåller

    http://resihop.nu/search?from=stockholm

parametern from och parameterns värde är "stockholm". Ifall man vill skicka med flera parametrar så gör man det med hjälp av ett &amp;-tecken. Den här adressen innehåller två parametrar:     

    http://resihop.nu/search?from=stockholm&amp;to=göteborg.

### &lt;a name="xml"&gt;XML&lt;/a&gt;
XML är ett dataformat. All interaktion med resihop.nu får svar i form av XML-filer. Det är viktigt att ha en viss förståelse för XML om man ska använda resihop.nu:s API.

## &lt;a name="om_resihops_teknologi"&gt;Om resihops teknologi&lt;/a&gt;

### &lt;a name="forkonskapskrav"&gt;Förkunskapskrav&lt;/a&gt;
* XML-konvertering
* Förståelse för http
* Något att konvertera xml med, t.ex. xslt, ruby, php eller något Content-management-system som kan importera xml.
* Om du inte känner till de här begreppen kan du läsa lite om grunderna här.


### &lt;a name="om_resihop"&gt;Om resihop&lt;/a&gt;
Resihop är en teknisk plattform för att hitta och dela med sig av tomma bilplatser för att spara på miljön och plånboken. Det finns väldigt många system och hemsidor för samåkning, vi försöker bidra med att samla alla de resor som finns där ute och dessutom göra dem lättare att söka bland med hjälp av vår platsmedvetna sökmotor.

Hela vår sida och all funktionalitet är byggt med vårt eget API. Ni kan alltså bygga minst lika bra saker som vi har byggt! Hör gärna av er till oss om ni har några frågor eller funderingar.


### &lt;a name="generellt_om_apier"&gt;Generellt om API:et&lt;/a&gt;
Det finns 4 funktioner i API:et. De anropas med hjälp av http. Alla anrop besvaras med en xml-fil. För att interagera med vårt system måste varje http-anrop också få med parametrar.


### &lt;a name="var_implementation_av_apiet"&gt;Vår implementation av API:et&lt;/a&gt;
Vi har valt att använda xslt för att modifiera xml-koden för resihop. Om du på någon sida på resihop.nu, väljer att visa källan, kommer du därför att se xml-koden som API:et skickar ut.


### &lt;a name="testmiljo"&gt;Testmiljö&lt;/a&gt;
Vi har en testversion av API:et med en separat databas på dev.resihop.nu. Använd den för att testa din integrering, så inte felaktiga resor sparas i live-versionen av siten. Du kommer åt testmiljön gör du genom att lägga till ”dev.” i alla http-anrops. OBS! Spara ingen viktig information på dev.resihop.nu, den kan försvinna när som helst.


### &lt;a name="funktionerna"&gt;Funktionerna&lt;/a&gt;

#### Sök
Vår sökmotor vet var alla platser är. Det gör att vi kan göra smarta sökningar, där resihop förstår vilka städer och adresser som ligger nära varandra. Letar du tillexempel efter en resa mellan Uppsala och Göteborg, får du också förslag på resor från Stockholm och Göteborg. Sökmotorn har platser i hela världen och är inte begränsad till Sverige.

Läs mer sökmotorn och hur den fungerar i kodexen.


#### Spara resa
Att spara resor är enkelt. Det krävs ingen inloggning eller autenciering. När man sparar en resa får man tillbaka en kod som sen kan användas för att redigera resan.

Läs mer om spara-resa-funktionen och hur den fungerar i kodexen.

#### Redigera och ta bort resa
Att redigera en resa görs på ungefär samma sätt som man sparar en resa, med skillnaden att man också skickar med en kod som en parameter.

Läs mer om redigera-resa-funktionen och hur den fungerar i &lt;a href="/api/#kodex"&gt;kodexen&lt;/a&gt;.


#### Glömt koden
När man sparar en resa får man en kod som kan användas för att redigera resan senare. Om man glömt en kod kan man skicka sin E-post adress till resihop. Då skickar resihop ut koden för alla resor kopplade till den E-post-adressen.

Läs mer om glömt-koden-funktionen och hur den fungerar i kodexen.


### &lt;a name="ett_exempel"&gt;Ett exempel&lt;/a&gt;
Om du gör http-anropet http://resihop.nu/search?to=stockholm&amp;amp;from=lund får du som svar något i stil med:

    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;?xml-stylesheet type="text/xsl" href="/xsl/search.xsl"?&gt;
    &lt;root&gt;
      &lt;meta&gt;
        &lt;protocol&gt;http&lt;/protocol&gt;
        &lt;domain&gt;resihop.nu&lt;/domain&gt;
        &lt;base&gt;/&lt;/base&gt;
        &lt;path&gt;search&lt;/path&gt;
        &lt;action&gt;index&lt;/action&gt;
        &lt;controller&gt;search&lt;/controller&gt;
        &lt;url_params&gt;
          &lt;from&gt;lund&lt;/from&gt;
          &lt;to&gt;stockholm&lt;/to&gt;
          &lt;when&gt;&lt;/when&gt;
          &lt;got_car&gt;0&lt;/got_car&gt;
        &lt;/url_params&gt;
        &lt;version&gt;2.0&lt;/version&gt;
        &lt;errors&gt;
          &lt;error&gt;
            &lt;message&gt;Invalid format&lt;/message&gt;
            &lt;data&gt;
              &lt;param&gt;when&lt;/param&gt;
            &lt;/data&gt;
          &lt;/error&gt;
        &lt;/errors&gt;
      &lt;/meta&gt;
      &lt;content&gt;
        &lt;trips&gt;
          &lt;trip&gt;
            &lt;trip_id&gt;260&lt;/trip_id&gt;
            &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
            &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
            &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
            &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
            &lt;when&gt;1288216800&lt;/when&gt;
            &lt;got_car&gt;0&lt;/got_car&gt;
            &lt;details&gt;öakjf&lt;/details&gt;
            &lt;inserted&gt;1288103029&lt;/inserted&gt;
            &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
            &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
            &lt;phone&gt;0704649797&lt;/phone&gt;
            &lt;from&gt;Lund, Sweden&lt;/from&gt;
            &lt;to&gt;Stockholm, Sweden&lt;/to&gt;
            &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
          &lt;/trip&gt;
          &lt;trip&gt;
            &lt;trip_id&gt;274&lt;/trip_id&gt;
            &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
            &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
            &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
            &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
            &lt;when&gt;1288216800&lt;/when&gt;
            &lt;got_car&gt;0&lt;/got_car&gt;
            &lt;details&gt;öakjf&lt;/details&gt;
            &lt;inserted&gt;1288111539&lt;/inserted&gt;
            &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
            &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
            &lt;phone&gt;0704649797&lt;/phone&gt;
            &lt;from&gt;Lund, Sweden&lt;/from&gt;
            &lt;to&gt;Stockholm, Sweden&lt;/to&gt;
            &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
          &lt;/trip&gt;
        &lt;/trips&gt;
      &lt;/content&gt;
    &lt;/root&gt;

I vår kodex förklaras hur såväl parametrarna som noderna fungerar.


## &lt;a name="kodex"&gt;Kodex/Ordlista&lt;/a&gt;
I den här ordlistan beskrivs alla de noder, funktioner och meddelanden man får och kan skicka när man interagerar med resihops API.


### &lt;a name="nodtradet"&gt;Nodträdet&lt;/a&gt;
Nodträdet är indelat i meta och Content. Eftersom meta fungerar likadant i varje funktion, medan content varierar från funktion till funktion.  


### &lt;a name="meta"&gt;Meta&lt;/a&gt;

#### Xml-noder

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;th&gt;Nod&lt;/th&gt;
      &lt;th&gt;Förklaring&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Protocol&lt;/td&gt;
      &lt;td&gt;@lilleman&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Domain&lt;/td&gt;
      &lt;td&gt;Vilken domän http-anropet är gjort till&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Base&lt;/td&gt;
      &lt;td&gt;@lilleman&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Path&lt;/td&gt;
      &lt;td&gt;Vilken adress som pekar på xml-filen du nu läser. (@Lilleman?)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Action&lt;/td&gt;
      &lt;td&gt;@lilleman&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Controller&lt;/td&gt;
      &lt;td&gt;Vilken funktion som används, kan vara search, addtrip, edittrip och sendform&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Version&lt;/td&gt;
      &lt;td&gt;Vilken version av API:et du anropar.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Errors&lt;/td&gt;
      &lt;td&gt;Förälder-nod till error&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Error&lt;/td&gt;
      &lt;td&gt;Eventuella felmeddelanden på grund av felaktiga eller saknade parametrar. Varje funktion har olika felmeddelanden, därför tas felmeddelandena upp under respektive nod.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Message&lt;/td&gt;
      &lt;td&gt;Vilken typ av felmeddelande det är&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Data&lt;/td&gt;
      &lt;td&gt;Förälder-nod till parametrar i felmeddelandet&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Param&lt;/td&gt;
      &lt;td&gt;Vilken parameter felmeddelandet berör.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Option&lt;/td&gt;
      &lt;td&gt;Om vårt system inte förstår en adress du söker efter, föreslår den alternativ. Finns bara ett alternativ väljs det automatiskt.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

#### Exempel
I exemplet nedan syns metanoden från http-anropet:

    http://resihop.nu/search?to=stockholm&amp;amp;from=lund

kan vi se hur url-en är nerbrutet i olika xml-noder. Dessutom får vi information om att prametern ”when” inte har rätt format.

    &lt;meta&gt;
     &lt;protocol&gt;http&lt;/protocol&gt;
      &lt;domain&gt;resihop.nu&lt;/domain&gt;
      &lt;base&gt;/&lt;/base&gt;
      &lt;path&gt;search&lt;/path&gt;
      &lt;action&gt;index&lt;/action&gt;
      &lt;controller&gt;search&lt;/controller&gt;
      &lt;url_params&gt;
        &lt;from&gt;lund&lt;/from&gt;
        &lt;to&gt;stockholm&lt;/to&gt;
        &lt;when&gt;&lt;/when&gt;
        &lt;got_car&gt;0&lt;/got_car&gt;
      &lt;/url_params&gt;
      &lt;version&gt;2.0&lt;/version&gt;
      &lt;errors&gt;
        &lt;error&gt;
          &lt;message&gt;Invalid format&lt;/message&gt;
          &lt;data&gt;
            &lt;param&gt;when&lt;/param&gt;
          &lt;/data&gt;
        &lt;/error&gt;
      &lt;/errors&gt;
    &lt;/meta&gt;


### &lt;a name="sok"&gt;Sök&lt;/a&gt;
Vår sökmotor vet var alla platser är. Det gör att vi kan göra smarta sökningar, där resihop förstår vilka städer och adresser som ligger nära varandra. Letar du tillexempel efter en resa mellan Uppsala och Göteborg, får du också förslag på resor från Stockholm och Göteborg. Sökmotorn har platser i hela världen och är inte begränsad till Sverige.


#### HTTP-anrop
http://resihop.nu/search


#### Parametrar och felmeddelanden
Ingen av dessa parametrar är obligatoriska för att göra en sökning.

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Parameter&lt;/th&gt;
    &lt;th&gt;Felmeddelande&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Ankomstort för den sökning man vill göra&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Address is not unique&lt;/td&gt;
    &lt;td&gt;Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid address&lt;/td&gt;
    &lt;td&gt;Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid format&lt;/td&gt;
    &lt;td&gt;Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Must be a future timestamp&lt;/td&gt;
    &lt;td&gt;Det går inte att söka på datum som redan har varit.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;has_car&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Om man letar efter bilplats eller medresenärer. 1 om man har bilplats, 0 om man letar medresenärer.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Noder

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Nod&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;trips&lt;/td&gt;
    &lt;td&gt;Förälder till trip&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;trip&lt;/td&gt;
    &lt;td&gt;Varje trip-nod består av information om just den resan&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;trip_id&lt;/td&gt;
    &lt;td&gt;Varje trips unika id-nummer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker ifrån&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lat&lt;/td&gt;
    &lt;td&gt;Latituden man åker ifrån&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lat&lt;/td&gt;
    &lt;td&gt;Latituden man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when&lt;/td&gt;
    &lt;td&gt;När resan avgår, i UNIX timestamp&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;got_car&lt;/td&gt;
    &lt;td&gt;Huruvida annonsören har en bil eller söker en bilplats&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;details&lt;/td&gt;
    &lt;td&gt;Detaljer som annonsören har lagt till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;inserted&lt;/td&gt;
    &lt;td&gt;@lilleman&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email&lt;/td&gt;
    &lt;td&gt;Annonsörens E-post-adress&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;Adressen man åker från&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to&lt;/td&gt;
    &lt;td&gt;Adressen man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;phone&lt;/td&gt;
    &lt;td&gt;Telefonnummer angett av annonsören&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when_iso&lt;/td&gt;
    &lt;td&gt;När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Exempel
Om vi gör http-anropet

    http://resihop.nu/search?from=Stockholm, sweden&amp;amp;got_car=0
    
kan vi kan vi se att fältet when har fel format, eftersom det är tomt, men trots det får vi två sökresultat, ett från Gnesta och ett från Stockholm. Detta beror på att when inte är ett obligatoriskt fält.

    &lt;root&gt;
      &lt;content&gt;
        &lt;trips&gt;
          &lt;trip&gt;
            &lt;trip_id&gt;261&lt;/trip_id&gt;
            &lt;from_lon&gt;57.6970&lt;/from_lon&gt;
            &lt;from_lat&gt;11.9865&lt;/from_lat&gt;
            &lt;to_lon&gt;58.3912&lt;/to_lon&gt;
            &lt;to_lat&gt;13.8473&lt;/to_lat&gt;
            &lt;when&gt;1289084400&lt;/when&gt;
            &lt;got_car&gt;0&lt;/got_car&gt;
            &lt;details&gt;&lt;/details&gt;
            &lt;inserted&gt;1286882091&lt;/inserted&gt;
            &lt;name&gt;Filippa Levemark&lt;/name&gt;
            &lt;email&gt;filippa.levemark@gmail.com&lt;/email&gt;
            &lt;phone&gt;0702910528&lt;/phone&gt;
            &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
            &lt;to&gt;Skövde, Sweden&lt;/to&gt;
            &lt;when_iso&gt;2010-11-07 00:00&lt;/when_iso&gt;
          &lt;/trip&gt;
          &lt;trip&gt;
            &lt;trip_id&gt;259&lt;/trip_id&gt;
            &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
            &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
            &lt;to_lon&gt;55.6763&lt;/to_lon&gt;
            &lt;to_lat&gt;12.5681&lt;/to_lat&gt;
            &lt;when&gt;1289516400&lt;/when&gt;
            &lt;got_car&gt;0&lt;/got_car&gt;
            &lt;details&gt;Jag söker resa från Stockholm till Köpenhamn/ Malmö någon gång 10-12/11. Kan bidra med muntra samtal och bensinpeng.&lt;/details&gt;
            &lt;inserted&gt;1286451583&lt;/inserted&gt;
            &lt;name&gt;Elin Jonzon&lt;/name&gt;
            &lt;email&gt;e_jonzon@hotmail.com&lt;/email&gt;
            &lt;phone&gt;0704073504&lt;/phone&gt;
            &lt;from&gt;Gnesta, Sweden&lt;/from&gt;
            &lt;to&gt;Copenhagen, Denmark&lt;/to&gt;
            &lt;when_iso&gt;2010-11-12 00:00&lt;/when_iso&gt;
          &lt;/trip&gt;
        &lt;/trips&gt;
      &lt;/content&gt;
    &lt;/root&gt;
    
  
### &lt;a name="spara_resa"&gt;Spara resa&lt;/a&gt;
Att redigera en resa görs på ungefär samma sätt som man sparar en resa, med skillnaden att man också skickar med en kod som en parameter.


#### HTTP-anrop

    http://resihop.nu/addtrip
    
    
#### Parametrar och felmeddelanden
Parametrar med en asterix är obligatoriska.

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Parameter&lt;/th&gt;
    &lt;th&gt;Felmeddelande&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Ankomstort för den sökning man vill göra.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Address is not unique&lt;/td&gt;
    &lt;td&gt;Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid address&lt;/td&gt;
    &lt;td&gt;Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange en avreseort och en ankomstort&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid format&lt;/td&gt;
    &lt;td&gt;Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Must be a future timestamp&lt;/td&gt;
    &lt;td&gt;Det går inte att söka på datum som redan har varit.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett datum för resan.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;has_car*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange om du har bilplats eller söker en bilplats.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;name*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Annonsörens namn&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett namn&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Annonsörens e-post-adress. Det är hit koden skickas för påminnelse.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange en e-postadress&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Not valid email&lt;/td&gt;
    &lt;td&gt;Du måste ange en e-post-adress enligt korrekt format.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;phone*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett telefonnummer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid format&lt;/td&gt;
    &lt;td&gt;Telefonnummer får inte innehålla några bokstäver&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Details&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Detaljer om resan, tillexempel gällande rökning, hundar, packning, var man ska samlas. Hur mycket det kostar osv.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Noder

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Nod&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;new_trip&lt;/td&gt;
    &lt;td&gt;Förälder till den nyinlagda resan&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;trip_id&lt;/td&gt;
    &lt;td&gt;Den tillagda resans varje trips unika id-nummer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker ifrån&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lat&lt;/td&gt;
    &lt;td&gt;latituden man åker ifrån&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lat&lt;/td&gt;
    &lt;td&gt;Latituden man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when&lt;/td&gt;
    &lt;td&gt;När resan avgår, i UNIX timestamp&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;got_car&lt;/td&gt;
    &lt;td&gt;Huruvida annonsören har en bil eller söker en bilplats&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;details&lt;/td&gt;
    &lt;td&gt;Detaljer som annonsören har lagt till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;inserted&lt;/td&gt;
    &lt;td&gt;@lilleman&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email&lt;/td&gt;
    &lt;td&gt;Annonsörens e-post-adress&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;Adressen man åker från&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to&lt;/td&gt;
    &lt;td&gt;Adressen man åker till&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;phone&lt;/td&gt;
    &lt;td&gt;Telefonnummer angett av annonsören&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when_iso&lt;/td&gt;
    &lt;td&gt;När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;code&lt;/td&gt;
    &lt;td&gt;En unik kod för din resa som används i funktionerna edittrip och deletetrip&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Exempel
Om vi gör http-anropet

    http://resihop.nu/addtrip?from=stockholm&amp;amp;to=göteborg&amp;amp;when=2010-10-28&amp;amp;name=Kristoffer+Nolgren&amp;amp;email=kristoffer%40nolgren.se&amp;amp;phone=0704649797&amp;amp;details=Oavsett+hur+många+vi+blir+så+delar+vi+på+500+kronor+i+resekostnad.&amp;amp;got_car=0

Får vi mycket riktigt ett svar med alla detaljer för resan.

    &lt;root&gt;
      &lt;content&gt;
        &lt;new_trip&gt;
          &lt;trip_id&gt;270&lt;/trip_id&gt;
          &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
          &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
          &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
          &lt;to&gt;Gothenburg, Sweden&lt;/to&gt;
          &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
          &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
          &lt;when&gt;1288216800&lt;/when&gt;
          &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
          &lt;details&gt;Oavsett hur många vi blir så delar vi på 500 kronor i resekostnad.&lt;/details&gt;
          &lt;got_car&gt;0&lt;/got_car&gt;
          &lt;inserted&gt;1288191470&lt;/inserted&gt;
          &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
          &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
          &lt;phone&gt;0704649797&lt;/phone&gt;
          &lt;code&gt;CEAD5HEW29TC&lt;/code&gt;
        &lt;/new_trip&gt;
      &lt;/content&gt;
    &lt;/root&gt;


### &lt;a name="redigera_och_ta_bort_resa"&gt;Redigera och ta bort resa&lt;/a&gt;
Att spara resor är enkelt. Det krävs ingen inloggning eller autenciering. När man sparar en resa får man tillbaka en kod som sen kan användas för att redigera resan. För att ändra en resa, skicka med de parametrar du vill ändra, samt den unika koden för din resa. Tomma parametrar bevaras som de är. För att ta bort en resa, skicka parametern remove.


#### HTTP-anrop
http://resihop.nu/edittrip


#### Parametrar och felmeddelanden
Parametrar med en asterix är obligatoriska.

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Parameter&lt;/th&gt;
    &lt;th&gt;Felmeddelande&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;code*&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Den unika kod som autencierar förändringar i resan&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid&lt;/td&gt;
    &lt;td&gt;Koden du angett stämmer inte överens med någon resa.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Ankomstort för den sökning man vill göra.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Address is not unique&lt;/td&gt;
    &lt;td&gt;Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid address&lt;/td&gt;
    &lt;td&gt;Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange en avreseort och en ankomstort.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid format&lt;/td&gt;
    &lt;td&gt;Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Must be a future timestamp&lt;/td&gt;
    &lt;td&gt;Det går inte att söka på datum som redan har varit.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett datum för resan&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;has_car&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange om du har bilplats eller söker en bilplats.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;name&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Annonsörens namn&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett namn&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Annonsörens e-post-adress. Det är hit koden skickas för påminnelse.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;required&lt;/td&gt;
    &lt;td&gt;Du måste ange en e-postadress&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Not valid email&lt;/td&gt;
    &lt;td&gt;Du måste ange en e-post-adress enligt korrekt format.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;phone&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;required&lt;/td&gt;
    &lt;td&gt;Du måste ange ett telefonnummer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid format&lt;/td&gt;
    &lt;td&gt;Telefonnummer får inte innehålla några bokstäver&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;details&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Detaljer om resan, tillexempel gällande rökning, hundar, packning, var man ska samlas. Hur mycket det kostar osv.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Noder

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Nod&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;message&lt;/td&gt;
    &lt;td&gt;Ett meddelande om att datan är ändrad eller borttagen.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;new_trip&lt;/td&gt;
    &lt;td&gt;Förälder till den nyinlagda resan.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;trip_id&lt;/td&gt;
    &lt;td&gt;Den tillagda resans varje trips unika id-nummer.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker ifrån.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from_lat&lt;/td&gt;
    &lt;td&gt;Latituden man åker ifrån.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lon&lt;/td&gt;
    &lt;td&gt;Longituden man åker till.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to_lat&lt;/td&gt;
    &lt;td&gt;Latituden man åker till.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when&lt;/td&gt;
    &lt;td&gt;När resan avgår, i UNIX timestamp.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;got_car&lt;/td&gt;
    &lt;td&gt;Huruvida annonsören har en bil eller söker en bilplats.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;details&lt;/td&gt;
    &lt;td&gt;Detaljer som annonsören har lagt till.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;inserted&lt;/td&gt;
    &lt;td&gt;@lilleman&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email&lt;/td&gt;
    &lt;td&gt;Annonsörens e-post-adress.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;from&lt;/td&gt;
    &lt;td&gt;Adressen man åker från.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;to&lt;/td&gt;
    &lt;td&gt;Adressen man åker till.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;phone&lt;/td&gt;
    &lt;td&gt;Telefonnummer angett av annonsören.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;when_iso&lt;/td&gt;
    &lt;td&gt;När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;code&lt;/td&gt;
    &lt;td&gt;Den unika koden för din resa&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Exempel
Om vi gör http-anropet

    http://resihop.nu/edittrip?from=Stockholm,+Sverige&amp;amp;to=Göta+älv,+Sweden&amp;amp;when=2010-10-30+00:00&amp;amp;name=Kristoffer+Nolgren&amp;amp;email=kristoffer%40nolgren.se&amp;amp;phone=0704649797&amp;amp;details=tada!&amp;amp;got_car=1&amp;amp;code=924JZ23HR9RT

får vi mycket riktigt ett svar med alla detaljer för resan.

    &lt;root&gt;
      ...
      &lt;content&gt;
        &lt;message&gt;Data saved&lt;/message&gt;
        &lt;trip_data&gt;
          &lt;trip_id&gt;279&lt;/trip_id&gt;
          &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
          &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
          &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
          &lt;to&gt;Göta älv, Sweden&lt;/to&gt;
          &lt;to_lat&gt;12.1229&lt;/to_lat&gt;
          &lt;to_lon&gt;58.0267&lt;/to_lon&gt;
          &lt;when&gt;1288389600&lt;/when&gt;
          &lt;when_iso&gt;2010-10-30 00:00&lt;/when_iso&gt;
          &lt;details&gt;tada!&lt;/details&gt;
          &lt;got_car&gt;1&lt;/got_car&gt;
          &lt;inserted&gt;1288192097&lt;/inserted&gt;
          &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
          &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
          &lt;phone&gt;0704649797&lt;/phone&gt;
        &lt;/trip_data&gt;
      &lt;/content&gt;
    &lt;/root&gt;


Om vi däremot gör http-anropet

    http://resihop.nu/edittrip?remove&amp;amp;code=924JZ23HR9RT
    
får vi en content nod med innehållet:

    &lt;root&gt;
      ...
      &lt;content&gt;
        &lt;message&gt;Data saved&lt;/message&gt;
        &lt;trip_data&gt;
          &lt;trip_id&gt;279&lt;/trip_id&gt;
          &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
          &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
          &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
          &lt;to&gt;Göta älv, Sweden&lt;/to&gt;
          &lt;to_lat&gt;12.1229&lt;/to_lat&gt;
          &lt;to_lon&gt;58.0267&lt;/to_lon&gt;
          &lt;when&gt;1288389600&lt;/when&gt;
          &lt;when_iso&gt;2010-10-30 00:00&lt;/when_iso&gt;
          &lt;details&gt;tada!&lt;/details&gt;
          &lt;got_car&gt;1&lt;/got_car&gt;
          &lt;inserted&gt;1288192097&lt;/inserted&gt;
          &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
          &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
          &lt;phone&gt;0704649797&lt;/phone&gt;
        &lt;/trip_data&gt;
      &lt;/content&gt;
    &lt;/root&gt;


### &lt;a name="glomt_koden"&gt;Glömt koden&lt;/a&gt;
Om man glömt en kod kan man skicka sin e-post adress till resihop. Då skickar resihop ut koden för alla resor kopplade till den e-post-adressen.


#### HTTP-anrop

    http://resihop.nu/sendcode
    
    
#### Parametrar och felmeddelanden
Parametrar med en asterix är obligatoriska.

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Parameter&lt;/th&gt;
    &lt;th&gt;Felmeddelande&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;email&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Den unika kod som autencierar förändringar i resan.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Invalid&lt;/td&gt;
    &lt;td&gt;E-post-adressen du angivit är inte knuten till någon särskild resa.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Required&lt;/td&gt;
    &lt;td&gt;Du måste ange en e-postadress.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Noder

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Nod&lt;/th&gt;
    &lt;th&gt;Förklaring&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;message&lt;/td&gt;
    &lt;td&gt;Ett meddelande om att koden är skickad.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;


#### Exempel
Om vi gör http-anropet

    http://resihop.nu/sendcode?email=kristoffer@nolgren.se 
    
får vi ett meddelande om att koden är sänd

    &lt;root&gt;
      ...
      &lt;content&gt;
        &lt;message&gt;Code sent&lt;/message&gt;
      &lt;/content&gt;
    &lt;/root&gt;</raw>
            <html>
              <h2>Summering</h2>
              <h3>http://resihop.nu/search (synonym med http://resihop.nu)</h3>
              <p>Parametrar (en eller flera går att utelämna):</p>
              <ul>
                <li>from - adress</li>
                <li>to - adress</li>
                <li>when - ISO-standard (YYYY-MM-DD)</li>
                <li>got_car - 1 = söker någon som har bil, 0 = söker någon som inte har bil (behöver skjuts)</li>
              </ul>
              <h3>http://resihop.nu/addtrip</h3>
              <p>Parametrar:</p>
              <ul>
                <li>from - adress</li>
                <li>to - adress</li>
                <li>when - ISO-standard (YYYY-MM-DD)</li>
                <li>got_car - 1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts</li>
                <li>name</li>
                <li>email - Ange en giltig för att kunna återfå koden om den tappas bort</li>
                <li>phone</li>
                <li>details</li>
              </ul>
              <h3>http://resihop.nu/edittrip</h3>
              <p>Parametrar:</p>
              <ul>
                <li>code - Den unika kod som autencierar förändringar i resan</li>
                <li>from - adress</li>
                <li>to - adress</li>
                <li>when - ISO-standard (YYYY-MM-DD)</li>
                <li>got_car - 1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts</li>
                <li>name</li>
                <li>email - Ange en giltig för att kunna återfå koden om den tappas bort</li>
                <li>phone</li>
                <li>details</li>
              </ul>
              <h3>http://resihop.nu/sendcode</h3>
              <p>Parameter:</p>
              <ul>
                <li>email - Den email som ska få sin(a) kod(er) skickad</li>
              </ul>
              <h3>Utvecklingsgränssnitt</h3>
              <p>Vill du bara prova på API:et, så använd domänen dev.resihop.nu. Där behöver du inte vara rädd för att lägga in slaskdata; vi rensar löpande.</p>
              <h2>Full dokumentation - Index</h2>
              <h3>
                <a href="/api/#grundlaggande_principer">Grundläggande principer</a>
              </h3>
              <ul>
                <li>
                  <a href="/api/#vad_ar_ett_api">Vad är ett API?</a>
                </li>
                <li>
                  <a href="/api/#http_anrop">Http-anrop</a>
                </li>
                <li>
                  <a href="/api/#url">URL</a>
                </li>
                <li>
                  <a href="/api/#parametrar">Parametrar</a>
                </li>
                <li>
                  <a href="/api/#xml">XML</a>
                </li>
              </ul>
              <h3>
                <a href="/api/#resihops_teknologi">Resihops teknologi</a>
              </h3>
              <ul>
                <li>
                  <a href="/api/#forkunskapskrav">Förkunskapskrav</a>
                </li>
                <li>
                  <a href="/api/#om_resihop">Om resihop</a>
                </li>
                <li>
                  <a href="/api/#generellt_om_apiet">Generellt om API:et</a>
                </li>
                <li>
                  <a href="/api/#var_implementation_av_apiet">Vår implementation av API:et</a>
                </li>
                <li>
                  <a href="/api/#testmiljo">Testmiljö</a>
                </li>
                <li>
                  <a href="/api/#funktionerna">Funktionerna</a>
                </li>
                <li>
                  <a href="/api/#ett_exempel">Ett exempel</a>
                </li>
              </ul>
              <h3>
                <a href="/api/#kodex">Kodex/ordlista</a>
              </h3>
              <ul>
                <li>
                  <a href="/api/#nodtradet">Nodträdet</a>
                </li>
                <li>
                  <a href="/api/#meta">Meta</a>
                </li>
                <li>
                  <a href="/api/#sok">Sök</a>
                </li>
                <li>
                  <a href="/api/#spara_resa">Spara resa</a>
                </li>
                <li>
                  <a href="/api/#redigera_och_ta_bort_resa">Redigera och ta bort resa</a>
                </li>
                <li>
                  <a href="/api/#glomt_koden">Glömt koden</a>
                </li>
              </ul>
              <h2>
                <a name="grundlaggande_principer">Grundläggande principer</a>
              </h2>
              <h3>
                <a name="vad_ar_ett_api">Vad är ett API?</a>
              </h3>
              <p>Api står för "Application programming interface", dvs ett sätt för andra program och system kommer åt vår information (till exempel vilka resor som finns på resihop.nu) och våra funktioner (som sökning och sparning av resor).</p>
              <h3>
                <a name="http_anrop">Http-anrop</a>
              </h3>
              <p>Utan att veta om det gör du säkert flera hundra http-anrop om dagen. Ett http-anrop görs till exempel när du besöker en hemsida. Om du skriver <a href="http://resihop.nu/">http://resihop.nu/</a> i din webbläsare, så anropas sidan med hjälp av protokollet <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">http</a> och som svar får du vår startsida!</p>
              <h3>
                <a name="url">URL</a>
              </h3>
              <p>URL står för Uniform Resource Locator, och är adressen som berättar vilket http-anrop som ska göras. http://resihop.nu/ är tillexempel en URL.</p>
              <h3>
                <a name="parametrar">Parametrar</a>
              </h3>
              <p>En URL kan innehålla parametrar. De krokas på i slutet av adressen med ett frågetecken, till exempel innehåller</p>
              <code>
                <pre>http://resihop.nu/search?from=stockholm
</pre>
              </code>
              <p>parametern from och parameterns värde är "stockholm". Ifall man vill skicka med flera parametrar så gör man det med hjälp av ett &amp;-tecken. Den här adressen innehåller två parametrar:     </p>
              <code>
                <pre>http://resihop.nu/search?from=stockholm&amp;to=göteborg.
</pre>
              </code>
              <h3>
                <a name="xml">XML</a>
              </h3>
              <p>XML är ett dataformat. All interaktion med resihop.nu får svar i form av XML-filer. Det är viktigt att ha en viss förståelse för XML om man ska använda resihop.nu:s API.</p>
              <h2>
                <a name="om_resihops_teknologi">Om resihops teknologi</a>
              </h2>
              <h3>
                <a name="forkonskapskrav">Förkunskapskrav</a>
              </h3>
              <ul>
                <li>XML-konvertering</li>
                <li>Förståelse för http</li>
                <li>Något att konvertera xml med, t.ex. xslt, ruby, php eller något Content-management-system som kan importera xml.</li>
                <li>Om du inte känner till de här begreppen kan du läsa lite om grunderna här.</li>
              </ul>
              <h3>
                <a name="om_resihop">Om resihop</a>
              </h3>
              <p>Resihop är en teknisk plattform för att hitta och dela med sig av tomma bilplatser för att spara på miljön och plånboken. Det finns väldigt många system och hemsidor för samåkning, vi försöker bidra med att samla alla de resor som finns där ute och dessutom göra dem lättare att söka bland med hjälp av vår platsmedvetna sökmotor.</p>
              <p>Hela vår sida och all funktionalitet är byggt med vårt eget API. Ni kan alltså bygga minst lika bra saker som vi har byggt! Hör gärna av er till oss om ni har några frågor eller funderingar.</p>
              <h3>
                <a name="generellt_om_apier">Generellt om API:et</a>
              </h3>
              <p>Det finns 4 funktioner i API:et. De anropas med hjälp av http. Alla anrop besvaras med en xml-fil. För att interagera med vårt system måste varje http-anrop också få med parametrar.</p>
              <h3>
                <a name="var_implementation_av_apiet">Vår implementation av API:et</a>
              </h3>
              <p>Vi har valt att använda xslt för att modifiera xml-koden för resihop. Om du på någon sida på resihop.nu, väljer att visa källan, kommer du därför att se xml-koden som API:et skickar ut.</p>
              <h3>
                <a name="testmiljo">Testmiljö</a>
              </h3>
              <p>Vi har en testversion av API:et med en separat databas på dev.resihop.nu. Använd den för att testa din integrering, så inte felaktiga resor sparas i live-versionen av siten. Du kommer åt testmiljön gör du genom att lägga till ”dev.” i alla http-anrops. OBS! Spara ingen viktig information på dev.resihop.nu, den kan försvinna när som helst.</p>
              <h3>
                <a name="funktionerna">Funktionerna</a>
              </h3>
              <h4>Sök</h4>
              <p>Vår sökmotor vet var alla platser är. Det gör att vi kan göra smarta sökningar, där resihop förstår vilka städer och adresser som ligger nära varandra. Letar du tillexempel efter en resa mellan Uppsala och Göteborg, får du också förslag på resor från Stockholm och Göteborg. Sökmotorn har platser i hela världen och är inte begränsad till Sverige.</p>
              <p>Läs mer sökmotorn och hur den fungerar i kodexen.</p>
              <h4>Spara resa</h4>
              <p>Att spara resor är enkelt. Det krävs ingen inloggning eller autenciering. När man sparar en resa får man tillbaka en kod som sen kan användas för att redigera resan.</p>
              <p>Läs mer om spara-resa-funktionen och hur den fungerar i kodexen.</p>
              <h4>Redigera och ta bort resa</h4>
              <p>Att redigera en resa görs på ungefär samma sätt som man sparar en resa, med skillnaden att man också skickar med en kod som en parameter.</p>
              <p>Läs mer om redigera-resa-funktionen och hur den fungerar i <a href="/api/#kodex">kodexen</a>.</p>
              <h4>Glömt koden</h4>
              <p>När man sparar en resa får man en kod som kan användas för att redigera resan senare. Om man glömt en kod kan man skicka sin E-post adress till resihop. Då skickar resihop ut koden för alla resor kopplade till den E-post-adressen.</p>
              <p>Läs mer om glömt-koden-funktionen och hur den fungerar i kodexen.</p>
              <h3>
                <a name="ett_exempel">Ett exempel</a>
              </h3>
              <p>Om du gör http-anropet http://resihop.nu/search?to=stockholm&amp;from=lund får du som svar något i stil med:</p>
              <code>
                <pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;?xml-stylesheet type="text/xsl" href="/xsl/search.xsl"?&gt;
&lt;root&gt;
  &lt;meta&gt;
    &lt;protocol&gt;http&lt;/protocol&gt;
    &lt;domain&gt;resihop.nu&lt;/domain&gt;
    &lt;base&gt;/&lt;/base&gt;
    &lt;path&gt;search&lt;/path&gt;
    &lt;action&gt;index&lt;/action&gt;
    &lt;controller&gt;search&lt;/controller&gt;
    &lt;url_params&gt;
      &lt;from&gt;lund&lt;/from&gt;
      &lt;to&gt;stockholm&lt;/to&gt;
      &lt;when&gt;&lt;/when&gt;
      &lt;got_car&gt;0&lt;/got_car&gt;
    &lt;/url_params&gt;
    &lt;version&gt;2.0&lt;/version&gt;
    &lt;errors&gt;
      &lt;error&gt;
        &lt;message&gt;Invalid format&lt;/message&gt;
        &lt;data&gt;
          &lt;param&gt;when&lt;/param&gt;
        &lt;/data&gt;
      &lt;/error&gt;
    &lt;/errors&gt;
  &lt;/meta&gt;
  &lt;content&gt;
    &lt;trips&gt;
      &lt;trip&gt;
        &lt;trip_id&gt;260&lt;/trip_id&gt;
        &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
        &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
        &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
        &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
        &lt;when&gt;1288216800&lt;/when&gt;
        &lt;got_car&gt;0&lt;/got_car&gt;
        &lt;details&gt;öakjf&lt;/details&gt;
        &lt;inserted&gt;1288103029&lt;/inserted&gt;
        &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
        &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
        &lt;phone&gt;0704649797&lt;/phone&gt;
        &lt;from&gt;Lund, Sweden&lt;/from&gt;
        &lt;to&gt;Stockholm, Sweden&lt;/to&gt;
        &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
      &lt;/trip&gt;
      &lt;trip&gt;
        &lt;trip_id&gt;274&lt;/trip_id&gt;
        &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
        &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
        &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
        &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
        &lt;when&gt;1288216800&lt;/when&gt;
        &lt;got_car&gt;0&lt;/got_car&gt;
        &lt;details&gt;öakjf&lt;/details&gt;
        &lt;inserted&gt;1288111539&lt;/inserted&gt;
        &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
        &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
        &lt;phone&gt;0704649797&lt;/phone&gt;
        &lt;from&gt;Lund, Sweden&lt;/from&gt;
        &lt;to&gt;Stockholm, Sweden&lt;/to&gt;
        &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
      &lt;/trip&gt;
    &lt;/trips&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
              <p>I vår kodex förklaras hur såväl parametrarna som noderna fungerar.</p>
              <h2>
                <a name="kodex">Kodex/Ordlista</a>
              </h2>
              <p>I den här ordlistan beskrivs alla de noder, funktioner och meddelanden man får och kan skicka när man interagerar med resihops API.</p>
              <h3>
                <a name="nodtradet">Nodträdet</a>
              </h3>
              <p>Nodträdet är indelat i meta och Content. Eftersom meta fungerar likadant i varje funktion, medan content varierar från funktion till funktion.  </p>
              <h3>
                <a name="meta">Meta</a>
              </h3>
              <h4>Xml-noder</h4>
              <table>
                <tbody>
                  <tr>
                    <th>Nod</th>
                    <th>Förklaring</th>
                  </tr>
                  <tr>
                    <td>Protocol</td>
                    <td>@lilleman</td>
                  </tr>
                  <tr>
                    <td>Domain</td>
                    <td>Vilken domän http-anropet är gjort till</td>
                  </tr>
                  <tr>
                    <td>Base</td>
                    <td>@lilleman</td>
                  </tr>
                  <tr>
                    <td>Path</td>
                    <td>Vilken adress som pekar på xml-filen du nu läser. (@Lilleman?)</td>
                  </tr>
                  <tr>
                    <td>Action</td>
                    <td>@lilleman</td>
                  </tr>
                  <tr>
                    <td>Controller</td>
                    <td>Vilken funktion som används, kan vara search, addtrip, edittrip och sendform</td>
                  </tr>
                  <tr>
                    <td>Version</td>
                    <td>Vilken version av API:et du anropar.</td>
                  </tr>
                  <tr>
                    <td>Errors</td>
                    <td>Förälder-nod till error</td>
                  </tr>
                  <tr>
                    <td>Error</td>
                    <td>Eventuella felmeddelanden på grund av felaktiga eller saknade parametrar. Varje funktion har olika felmeddelanden, därför tas felmeddelandena upp under respektive nod.</td>
                  </tr>
                  <tr>
                    <td>Message</td>
                    <td>Vilken typ av felmeddelande det är</td>
                  </tr>
                  <tr>
                    <td>Data</td>
                    <td>Förälder-nod till parametrar i felmeddelandet</td>
                  </tr>
                  <tr>
                    <td>Param</td>
                    <td>Vilken parameter felmeddelandet berör.</td>
                  </tr>
                  <tr>
                    <td>Option</td>
                    <td>Om vårt system inte förstår en adress du söker efter, föreslår den alternativ. Finns bara ett alternativ väljs det automatiskt.</td>
                  </tr>
                </tbody>
              </table>
              <h4>Exempel</h4>
              <p>I exemplet nedan syns metanoden från http-anropet:</p>
              <code>
                <pre>http://resihop.nu/search?to=stockholm&amp;amp;from=lund
</pre>
              </code>
              <p>kan vi se hur url-en är nerbrutet i olika xml-noder. Dessutom får vi information om att prametern ”when” inte har rätt format.</p>
              <code>
                <pre>&lt;meta&gt;
 &lt;protocol&gt;http&lt;/protocol&gt;
  &lt;domain&gt;resihop.nu&lt;/domain&gt;
  &lt;base&gt;/&lt;/base&gt;
  &lt;path&gt;search&lt;/path&gt;
  &lt;action&gt;index&lt;/action&gt;
  &lt;controller&gt;search&lt;/controller&gt;
  &lt;url_params&gt;
    &lt;from&gt;lund&lt;/from&gt;
    &lt;to&gt;stockholm&lt;/to&gt;
    &lt;when&gt;&lt;/when&gt;
    &lt;got_car&gt;0&lt;/got_car&gt;
  &lt;/url_params&gt;
  &lt;version&gt;2.0&lt;/version&gt;
  &lt;errors&gt;
    &lt;error&gt;
      &lt;message&gt;Invalid format&lt;/message&gt;
      &lt;data&gt;
        &lt;param&gt;when&lt;/param&gt;
      &lt;/data&gt;
    &lt;/error&gt;
  &lt;/errors&gt;
&lt;/meta&gt;
</pre>
              </code>
              <h3>
                <a name="sok">Sök</a>
              </h3>
              <p>Vår sökmotor vet var alla platser är. Det gör att vi kan göra smarta sökningar, där resihop förstår vilka städer och adresser som ligger nära varandra. Letar du tillexempel efter en resa mellan Uppsala och Göteborg, får du också förslag på resor från Stockholm och Göteborg. Sökmotorn har platser i hela världen och är inte begränsad till Sverige.</p>
              <h4>HTTP-anrop</h4>
              <p>http://resihop.nu/search</p>
              <h4>Parametrar och felmeddelanden</h4>
              <p>Ingen av dessa parametrar är obligatoriska för att göra en sökning.</p>
              <table>
                <tr>
                  <th>Parameter</th>
                  <th>Felmeddelande</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>from</td>
                  <td/>
                  <td>Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.</td>
                </tr>
                <tr>
                  <td>to</td>
                  <td/>
                  <td>Ankomstort för den sökning man vill göra</td>
                </tr>
                <tr>
                  <td/>
                  <td>Address is not unique</td>
                  <td>Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid address</td>
                  <td>Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.</td>
                </tr>
                <tr>
                  <td>when</td>
                  <td/>
                  <td>Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid format</td>
                  <td>Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM</td>
                </tr>
                <tr>
                  <td/>
                  <td>Must be a future timestamp</td>
                  <td>Det går inte att söka på datum som redan har varit.</td>
                </tr>
                <tr>
                  <td>has_car</td>
                  <td/>
                  <td>Om man letar efter bilplats eller medresenärer. 1 om man har bilplats, 0 om man letar medresenärer.</td>
                </tr>
              </table>
              <h4>Noder</h4>
              <table>
                <tr>
                  <th>Nod</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>trips</td>
                  <td>Förälder till trip</td>
                </tr>
                <tr>
                  <td>trip</td>
                  <td>Varje trip-nod består av information om just den resan</td>
                </tr>
                <tr>
                  <td>trip_id</td>
                  <td>Varje trips unika id-nummer</td>
                </tr>
                <tr>
                  <td>from_lon</td>
                  <td>Longituden man åker ifrån</td>
                </tr>
                <tr>
                  <td>from_lat</td>
                  <td>Latituden man åker ifrån</td>
                </tr>
                <tr>
                  <td>to_lon</td>
                  <td>Longituden man åker till</td>
                </tr>
                <tr>
                  <td>to_lat</td>
                  <td>Latituden man åker till</td>
                </tr>
                <tr>
                  <td>when</td>
                  <td>När resan avgår, i UNIX timestamp</td>
                </tr>
                <tr>
                  <td>got_car</td>
                  <td>Huruvida annonsören har en bil eller söker en bilplats</td>
                </tr>
                <tr>
                  <td>details</td>
                  <td>Detaljer som annonsören har lagt till</td>
                </tr>
                <tr>
                  <td>inserted</td>
                  <td>@lilleman</td>
                </tr>
                <tr>
                  <td>email</td>
                  <td>Annonsörens E-post-adress</td>
                </tr>
                <tr>
                  <td>from</td>
                  <td>Adressen man åker från</td>
                </tr>
                <tr>
                  <td>to</td>
                  <td>Adressen man åker till</td>
                </tr>
                <tr>
                  <td>phone</td>
                  <td>Telefonnummer angett av annonsören</td>
                </tr>
                <tr>
                  <td>when_iso</td>
                  <td>När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.</td>
                </tr>
              </table>
              <h4>Exempel</h4>
              <p>Om vi gör http-anropet</p>
              <code>
                <pre>http://resihop.nu/search?from=Stockholm, sweden&amp;amp;got_car=0
</pre>
              </code>
              <p>kan vi kan vi se att fältet when har fel format, eftersom det är tomt, men trots det får vi två sökresultat, ett från Gnesta och ett från Stockholm. Detta beror på att when inte är ett obligatoriskt fält.</p>
              <code>
                <pre>&lt;root&gt;
  &lt;content&gt;
    &lt;trips&gt;
      &lt;trip&gt;
        &lt;trip_id&gt;261&lt;/trip_id&gt;
        &lt;from_lon&gt;57.6970&lt;/from_lon&gt;
        &lt;from_lat&gt;11.9865&lt;/from_lat&gt;
        &lt;to_lon&gt;58.3912&lt;/to_lon&gt;
        &lt;to_lat&gt;13.8473&lt;/to_lat&gt;
        &lt;when&gt;1289084400&lt;/when&gt;
        &lt;got_car&gt;0&lt;/got_car&gt;
        &lt;details&gt;&lt;/details&gt;
        &lt;inserted&gt;1286882091&lt;/inserted&gt;
        &lt;name&gt;Filippa Levemark&lt;/name&gt;
        &lt;email&gt;filippa.levemark@gmail.com&lt;/email&gt;
        &lt;phone&gt;0702910528&lt;/phone&gt;
        &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
        &lt;to&gt;Skövde, Sweden&lt;/to&gt;
        &lt;when_iso&gt;2010-11-07 00:00&lt;/when_iso&gt;
      &lt;/trip&gt;
      &lt;trip&gt;
        &lt;trip_id&gt;259&lt;/trip_id&gt;
        &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
        &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
        &lt;to_lon&gt;55.6763&lt;/to_lon&gt;
        &lt;to_lat&gt;12.5681&lt;/to_lat&gt;
        &lt;when&gt;1289516400&lt;/when&gt;
        &lt;got_car&gt;0&lt;/got_car&gt;
        &lt;details&gt;Jag söker resa från Stockholm till Köpenhamn/ Malmö någon gång 10-12/11. Kan bidra med muntra samtal och bensinpeng.&lt;/details&gt;
        &lt;inserted&gt;1286451583&lt;/inserted&gt;
        &lt;name&gt;Elin Jonzon&lt;/name&gt;
        &lt;email&gt;e_jonzon@hotmail.com&lt;/email&gt;
        &lt;phone&gt;0704073504&lt;/phone&gt;
        &lt;from&gt;Gnesta, Sweden&lt;/from&gt;
        &lt;to&gt;Copenhagen, Denmark&lt;/to&gt;
        &lt;when_iso&gt;2010-11-12 00:00&lt;/when_iso&gt;
      &lt;/trip&gt;
    &lt;/trips&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
              <h3>
                <a name="spara_resa">Spara resa</a>
              </h3>
              <p>Att redigera en resa görs på ungefär samma sätt som man sparar en resa, med skillnaden att man också skickar med en kod som en parameter.</p>
              <h4>HTTP-anrop</h4>
              <code>
                <pre>http://resihop.nu/addtrip
</pre>
              </code>
              <h4>Parametrar och felmeddelanden</h4>
              <p>Parametrar med en asterix är obligatoriska.</p>
              <table>
                <tr>
                  <th>Parameter</th>
                  <th>Felmeddelande</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>from</td>
                  <td/>
                  <td>Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.</td>
                </tr>
                <tr>
                  <td>to*</td>
                  <td/>
                  <td>Ankomstort för den sökning man vill göra.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Address is not unique</td>
                  <td>Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid address</td>
                  <td>Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange en avreseort och en ankomstort</td>
                </tr>
                <tr>
                  <td>when*</td>
                  <td/>
                  <td>Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid format</td>
                  <td>Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM</td>
                </tr>
                <tr>
                  <td/>
                  <td>Must be a future timestamp</td>
                  <td>Det går inte att söka på datum som redan har varit.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange ett datum för resan.</td>
                </tr>
                <tr>
                  <td>has_car*</td>
                  <td/>
                  <td>1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange om du har bilplats eller söker en bilplats.</td>
                </tr>
                <tr>
                  <td>name*</td>
                  <td/>
                  <td>Annonsörens namn</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange ett namn</td>
                </tr>
                <tr>
                  <td>email*</td>
                  <td/>
                  <td>Annonsörens e-post-adress. Det är hit koden skickas för påminnelse.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange en e-postadress</td>
                </tr>
                <tr>
                  <td/>
                  <td>Not valid email</td>
                  <td>Du måste ange en e-post-adress enligt korrekt format.</td>
                </tr>
                <tr>
                  <td>phone*</td>
                  <td/>
                  <td/>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange ett telefonnummer</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid format</td>
                  <td>Telefonnummer får inte innehålla några bokstäver</td>
                </tr>
                <tr>
                  <td>Details</td>
                  <td/>
                  <td>Detaljer om resan, tillexempel gällande rökning, hundar, packning, var man ska samlas. Hur mycket det kostar osv.</td>
                </tr>
              </table>
              <h4>Noder</h4>
              <table>
                <tr>
                  <th>Nod</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>new_trip</td>
                  <td>Förälder till den nyinlagda resan</td>
                </tr>
                <tr>
                  <td>trip_id</td>
                  <td>Den tillagda resans varje trips unika id-nummer</td>
                </tr>
                <tr>
                  <td>from_lon</td>
                  <td>Longituden man åker ifrån</td>
                </tr>
                <tr>
                  <td>from_lat</td>
                  <td>latituden man åker ifrån</td>
                </tr>
                <tr>
                  <td>to_lon</td>
                  <td>Longituden man åker till</td>
                </tr>
                <tr>
                  <td>to_lat</td>
                  <td>Latituden man åker till</td>
                </tr>
                <tr>
                  <td>when</td>
                  <td>När resan avgår, i UNIX timestamp</td>
                </tr>
                <tr>
                  <td>got_car</td>
                  <td>Huruvida annonsören har en bil eller söker en bilplats</td>
                </tr>
                <tr>
                  <td>details</td>
                  <td>Detaljer som annonsören har lagt till</td>
                </tr>
                <tr>
                  <td>inserted</td>
                  <td>@lilleman</td>
                </tr>
                <tr>
                  <td>email</td>
                  <td>Annonsörens e-post-adress</td>
                </tr>
                <tr>
                  <td>from</td>
                  <td>Adressen man åker från</td>
                </tr>
                <tr>
                  <td>to</td>
                  <td>Adressen man åker till</td>
                </tr>
                <tr>
                  <td>phone</td>
                  <td>Telefonnummer angett av annonsören</td>
                </tr>
                <tr>
                  <td>when_iso</td>
                  <td>När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.</td>
                </tr>
                <tr>
                  <td>code</td>
                  <td>En unik kod för din resa som används i funktionerna edittrip och deletetrip</td>
                </tr>
              </table>
              <h4>Exempel</h4>
              <p>Om vi gör http-anropet</p>
              <code>
                <pre>http://resihop.nu/addtrip?from=stockholm&amp;amp;to=göteborg&amp;amp;when=2010-10-28&amp;amp;name=Kristoffer+Nolgren&amp;amp;email=kristoffer%40nolgren.se&amp;amp;phone=0704649797&amp;amp;details=Oavsett+hur+många+vi+blir+så+delar+vi+på+500+kronor+i+resekostnad.&amp;amp;got_car=0
</pre>
              </code>
              <p>Får vi mycket riktigt ett svar med alla detaljer för resan.</p>
              <code>
                <pre>&lt;root&gt;
  &lt;content&gt;
    &lt;new_trip&gt;
      &lt;trip_id&gt;270&lt;/trip_id&gt;
      &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
      &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
      &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
      &lt;to&gt;Gothenburg, Sweden&lt;/to&gt;
      &lt;to_lat&gt;11.9865&lt;/to_lat&gt;
      &lt;to_lon&gt;57.6970&lt;/to_lon&gt;
      &lt;when&gt;1288216800&lt;/when&gt;
      &lt;when_iso&gt;2010-10-28 00:00&lt;/when_iso&gt;
      &lt;details&gt;Oavsett hur många vi blir så delar vi på 500 kronor i resekostnad.&lt;/details&gt;
      &lt;got_car&gt;0&lt;/got_car&gt;
      &lt;inserted&gt;1288191470&lt;/inserted&gt;
      &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
      &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
      &lt;phone&gt;0704649797&lt;/phone&gt;
      &lt;code&gt;CEAD5HEW29TC&lt;/code&gt;
    &lt;/new_trip&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
              <h3>
                <a name="redigera_och_ta_bort_resa">Redigera och ta bort resa</a>
              </h3>
              <p>Att spara resor är enkelt. Det krävs ingen inloggning eller autenciering. När man sparar en resa får man tillbaka en kod som sen kan användas för att redigera resan. För att ändra en resa, skicka med de parametrar du vill ändra, samt den unika koden för din resa. Tomma parametrar bevaras som de är. För att ta bort en resa, skicka parametern remove.</p>
              <h4>HTTP-anrop</h4>
              <p>http://resihop.nu/edittrip</p>
              <h4>Parametrar och felmeddelanden</h4>
              <p>Parametrar med en asterix är obligatoriska.</p>
              <table>
                <tr>
                  <th>Parameter</th>
                  <th>Felmeddelande</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>code*</td>
                  <td/>
                  <td>Den unika kod som autencierar förändringar i resan</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid</td>
                  <td>Koden du angett stämmer inte överens med någon resa.</td>
                </tr>
                <tr>
                  <td>from</td>
                  <td/>
                  <td>Avreseort för den sökning man vill göra. Om adressen inte stämmer men det bara finns ett lämplig alternativ kommer.</td>
                </tr>
                <tr>
                  <td>to</td>
                  <td/>
                  <td>Ankomstort för den sökning man vill göra.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Address is not unique</td>
                  <td>Det finns flera adresser som passar för din sökning. Låt användaren välja en i listan av options.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid address</td>
                  <td>Den adress du angav finns eller stämmer inte. Orsaker kan vara tillexempel felstavning eller att platsen bara finns i användarens fantasi.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange en avreseort och en ankomstort.</td>
                </tr>
                <tr>
                  <td>when</td>
                  <td/>
                  <td>Det datum du vill göra sökningen på. Hittas inga träffar det datumet utvidgas sökningen till andra datum i närheten.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid format</td>
                  <td>Datum måste anges i formatet YYYY-MM-DD eller YYYY-MM-DD HH:MM</td>
                </tr>
                <tr>
                  <td/>
                  <td>Must be a future timestamp</td>
                  <td>Det går inte att söka på datum som redan har varit.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange ett datum för resan</td>
                </tr>
                <tr>
                  <td>has_car</td>
                  <td/>
                  <td>1 = Jag har bil, och letar efter medresenärer, 0 = Jag saknar bil, och letar efter skjuts</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange om du har bilplats eller söker en bilplats.</td>
                </tr>
                <tr>
                  <td>name</td>
                  <td/>
                  <td>Annonsörens namn</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange ett namn</td>
                </tr>
                <tr>
                  <td>email</td>
                  <td/>
                  <td>Annonsörens e-post-adress. Det är hit koden skickas för påminnelse.</td>
                </tr>
                <tr>
                  <td/>
                  <td>required</td>
                  <td>Du måste ange en e-postadress</td>
                </tr>
                <tr>
                  <td/>
                  <td>Not valid email</td>
                  <td>Du måste ange en e-post-adress enligt korrekt format.</td>
                </tr>
                <tr>
                  <td>phone</td>
                  <td/>
                  <td/>
                </tr>
                <tr>
                  <td/>
                  <td>required</td>
                  <td>Du måste ange ett telefonnummer</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid format</td>
                  <td>Telefonnummer får inte innehålla några bokstäver</td>
                </tr>
                <tr>
                  <td>details</td>
                  <td/>
                  <td>Detaljer om resan, tillexempel gällande rökning, hundar, packning, var man ska samlas. Hur mycket det kostar osv.</td>
                </tr>
              </table>
              <h4>Noder</h4>
              <table>
                <tr>
                  <th>Nod</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>message</td>
                  <td>Ett meddelande om att datan är ändrad eller borttagen.</td>
                </tr>
                <tr>
                  <td>new_trip</td>
                  <td>Förälder till den nyinlagda resan.</td>
                </tr>
                <tr>
                  <td>trip_id</td>
                  <td>Den tillagda resans varje trips unika id-nummer.</td>
                </tr>
                <tr>
                  <td>from_lon</td>
                  <td>Longituden man åker ifrån.</td>
                </tr>
                <tr>
                  <td>from_lat</td>
                  <td>Latituden man åker ifrån.</td>
                </tr>
                <tr>
                  <td>to_lon</td>
                  <td>Longituden man åker till.</td>
                </tr>
                <tr>
                  <td>to_lat</td>
                  <td>Latituden man åker till.</td>
                </tr>
                <tr>
                  <td>when</td>
                  <td>När resan avgår, i UNIX timestamp.</td>
                </tr>
                <tr>
                  <td>got_car</td>
                  <td>Huruvida annonsören har en bil eller söker en bilplats.</td>
                </tr>
                <tr>
                  <td>details</td>
                  <td>Detaljer som annonsören har lagt till.</td>
                </tr>
                <tr>
                  <td>inserted</td>
                  <td>@lilleman</td>
                </tr>
                <tr>
                  <td>email</td>
                  <td>Annonsörens e-post-adress.</td>
                </tr>
                <tr>
                  <td>from</td>
                  <td>Adressen man åker från.</td>
                </tr>
                <tr>
                  <td>to</td>
                  <td>Adressen man åker till.</td>
                </tr>
                <tr>
                  <td>phone</td>
                  <td>Telefonnummer angett av annonsören.</td>
                </tr>
                <tr>
                  <td>when_iso</td>
                  <td>När annonsören vill åka, i unix-timestamp. Om tiden är 00:00 är det antagligen för att annonsören inte angivit någon tid.</td>
                </tr>
                <tr>
                  <td>code</td>
                  <td>Den unika koden för din resa</td>
                </tr>
              </table>
              <h4>Exempel</h4>
              <p>Om vi gör http-anropet</p>
              <code>
                <pre>http://resihop.nu/edittrip?from=Stockholm,+Sverige&amp;amp;to=Göta+älv,+Sweden&amp;amp;when=2010-10-30+00:00&amp;amp;name=Kristoffer+Nolgren&amp;amp;email=kristoffer%40nolgren.se&amp;amp;phone=0704649797&amp;amp;details=tada!&amp;amp;got_car=1&amp;amp;code=924JZ23HR9RT
</pre>
              </code>
              <p>får vi mycket riktigt ett svar med alla detaljer för resan.</p>
              <code>
                <pre>&lt;root&gt;
  ...
  &lt;content&gt;
    &lt;message&gt;Data saved&lt;/message&gt;
    &lt;trip_data&gt;
      &lt;trip_id&gt;279&lt;/trip_id&gt;
      &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
      &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
      &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
      &lt;to&gt;Göta älv, Sweden&lt;/to&gt;
      &lt;to_lat&gt;12.1229&lt;/to_lat&gt;
      &lt;to_lon&gt;58.0267&lt;/to_lon&gt;
      &lt;when&gt;1288389600&lt;/when&gt;
      &lt;when_iso&gt;2010-10-30 00:00&lt;/when_iso&gt;
      &lt;details&gt;tada!&lt;/details&gt;
      &lt;got_car&gt;1&lt;/got_car&gt;
      &lt;inserted&gt;1288192097&lt;/inserted&gt;
      &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
      &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
      &lt;phone&gt;0704649797&lt;/phone&gt;
    &lt;/trip_data&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
              <p>Om vi däremot gör http-anropet</p>
              <code>
                <pre>http://resihop.nu/edittrip?remove&amp;amp;code=924JZ23HR9RT
</pre>
              </code>
              <p>får vi en content nod med innehållet:</p>
              <code>
                <pre>&lt;root&gt;
  ...
  &lt;content&gt;
    &lt;message&gt;Data saved&lt;/message&gt;
    &lt;trip_data&gt;
      &lt;trip_id&gt;279&lt;/trip_id&gt;
      &lt;from&gt;Stockholm, Sweden&lt;/from&gt;
      &lt;from_lat&gt;18.0645&lt;/from_lat&gt;
      &lt;from_lon&gt;59.3328&lt;/from_lon&gt;
      &lt;to&gt;Göta älv, Sweden&lt;/to&gt;
      &lt;to_lat&gt;12.1229&lt;/to_lat&gt;
      &lt;to_lon&gt;58.0267&lt;/to_lon&gt;
      &lt;when&gt;1288389600&lt;/when&gt;
      &lt;when_iso&gt;2010-10-30 00:00&lt;/when_iso&gt;
      &lt;details&gt;tada!&lt;/details&gt;
      &lt;got_car&gt;1&lt;/got_car&gt;
      &lt;inserted&gt;1288192097&lt;/inserted&gt;
      &lt;name&gt;Kristoffer Nolgren&lt;/name&gt;
      &lt;email&gt;kristoffer@nolgren.se&lt;/email&gt;
      &lt;phone&gt;0704649797&lt;/phone&gt;
    &lt;/trip_data&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
              <h3>
                <a name="glomt_koden">Glömt koden</a>
              </h3>
              <p>Om man glömt en kod kan man skicka sin e-post adress till resihop. Då skickar resihop ut koden för alla resor kopplade till den e-post-adressen.</p>
              <h4>HTTP-anrop</h4>
              <code>
                <pre>http://resihop.nu/sendcode
</pre>
              </code>
              <h4>Parametrar och felmeddelanden</h4>
              <p>Parametrar med en asterix är obligatoriska.</p>
              <table>
                <tr>
                  <th>Parameter</th>
                  <th>Felmeddelande</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>email</td>
                  <td/>
                  <td>Den unika kod som autencierar förändringar i resan.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Invalid</td>
                  <td>E-post-adressen du angivit är inte knuten till någon särskild resa.</td>
                </tr>
                <tr>
                  <td/>
                  <td>Required</td>
                  <td>Du måste ange en e-postadress.</td>
                </tr>
              </table>
              <h4>Noder</h4>
              <table>
                <tr>
                  <th>Nod</th>
                  <th>Förklaring</th>
                </tr>
                <tr>
                  <td>message</td>
                  <td>Ett meddelande om att koden är skickad.</td>
                </tr>
              </table>
              <h4>Exempel</h4>
              <p>Om vi gör http-anropet</p>
              <code>
                <pre>http://resihop.nu/sendcode?email=kristoffer@nolgren.se 
</pre>
              </code>
              <p>får vi ett meddelande om att koden är sänd</p>
              <code>
                <pre>&lt;root&gt;
  ...
  &lt;content&gt;
    &lt;message&gt;Code sent&lt;/message&gt;
  &lt;/content&gt;
&lt;/root&gt;
</pre>
              </code>
            </html>
          </content>
        </contents>
      </type>
    </page>
  </content>
</root>
