❗️

Deprecated

Trips v2 Endpoint is Deprecated, please use /trips v3

Trips is the latest and greatest endpoint in the sherpa° Requirements API with ongoing development focused on adding and improving features to make it simple, effective, and easy to use.

This page outlines the parameters of a Trips request, as well as the various attributes found in a Trips response.
You can also find examples of both of these JSON structures.

Unsupported Cases

We provide a graceful way of handling unsupported cases and invalid itineraries for which we don't have data available.

Read more in our unsupported cases guide.

Trips Requests

Below you will find an example request to the Trips endpoint of the sherpa° Requirements API.

A request can be separated into two parts. The query and the body. See the Query and Body sections for more information about how they should look and what parameters must be included in each.

Query Parameters

Below is an example query using the Trips endpoint:
https://requirements-api.sandbox.joinsherpa.com/v2/trips?affiliateId=YOUR_AFFILIATE_ID&key=YOUR_API_KEY&language=en-US&include=restriction,procedure

❗️

This example uses the Sherpa Sandbox

When using a Production API key, please use the following URL instead:
https://requirements-api.joinsherpa.com

ParameterTypeDescription
affiliateIdstringYour organization’s unique affiliate ID as provided by Sherpa.
keystringYour organization’s unique API key as provided by Sherpa.
languagestringThe desired language for the response data.

See Language Support for a list of supported languages and their respective codes.
includestringComma-separated list of desired results to include in the response.

Possible values:
restriction
procedure


We recommend including both for the most complete picture of the travel requirements for a given trip.

Body Parameters

The body of the request is the JSON payload containing the specifics of the trip you are defining. Use the following format to ensure the request is able to be interpreted correctly.

{
    "data": {
        "type": "TRIP",
        "attributes": {
            "category": "ROUND_TRIP",
            "travellers": [{
                "vaccinations": [{
                    "type": "COVID-19",
                    "status": "FULLY_VACCINATED"
                }],
                "nationality": "CAN"
            }],
            "segments": [
                {
                    "segmentType": "OUTBOUND",
                    "segmentSubType": "TRANSIT",// <---- only the segment travelling to the connection 
                    "origin": {                 //       location gets the segementSubType of TRANSIT
                        "countryCode": "CAN",
                        "regionCode": "CA-ON",// <---- all 3 parameter can be included but only the 
                        "airportCode": "YYZ"  //       most specific is technically necessary 
                    },
                    "destination": {
                        "countryCode": "USA"
                    },
                    "travelMode": "AIR",
                    "departureDate": "2022-07-22",
                    "departureTime": "12:59",
                    "arrivalDate": "2022-07-22",
                    "arrivalTime": "12:59"
                },
                {
                    "segmentType": "OUTBOUND",
                    "origin": {
                        "countryCode": "USA"
                    },
                    "destination": {
                        "countryCode": "MEX"
                    },
                    "travelMode": "AIR",
                    "departureDate": "2022-07-22",
                    "departureTime": "12:59",
                    "arrivalDate": "2022-07-22",
                    "arrivalTime": "12:59"
                },
                {
                    "segmentType": "RETURN",
                    "origin": {
                        "countryCode": "MEX"
                    },
                    "destination": {
                        "airportCode": "YYZ"// <---- countryCode and/or regionCode not necessary if 
                    },                     //        if airportCode us used 
                    "travelMode": "AIR",
                    "departureDate": "2022-07-27",
                    "departureTime": "12:59",
                    "arrivalDate": "2022-07-27",
                    "arrivalTime": "12:59"
                }
            ]
        }
    }
}
ParameterTypeDescription
typestringTRIP
categorystringDescribes the type of trip being created.

Possible values:
ROUND_TRIP
: Includes both OUTBOUND and RETURN segments.
ONE_WAY_TRIP:
Includes only OUTBOUND segments.
travellersarray A list of travellers. See Traveller Model.
segmentsarray A list of segments. See Segment Model.

Segment Model

Each Segment of a trip can be described using the following model.

ParameterTypeDescription
segmentTypestring Describes the type of the trip segment.

Possible values:
OUTBOUND:
Travelling towards the final destination.
RETURN:
Travelling back from the final destination.
segmentSubTypestringOnly used for the segment where the connecting location is the destination.

The segment from the connecting location to the final destination does not need this parameter.

Possible values:
TRANSIT: Used for layovers/connections.
originobject Describes the origin location for this segment. See Location Model.
destinationobjectDescribes the destination location for this segment. See Location Model.
travelModestringPossible values:
AIR
LAND
SEA
departureDatestringDate of departure from the segment origin in YYYY-MM-DD format.
departureTimestringTime of departure from the segment origin in HH:MM format.
arrivalDatestringDate of arrival at the segment destination in YYYY-MM-DD format.
arrivalTimestringTime of arrival at the segment destination in HH:MM format.

Traveller Model

Each traveller on a trip can be described using the following model.

ParameterTypeDescription
vaccinationsstringDescribes the traveller’s current vaccinations. See Vaccination Model.
nationalitystringThe ISO-3 country code for the traveller’s passport.

Vaccination Model

A traveller’s vaccinations can be described using the following model.

ParameterTypeDescription
typestring The type of vaccination.

Possible values:
COVID-19
statusstring The status of the vaccination.

Possible values:
FULLY_VACCINATED
NOT_VACCINATED

Location Model

Segment origin or destination locations can be described using the following model.

ParameterTypeDescription
countryCodestringThe ISO-3 code for the desired country (e.g. CAN, USA).
regionCodestringThe code for the desired region (e.g. CA-ON, US-NY).
airportCodestringThe code for the desired airport (e.g. YYZ, JFK).

❗️

Only the most specific parameter is necessary when defining a location

If you want to define a segment origin as a particular airport, you do not need to include the countryCode or regionCode, only the airportCode as it is the most specific parameter.

Trips Responses

In this section, you will find an example API response from the sample request found above in the Trips Requests section, with details about each attribute and its possible values.

❗️

Some sections have been collapsed

In the example response below, the various sections have been collapsed to allow for a better overall view of the response structure.

Comments have been added to indicate where objects were collapsed, and you can see the contents of each of the collapsed sections later on this page.

{
    "meta": {
        "copyright": "Sherpa",
        "version": "2.8.4"
    },
    "data": {
        "id": "1175946f-e080-4502-820e-837bffd4cc58",
        "type": "TRIP",
        "attributes": {
            "category": "ROUND_TRIP",
                        "segments": [...], // <---- segments of the trip
                        "summary": [...], // <---- important summarized facts about this trip
                        "outbound": {...}, // <---- summarized outbound segment incl. connections
                        "return": {...}, // <---- summarized return segment incl. connections
                },
                "relationships": {...}, // <---- list of all restriction and procedure IDs for the trip
        },
        "included": [...] // <---- all restriction/procedure details relevant to this trip
}

A response from the Trips endpoint can be broken down into the data and included structures. See the Data and Included sections below for more information on what can be found in each.

Data

AttributeTypeDescription
idstring This trip’s unique identifier.
typestring TRIP
categorystring Describes the variety of trip that was requested.

Possible values:
ROUND_TRIP: Includes both OUTBOUND and RETURN segments.
ONE_WAY_TRIP: Includes only OUTBOUND segments.
segmentsarray A list of all the trip’s segments. See Segments.
summaryarray A list of the trip’s important headlines. See Summary.
outboundobject A summarized outbound segment, incorporating connections. See Context Segments.
returnobject A summarized return segment, incorporating connections. See Context Segments.
relationshipsobject A list of all the trip's applicable restriction and procedure IDs. See Relationships.

Segments

The segments attribute is an array of segment objects, each containing all the details for that particular leg of the trip. An example of one such segment object can be found below.

"segments": [
                {
                    "segmentType": "OUTBOUND",
                    "origin": {
                        "countryCode": "CAN",
                        "countryName": "Canada"
                    },
                    "destination": {
                        "countryCode": "EGY",
                        "countryName": "Egypt"
                    },
                    "travelMode": "AIR",
                    "departureDate": "2021-07-27T00:00:00.000Z",
                    "departureTime": "12:59",
                    "arrivalDate": "2021-07-27T00:00:00.000Z",
                    "arrivalTime": "12:59",
                    "borderCrossing": "INTERNATIONAL",
                    "summary": {
                        "headline": "Most travelers from Canada can enter Egypt, but there are restrictions.",
                        "travelOpenness": "NO_INFORMATION",
                        "groupings": [
                            {
                                "type": "ORIGIN_TRAVEL_RESTRICTIONS",
                                "label": "MANDATORY_ORIGIN_TRAVEL_RESTRICTIONS",
                                "enforcement": "MANDATORY",
                                "included": []
                            },
                            {
                                "type": "ORIGIN_DOCUMENTS",
                                "label": "MANDATORY_ORIGIN_DOCUMENTS",
                                "enforcement": "MANDATORY",
                                "included": []
                            },
                            {
                                "type": "DESTINATION_TRAVEL_RESTRICTIONS",
                                "label": "NOT_REQUIRED_DESTINATION_TRAVEL_RESTRICTIONS",
                                "enforcement": "NOT_REQUIRED",
                                "included": [
                                    {
                                        "id": "generated-procedure-unknown-covid"
                                    }
                                ]
                            },
                            {
                                "type": "DESTINATION_DOCUMENTS",
                                "label": "MANDATORY_DESTINATION_DOCUMENTS",
                                "enforcement": "MANDATORY",
                                "included": []
                            },
                            {
                                "type": "LOCAL_RESTRICTIONS",
                                "label": "MANDATORY_LOCAL_RESTRICTIONS",
                                "enforcement": "MANDATORY",
                                "included": [
                                    {
                                        "id": "1015360c-e391-466c-ae8a-f168f5103e15"
                                    }
                                ]
                            },
                            {
                                "type": "UPCOMING",
                                "label": "MANDATORY_UPCOMING",
                                "enforcement": "MANDATORY",
                                "included": []
                            },
                            {
                                "type": "VISAS",
                                "label": "Visa required",
                                "enforcement": "MANDATORY",
                                "included": [
                                    {
                                        "id": "7380c214-1e0e-404a-bcd9-a8bbc87c6337"
                                    },
                                    {
                                        "id": "490639a9-effe-47f4-8c0c-839d46fc8529"
                                    }
                                ]
                            }
                        ]
                    }
                }
            ],
AttributeTypeDescription
segmentTypestring Describes the type of the trip segment.

Possible values:
OUTBOUND: Travelling towards the final destination.
RETURN: Travelling back from the final destination.
segmentSubTypestringOnly used for the segment where the connecting location is the destination.

The segment from a connecting location to the final destination will not have this attribute.

Possible values:
TRANSIT: Used for layovers/connections.
originobject Describes the origin location for this segment.

Contains name(s) and code(s) for the origin country and/or region and/or airport.
destinationobject Describes the destination location for this segment.

Contains name(s) and code(s) for the destination country and/or region and/or airport.
travelModestringPossible values:
AIR
LAND
SEA
departureDatestringDate of departure from the segment origin in YYYY-MM-DD format.
departureTimestringTime of departure from the segment origin in HH:MM format.
arrivalDatestringDate of arrival at the segment destination in YYYY-MM-DD format.
arrivalTimestringTime of arrival at the segment destination in HH:MM format.
borderCrossingstringPossible values:
INTERNATIONAL
REGIONAL
NO_BORDER_CROSSING
summaryobject Contains a summary headline for the segment and all relevant restriction/procedure IDs in groups. See Segment Summary.

Segment Summary

AttributeTypeDescription
headlinestring A short description of the level of restriction(s) applicable to this leg of the trip.
travelOpennessstringRepresents the destination country's entry restrictions, COVID-19 testing requirements, quarantine requirements, and vaccination requirements based on the origin country.

Possible values:
LEVEL_1:
Travel is open
LEVEL_2: Test & travel
LEVEL_3: Test & quarantine
LEVEL_4: Borders are closed
groupingsstringA list of groups of restrictions/procedures that apply to this leg of the trip. See Groupings.

Groupings

AttributeTypeDescription
typestringA title that describes the sort of restrictions or procedure that can be found in the group.

The group contains restrictions or procedures of this type that may be relevant to this trip.

Possible values:
ORIGIN_TRAVEL_RESTRICTIONS: Restrictions and Procedures related to the EXIT from the origin. This group is often empty as few countries or regions impose exit restrictions.
ORIGIN_DOCUMENTS: Collection of relevant documents related to the EXIT from the origin. This group is often empty as few countries or regions impose exit documents.
DESTINATION_TRAVEL_RESTRICTIONS: Restrictions and Procedures related to ENTRY of a destination. This group contains often entry restrictions, COVID-19 testing, as well as quarantine information for the destination.
DESTINATION_DOCUMENTS: Collection of relevant documents related to the ENTRY of a destination.
LOCAL_RESTRICTIONS: Collection of local restrictions such as PPE (Personal Protective Equipment) e.g. mask requirements.
UPCOMING: Restrictions/procedures taking effect within 30 days of the segment's travel dates.
VISAS
: Collection of required visa documentation as a dedicated grouping.
labelstringCombination of the enforcement and type attributes of the grouping.
enforcementstringThe highest level of enforcement among all the restrictions/procedures in the group.

Possible values:
MANDATORY
RECOMMENDED
MAY_BE_REQUIRED
OPTIONAL
NOT_REQUIRED
includedarrayA list of the unique IDs of all restrictions/procedures within the group.

Summary

The summary attribute is an array of objects intended to highlight various important requirements of the trip.

"summary": [
                {
                    "type": "COVID_19_TEST",
                    "headline": "COVID-19 test is required for one or multiple parts of your trip. View detailed information below.",
                    "enforcement": "MANDATORY"
                },
                {
                    "type": "QUARANTINE",
                    "headline": "No Quarantine",
                    "enforcement": "NOT_REQUIRED"
                },
                {
                    "type": "DOC_REQUIRED",
                    "headline": "Documents are required for one or multiple parts of your trip. View detailed information below.",
                    "enforcement": "MANDATORY"
                },
                {
                    "type": "VISA",
                    "headline": "No visa required",
                    "enforcement": "NOT_REQUIRED"
                }
            ],
AttributeTypeDescription
typestringDescribes the sort of requirement being highlighted.
Possible values:
COVID_19_TEST
QUARANTINE
DOC_REQUIRED
VISA
headlinestringA sentence that describes the requirement in general terms.
enforcementstringDescribes the level of enforcement for this particular requirement.

Possible values:
MANDATORY
RECOMMENDED
MAY_BE_REQUIRED
OPTIONAL
NOT_REQUIRED

Context Segments

The outbound and return attributes are created segment objects that incorporate details from all outbound or return segments respectively into context segments describing the entire outbound or return portion of the trip.

Besides the inclusion of the segmentSubType attribute being CONTEXT, these context segment objects follow the same structure as those within the segments attribute described here.

"outbound": {
                "segmentType": "OUTBOUND",
                "segmentSubType": "CONTEXT", // <---- this identifies it as a CONTEXT SEGMENT
                "origin": {
                    "regionCode": "CA-ON",
                    "regionName": "Ontario",
                    "countryCode": "CAN",
                    "countryName": "Canada",
                    "airportCode": "YYZ",
                    "airportName": "Toronto"
                },
                "departureDate": "2022-07-22T00:00:00.000Z",
                "departureTime": "12:59",
                "destination": {
                    "countryCode": "MEX",
                    "countryName": "Mexico"
                },
                "arrivalDate": "2022-07-22T00:00:00.000Z",
                "arrivalTime": "12:59",
                "travelMode": "AIR",
                "borderCrossing": "INTERNATIONAL",
                "summary": {
                    "headline": "Most travelers from Toronto, YYZ with proof of full COVID-19 vaccination can enter Mexico via United States.",
                    "travelOpenness": "LEVEL_1",
                    "groupings": [
                        {
                            "type": "ORIGIN_TRAVEL_RESTRICTIONS",
                            "label": "MANDATORY_ORIGIN_TRAVEL_RESTRICTIONS",
                            "enforcement": "MANDATORY",
                            "included": []
                        },
                        {
                            "type": "ORIGIN_DOCUMENTS",
                            "label": "MANDATORY_ORIGIN_DOCUMENTS",
                            "enforcement": "MANDATORY",
                            "included": [
                                {
                                    "id": "d46ce91b-c8ba-4125-932b-456cb2374236"
                                }
                            ]
                        },
                        {
                            "type": "DESTINATION_TRAVEL_RESTRICTIONS",
                            "label": "NOT_REQUIRED_DESTINATION_TRAVEL_RESTRICTIONS",
                            "enforcement": "NOT_REQUIRED",
                            "included": [
                                {
                                    "id": "57ab7fb3-ec16-4f01-8da2-fbd9c1301d96"
                                },
                                {
                                    "id": "bf14a075-ac7b-4e78-bc8f-3f546f85ff55"
                                },
                                {
                                    "id": "47e625dd-110b-4ce2-97b8-f46330fc957d"
                                }
                            ]
                        },
                        {
                            "type": "DESTINATION_DOCUMENTS",
                            "label": "RECOMMENDED_DESTINATION_DOCUMENTS",
                            "enforcement": "RECOMMENDED",
                            "included": [
                                {
                                    "id": "7eec65a1-603b-4ac9-8506-d9e9d311a2ad"
                                },
                                {
                                    "id": "74d49e05-4410-480c-b158-eba3049d5736"
                                }
                            ]
                        },
                        {
                            "type": "LOCAL_RESTRICTIONS",
                            "label": "MANDATORY_LOCAL_RESTRICTIONS",
                            "enforcement": "MANDATORY",
                            "included": [
                                {
                                    "id": "2cf83da6-3b2b-4809-a6df-49305934fae1"
                                }
                            ]
                        },
                        {
                            "type": "UPCOMING",
                            "label": "MANDATORY_UPCOMING",
                            "enforcement": "MANDATORY",
                            "included": []
                        },
                        {
                            "type": "VISAS",
                            "label": "No visa required",
                            "enforcement": "NOT_REQUIRED",
                            "included": [
                                {
                                    "id": "79343e59-e231-4898-a5f1-fb51771f54d6"
                                }
                            ]
                        }
                    ]
                }
            },

Relationships

The relationships object contains both a restrictions and procedures object within it. These show the complete list of applicable restrictions and procedure IDs respectively for the trip.

"relationships": {
            "restrictions": {
                "meta": {
                    "count": 3
                },
                "data": [
                    {
                        "id": "8675bb5f-1ae8-43e5-afab-80de64c0b665",
                        "type": "RESTRICTION"
                    },
                    {
                        "id": "57ab7fb3-ec16-4f01-8da2-fbd9c1301d96",
                        "type": "RESTRICTION"
                    },
                    {
                        "id": "e09d1ff6-e22e-47b4-bea9-14b0bf3faf6c",
                        "type": "RESTRICTION"
                    }
                ]
            },
            "procedures": {
                "meta": {
                    "count": 17
                },
                "data": [
                    {
                        "id": "72b16890-9e85-4804-9ab5-c7890b039b04",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "8c29aed6-fa2f-407b-9d98-cb6feefe11db",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "generated-procedure-mandatory-covid-USA",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "d46ce91b-c8ba-4125-932b-456cb2374236",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "bf14a075-ac7b-4e78-bc8f-3f546f85ff55",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "47e625dd-110b-4ce2-97b8-f46330fc957d",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "74d49e05-4410-480c-b158-eba3049d5736",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "7eec65a1-603b-4ac9-8506-d9e9d311a2ad",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "2cf83da6-3b2b-4809-a6df-49305934fae1",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "79343e59-e231-4898-a5f1-fb51771f54d6",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "4794a440-db77-4f38-bacf-83136a33b4ef",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "4b76c85f-871b-4288-ab5c-361ff74e6bb9",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "bf49195e-7698-4f4e-90d0-1caa3a4fe08c",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "a6b0f451-6001-457b-8546-62f075f231e7",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "bb39892f-14ea-4a77-b1ae-7df6d5aed382",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "796db632-063b-47e0-84bd-0e93193c3fb0",
                        "type": "PROCEDURE"
                    },
                    {
                        "id": "generated-procedure-notRequired-visa-CAN",
                        "type": "PROCEDURE"
                    }
                ]
            }
        }

Included

The included attribute is an array containing all the details about each restriction and/or procedure mentioned by their IDs throughout all the previous parts of the response.

Procedures:

Below is an example of a single procedure object from the included array.

❗️

Not every procedure will include every attribute

The included attributes depend on the type of procedure.

{
            "id": "490639a9-effe-47f4-8c0c-839d46fc8529",
            "type": "PROCEDURE",
            "attributes": {
                "country": "EGY",
                "title": "Electronic visitor visa",
                "description": "Travelers need a visa to visit Egypt for Business or Tourism.\n\nAn eVisa is the fastest and easiest way of obtaining a visa for Egypt because travelers can submit their application and supporting documents online. Once the application is approved, travelers receive their eVisa confirmation electronically. \n\nA valid visa is required to board the flight. If the visa is expired or doesn’t match the traveler’s passport information, travelers will not be able to board their flight.",
                "more": [],
                "enforcement": "MANDATORY",
                "documentType": [
                    "E_VISA"
                ],
                "documentLinks": [
                    {
                        "type": "LINK",
                        "url": "https://sherpa-widget.joinsherpa.io/applications/products/EGY_EVISA?affiliateId=sherpa",
                        "title": "Apply online",
                        "intent": "apply-product",
                        "provider": "sherpa",
                        "productId": "EGY_EVISA"
                    }
                ],
                "tags": [
                    "international",
                    "land",
                    "air",
                    "sea",
                    "tourism"
                ],
                "source": {
                    "sourceType": "GOVERNMENT",
                    "title": "Arab Republic of Egypt in the UK",
                    "url": "https://egyptconsulate.co.uk/visas/"
                },
                "lastUpdatedAt": "2022-11-03T15:45:00.000Z",
                "createdAt": "2021-07-27T03:27:00.000Z",
                "startDate": null,
                "endDate": null,
                "lengthOfStay": [
                    {
                        "type": "DAYS",
                        "value": 30,
                        "text": "30 days"
                    }
                ],
                "travelPurpose": [
                    "TOURISM"
                ],
                "numberOfEntries": [
                    {
                        "value": "SINGLE",
                        "label": "Single"
                    },
                    {
                        "value": "MULTIPLE",
                        "label": "Multiple"
                    }
                ],
                "included": [...],
                "category": "DOC_REQUIRED",
                "subCategory": "BEFORE_ARRIVAL"
            }
        },
AttributeTypeDescription
idstringThe unique identifier for this procedure.
typestringPROCEDURE
countrystringISO-3 code of the country that implemented this procedure.
regionstringThe code for the specific region this procedure applies to within that country (if applicable).
titlestringThe title of the procedure.
descriptionstringThe complete description of the procedure.
morearrayAny additional paragraphs of text that outline a more detailed description.

Mostly used for additional exemptions, edge cases, instructions or references.
enforcementstringDescribes the level of enforcement for this particular procedure.

Possible values.
severityintegerA value from 0 to 5 representing the severity level of this restriction.
documentTypearrayOnly applies to procedures requiring documentation.

List of applicable document types

Possible values.
documentLinksarrayDetails and URLs for any documents or forms that relate to this procedure.
medicalRequirementTypearrayCurrently only applies to COVID-19 testing procedures.

List of acceptable COVID-19 test types for this procedure.

Possible values.
testWindowarrayCurrently only applies to COVID-19 testing procedures.

List of acceptable test windows for each type of acceptable COVID-19 test for this procedure. See Test Windows.
tagsarrayList of keywords describing the content area of the procedure.

Possible values.
sourceobjectSee Sources.
lastUpdatedAtstringTimestamp for when this procedure was last updated.
createdAtstringTimestamp for when this procedure was added to the database.
startDatestringDate when this procedure will take effect.

If null then the procedure is already in effect.
endDatestringDate when this procedure will end.

If null then there is no information on when this procedure will end.
travelPurposestringIndicates the purpose of travel this procedure applies to. If empty, no particular purpose is included or excluded.

Possible values:
BUSINESS: For business purposes.
MEDICAL: For medical purposes such as attending surgery, staff of a surgical team, etc.
TOURISM: For touristic purposes only.
includedarrayList of location objects with the name and code of the origin countries and/or nationalities subject to this procedure.
categorystringThe category or variety of the procedure.

Possible values.
subCategorystringDescribes which stage of travel the procedure applies to.

Possible values.
defaultDurationInDaysintCurrently only applies to quarantine procedures.

The number of days required for quarantining as part of this procedure.

Restrictions:

Below is an example of a single restriction object from the included array.

❗️

Not every restriction will include every attribute

The included attributes depend on the type of restriction.

{
            "id": "e09d1ff6-e22e-47b4-bea9-14b0bf3faf6c",
            "type": "RESTRICTION",
            "attributes": {
                "country": "CAN",
                "title": "Travel is allowed with restrictions for vaccinated travelers",
                "description": "...",
                "more": [
                    "..."
                ],
                "severity": 1,
                "documentLinks": [],
                "tags": [
                    "international",
                    "fully_vaccinated",
                    "air"
                ],
                "source": {
                    "sourceType": "GOVERNMENT",
                    "title": "Government of Canada",
                    "url": "https://travel.gc.ca/travel-covid/travel-restrictions/flying#health-check"
                },
                "lastUpdatedAt": "2022-04-26T20:29:00Z",
                "createdAt": "2021-09-22T14:31:00Z",
                "startDate": "2021-09-27T00:00:00Z",
                "endDate": null,
                                "travelPurpose": [],
                "included": [...],
                                "category": "RESTRICTED_ENTRY",
                "subCategory": "ENTRY"
                    }
AttributeTypeDescription
idstringThe unique identifier for this restriction.
typestringRESTRICTION
countrystringISO-3 code of the country that implemented this restriction.
regionstringThe code for the specific region this restriction applies to within that country (if applicable).
titlestringThe title of the restriction.
descriptionstringThe complete description of the restriction.
morearrayAny additional paragraphs of text that outline a more detailed description.

Mostly used for additional exemptions, edge cases, instructions or references.
severityobjectA value from 0 to 5 representing the severity level of this restriction.
documentLinksarrayList of URLs leading to any documents or forms that relate to this restriction.
tagsarrayList of keywords describing the content area of the restriction.

Possible values.
sourceobjectSee Sources.
lastUpdatedAtstringTimestamp for when this restriction was last updated.
createdAtstringTimestamp for when this restriction was added to the database.
startDatestringDate when this restriction will take effect.

If null then the restriction is already in effect.
endDatestringDate when this restriction will end.

If null then there is no information on when this restriction will end.
travelPurposearrayIndicates the purpose of travel this restriction applies to. If empty, no particular purpose is included or excluded.

Possible values:
BUSINESS: For business purposes.
MEDICAL: For medical purposes such as attending surgery, staff of a surgical team, etc.
TOURISM: For touristic purposes only.
includedarrayList of location objects with the name and code of the origin countries and/or nationalities subject to this restriction.
categorystringDescribes the level of restrictiveness in place and what the restriction applies to.

Possible values.
subCategorystringDescribes which stage of travel the restriction applies to.

Possible values.

Test Windows

Test windows can either be in days or hours and are used to specify when various COVID-19 tests must be taken by a traveller for the purpose of conforming to a particular procedure as part of their trip.

AttributeTypeDescription
conditionstringRefers to when the test needs to be taken.

Possible values:
BEFORE_ARRIVAL
BEFORE_DEPARTURE
BEFORE_FINAL_BOARDING
AFTER_ARRIVAL
AFTER_DEPARTURE
AFTER_FINAL_BOARDING
typestringPossible values:
DAYS
HOURS
valueintegerNumber of days/hours.
textstringTranslated value and type attributes into a single string.
medicalRequirementTypestringList of acceptable COVID-19 test types for this procedure.

Possible values.

Sources

Each procedure or restriction object includes a source object to identify where Sherpa obtained the rest of the information about the procedure or restriction. Each source object follows this format.

AttributeTypeDescription
sourceTypestringPossible values:
GOVERNMENT
AIRLINE
AIRPORT
titlestringThe name of the source.
urlstringThe direct link to the source of the restriction/procedure.