Många av er kanske inte vet detta, men Sitatas tidiga grundstenar byggdes för tidig upptäckt av sjukdomar. Faktum är att vår grundare har ett TedX-talk från 2016 som handlar om varför vi måste varna resenärer för att förhindra spridning av sjukdomar. Det är därför ingen överraskning att vi tog upp COVID-19 när det rapporterades som ett ovanligt kluster av fall av lunginflammation i början av december 2019. Den 2 januari 2020 bestämde vårt hälsoteam att vi skulle utfärda följande vår första varning till våra resenärer och affärspartner. Detta var dagar före Världshälsoorganisationen!
Under de oundvikliga konsekvenserna fick vi en uppenbarelse. Sjukdomen spreds så snabbt att det stod klart för oss att den globala reaktionen skulle bli kaotisk i bästa fall. Varje land skulle anta sina egna regler och bestämmelser för att kontrollera spridningen. Detta skulle oundvikligen leda till att det globala resandet skulle bli förödande och en stor källa till förvirring för dem som fortfarande vill resa. Vi hade rätt och vi bestämde oss för att göra något åt saken. Sitata var ett av de första företagen i världen som skapade ett särskilt API och en övervakningstjänst för förändringar i reserestriktioner och inresekrav till följd av COVID-19. Med ett avancerat mjukvarusystem för händelsedetektering och ett dedikerat team av analytiker hade vi redan alla de rätta verktygen och processerna på plats för att göra detta.
Sedan lanseringen av den här nya tjänsten har en rad organisationer utnyttjat uppgifterna för sina egna kunder, bland annat Eddy Travels, Flight Centre och Etihad Airways, och fler kommer att tillkännages inom kort! För att hjälpa fler organisationer med fokus på resor att dra nytta av detta erbjudande har vi nedan skrivit i detalj ett antal exempel för att förklara hur man använder API:et för en mängd olika användningsfall. Jag hoppas att dessa förklaringar hjälper dig att få igång dina egna initiativ.
Behörighetskrav
Utan tvekan är de första frågorna som resenärer ställer "kan jag åka dit?" och "kommer jag att hamna i karantän", så det är en bra början. Vi skapade datamängden Inresekrav för att besvara de svåra ja/nej-frågorna om inresa i ett land eller en region.
I skrivande stund omfattade denna datamängd följande 10 olika kategorier:
- Kan en invånare resa in i landet?
- Kan en utlänning resa in i landet?
- Är transitering genom landet tillåten?
- Krävs ett test vid ankomsten (sjukdomsutbrott)?
- Är det tillåtet med ett testintyg (sjukdomsutbrott)?
- Krävs karantän vid ankomsten (utbrott av sjukdomar)? Krävs vaccination?
- Krävs försäkring?
- Behövs testcertifikat?
- Krävs det en anmälningsblankett? (hälsovård eller annat)
Varje kategori kan ha ett av följande värden:
- Ja
- Ja, med vissa undantag
- Ingen
- Nej, med undantag.
Även om de allra flesta av värdena är "ja" och "nej" är situationen i praktiken inte alltid lika enkel. Ibland finns det riktigt konstiga och galna regler som olika regeringar har infört och som gör det nödvändigt att använda värdetyperna "med undantag".
Ett inresekrav är i huvudsak ett dokument som dokumenterar en uppsättning regler som en aktör har infört mot ett eller flera andra länder eller regioner. Aktören kan vara ett land, en stat eller till och med en kommun i vår dataarkitektur. I stort sett täcker Sitata för närvarande uppgifter på landsnivå. Vi har dock några uppgifter om delstater/provinser för utvalda regioner, t.ex. Förenta staterna och andra.
Alla poster som har en post under fältet origin_country_division_id
eller . origin_country_region_id
är antingen en statlig eller en kommunal nivå. Om du vill ha mer detaljerade uppgifter, vänligen kontakta kontakta oss så kan vi prata om ditt användningsområde.
Ta dig tid att bekanta dig med datastrukturen för inmatningskrav genom att ta en titt på vår API-dokumentation här.
En något förvirrande del av datastrukturen är vår användning av termen "ursprung." Detta är förvirrande eftersom utvecklare ofta tänker på ursprunget som platsen för ursprunget eller utgångspunkten. Men vad vi menar med ursprung är faktiskt ursprunget till den regel som åläggs andra, dvs. det land eller den region som har skapat begränsningen.
En annan viktig punkt att notera är hur vår lista över drabbade länder fungerar. Om affected_countries är tomt ska det tolkas som en global regel, dvs. alla länder påverkas.
Några exempel
Som du kanske har sett i dokumentationen finns det ett antal sätt att hämta data från API:et. Nedan går vi igenom några av de vanligaste användningsfallen.
Hur hämtar jag kraven mellan två länder?
Det finns ett par olika sätt att göra denna typ av begäran. Den enklaste versionen är att använda destination
och avgång
parametrar. Dessa parametrar accepterar ISO 3166-1 alfa-2 koder som ingångsvärden.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination=IN
Svaret kommer att innehålla alla krav (på lands- och statsnivå) som är nödvändiga för att förstå resenären som avreser från avreselandet och reser till destinationslandet.
Vad händer om jag vill ha uppgifter på delstatsnivå?
Sitata har uppgifter på delstatsnivå för vissa regioner. Du vet att en viss post är för en delstat om ursprung_land_avdelning
fältet har ett värde. Du kan också filtrera för att endast hämta data på delstatsnivå med hjälp av destination_country_division
parameter. Den förväntar sig en ISO_3166-2 värde. Till exempel US-TX för Texas, USA.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP
Det kan vara enklare att fråga efter land och sedan filtrera efter uppgifter om delstater för att se om sådana uppgifter finns, och använda dem om de finns.
Hur hämtar jag kraven mellan två flygplatser?
Precis som med länder kan Sitata API ge resultat mellan två flygplatser. Parametrarna departure_airport
och destination_airport
använda antingen ICAO eller . IATA koder för att filtrera resultaten. Svaret kommer att innehålla alla restriktioner (på land- och delstatsnivå) som är nödvändiga för att förstå resenären som avreser från motsvarande avreseland och reser till destinationslandet.
GET https://www.sitata.com/api/v2/entry_requirements?departure_airport=MUC&destination_airport=BOM
Svaret kommer att innehålla alla restriktioner (på lands- och delstatsnivå) som är nödvändiga att förstå för resenären som avreser från avreselandet och reser till destinationslandet.
Vad händer om jag bara har information om staden?
Sitata valde att inte ta emot sökningar efter ett visst stadsnamn eftersom det skulle kunna leda till konflikter och förvirring. I stället valde vi att tillåta sökningar i vårt API med hjälp av latitud- och longitudkoordinater, vilket inte ger några tvetydigheter i vår resultatuppsättning. Parametrarna är följande departure_lat
, departure_lng
, destination_lat
, och destination_lng
.
GET https://www.sitata.com/api/v2/entry_requirements?departure_lat=48.13743&departure_lng=11.57549&destination_lat=19.0760&destination_lng=72.8777
Om du omvandlar dina städer till platser och frågar utifrån koordinater kommer vårt API att svara med alla begränsningar (på land- och delstatsnivå) som krävs för att förstå resenären som avgår från avreselandet och reser till destinationslandet.
Extra uppgifter
För vissa typer av inmatningskrav kan det finnas extra tillhörande uppgifter i ett metadatafält som kallas extras
. Detta fält är en nyckel/värde-mappning av olika extra information för ett visst krav.
Hur många dagar är karantänsperioden?
Denna inmatning av uppgifter omfattas av inmatningskravet typ 5. I denna post är det extras
mappningen kommer att innehålla ett fält som heter karantän_dagar
som kommer att innehålla ett heltal för antalet karantändagar.
Hur många timmar före inresa måste ett negativt covidtest vara genomfört?
Denna inmatning av uppgifter omfattas av inmatningskravet typ 8. I denna post är det extras
mappningen kommer att innehålla ett fält som heter entry_hours
som kommer att innehålla ett heltal för det antal timmar som ett negativt covidtest tillåts före inresa.
Låt oss veta
Vi tror att vi har en mycket robust lösning som sannolikt kommer att tillgodose alla era behov för att hjälpa era resenärer att förstå vad de kan stöta på längs vägen. Om du har ett särskilt användningsområde som vi inte tar upp, meddela oss!
Vänta... det finns mer!
Det här inlägget är en del av en serie i två delar som förklarar hur man interagerar med Sitatas API för information om inresekrav och reserestriktioner. Hittills har vi talat om inresekrav som beskriver de hårda ja/nej-krav som krävs för att komma in i ett land eller en region, men vi har inte heller talat om vad som händer i landet. Det är en sak att veta om att resa in i ett land, en annan att förstå om det är möjligt att röra sig i landet eller besöka stränderna eller om det råder obligatoriskt utegångsförbud.
Håll ögonen öppna för det andra inlägget som kommer att ge en djupdykning i vår datamängd om resebegränsningar. Tips - den är nästan identisk, så du kan alltid ta en titt på våra API-dokumentation under tiden.