swagger: '2.0' info: title: International SOS Travel Data API description: The Travel Data API is a REST-based web service that returns certain TravelTracker data in JSON format. Requests should be POSTed to the endpoints in JSON format. You must include an Authorization header value of the API key you were provided, and a Content-Type header value of "application/json". The rate limit of this API is a maximum of one call per 10 minutes. version: 1.0.0 host: api.internationalsos.com basePath: /traveldata_eu schemes: - https produces: - application/json; version=v1 parameters: dateQuery: name: dateQuery in: body description: Date range for search query schema: type: object properties: fromGmtDate: description: Records modified after this date/time will be returned. type: string format: date-time toGmtDate: description: Records modified before this date/time will be returned. type: string format: date-time paths: /getIataLocations: post: summary: Fetch IATA codes description: Returns IATA location records modified between the optional fromGmtDate and optional toGmtDate. All IATA location records are returned if no dates are provided in the request. The IATA location details returned here can be used as reference for the IATA code returned in method getTravelLocationPlans. parameters: - $ref: '#/parameters/dateQuery' responses: 200: description: Success schema: $ref: '#/definitions/iata' 403: description: Credentials not accepted /getTravelLocationPlans: post: summary: Query travel location plans description: | Returns travel location plan records modified between the fromGmtDate and toGmtDate. A travel location plan record is also returned if it contains a hotel travel location (segment) whose geocode information was updated between the specified dates. Travel location plan records contain one or more travel location objects and one or more profile objects. If the requested date range exceeds the service’s configured maximum allowable date range (24 hours), an HTTP Bad Request (400) error is returned. In this case, the request should be resubmitted with a smaller date range. parameters: - $ref: '#/parameters/dateQuery' responses: 200: description: Success schema: $ref: '#/definitions/plans' 400: description: Requested date range exceeds maximum allowable range, or response size exceeds maximum allowable size 403: description: Credentials not accepted /getTravelLocationPlansInitialLoad: post: summary: Query travel location plans description: | Returns travel location plan records modified between the fromGmtDate and toGmtDate. A travel location plan record is also returned if it contains a hotel travel location (segment) whose geocode information was updated between the specified dates. Travel location plan records contain one or more travel location objects and one or more profile objects. If the requested date range exceeds the service’s configured maximum allowable date range (7 days), an HTTP Bad Request (400) error is returned. In this case, the request should be resubmitted with a smaller date range. parameters: - $ref: '#/parameters/dateQuery' responses: 200: description: Success schema: $ref: '#/definitions/plans' 400: description: Requested date range exceeds maximum allowable range, or response size exceeds maximum allowable size 403: description: Credentials not accepted definitions: iata: type: object properties: IataLocations: type: array items: type: object properties: IataLocationCode: description: The unique 3-letter code for this IATA location. type: string minLength: 3 maxLength: 3 FacilityName: description: Name of the IATA location. type: string Active: description: False if this location is no longer present or is otherwise inactive; otherwise true. type: boolean CityName: description: Name of city associated to the IATA location. type: string StateCode: description: State code/abbreviation of the IATA location, or blank if unknown or not available. type: string CountryName: description: Country name of the IATA location. type: string GMTOffsetMinutes: description: Offset from GMT in minutes for the IATA location when not during daylight savings time. type: integer GMTOffsetMinutesWhenDST: description: Offset from GMT in minutes for the IATA location when during daylight savings time, or null if no DST exists for the IATA location. type: integer Latitude: description: Latitude of the IATA location in decimal degrees. type: number minimum: -90 maximum: 90 Longitude: description: Longitude of the IATA location in decimal degrees. type: number minimum: -180 maximum: 180 GmtDateInserted: description: Date and time in GMT time zone when IATA location was most recently inserted into the International SOS database. type: string format: date-time GmtDateModified: description: Date and time in GMT time zone when IATA location was most recently updated in the International SOS database. type: string format: date-time plans: type: object properties: TravelLocationPlans: type: array items: type: object properties: PnrLocationPlanId: description: The unique travel location plan ID. type: integer GmtDateInserted: description: The date whenthe travel location plan was created. type: string format: date-time GmtDateModified: description: The date when the travel location plan was last updated. type: string format: date-time TripSource: description: The source of the travel location plan. type: string enum: - PNR(GDS and Non-GDS) - PTL - Manual Trip Entry - TT5 Manual Trip - Mobile - Vismo - Forwarded Itinerary Active: description: True if the travel location plan has not been made inactive; otherwise false. type: boolean RecordLocator: description: Record locator of the PNR, or blank if no record locator is available (e.g. for mobile check-ins). type: string TravelLocations: description: Array of TravelLocation objects (segments). If a PNR is cancelled, then it will have zero objects. type: array items: type: object properties: TravelerLocationId: description: The current travel location ID. This ID is changed every time an updated travel location plan is received. type: integer TravelerProfileId: description: The unique traveler profile ID. Information on this traveler profile is available in the Profiles list in this response. type: integer SegmentType: description: The type of the travel location. type: string enum: - Air - Rail - Car - Hotel - Mobile - Header TravelerType: description: The type of the traveler for this travel location. type: string enum: - International - Domestic - Expat FromIataLocationCode: description: Three-letter code of the departure IATA location. More details like name of city, country etc. can be referenced from the data returned by the getIataLocations method. type: string ToIataLocationCode: description: Three-letter code of the destination IATA location. More details like name of city, country etc. can be referenced from the data returned by the getIataLocations method. type: string FromGmtDate: description: Date and time in GMT time zone for the departure location. type: string format: date-time ToGmtDate: description: Date and time in GMT time zone for the destination location. type: string format: date-time FromLocalDate: description: Date and time in local time zone for the departure location. type: string format: date-time ToLocalDate: description: Date and time in local time zone for the destination location. type: string format: date-time AirRailCode: description: Air or Rail segments only. IATA carrier code of the airline or rail vendor. type: string AirRailName: description: Air or Rail segments only. Name of airline or rail vendor. type: string AirRailNumber: description: Air or Rail segments only. Flight or train number. type: string Supplier: description: Car or Hotel segments only. Name of hotel or car rental company. type: string PhoneNumber: description: Hotel segments only. Phone number of the hotel. type: string Address: description: Hotel segments only. Address of the hotel. type: string GeocodeComplete: description: Hotel segments only. True if geocoding has been attempted for the address; otherwise false. type: boolean Latitude: description: For hotel segments, contains a decimal degrees latitude value only if address geocoding was successful. type: number minimum: -90 maximum: 90 Longitude: description: For hotel segments, contains a decimal degrees longitude value only if address geocoding was successful. type: number minimum: -180 maximum: 180 AccommodationType: description: Hotel segments only. Type of the accommodation. type: string enum: - Regular - Expat Residence FromMedicalRisk: description: Medical risk level for the departure country. Risk levels are current at the time the service response is generated. The travel location plan record’s modified date is not updated if a risk level changes. type: string enum: - Insignificant - Low - Medium - High - Extreme ToMedicalRisk: description: Travel segments only. Medical risk level for the destination country. type: string enum: - Insignificant - Low - Medium - High - Extreme FromSecurityRisk: description: Travel risk level for the departure country. type: string enum: - Insignificant - Low - Medium - High - Extreme ToSecurityRisk: description: Travel segments only. Travel risk level for the destination country. type: string enum: - Insignificant - Low - Medium - High - Extreme Profiles: description: Array of traveler Profile objects. If a PNR is cancelled, then it will have zero objects. type: array items: type: object properties: ProfileId: description: The unique traveler profile ID. type: integer Title: description: The traveler's honorific or title, or blank. type: string FirstName: description: The traveler's first name. type: string MiddleName: type: string LastName: description: The traveler's last name. type: string Suffix: description: The traveler's name's suffix, or blank. type: string ParentCompanyName: description: The name of the company for which the traveler is traveling. type: string BusinessUnit: description: The traveler's business unit, or blank. type: string EmployeeId: description: An employee ID associated to the traveler, or blank if none are associated. type: string Comments: type: string DateOfBirth: type: string Division: type: string Gender: type: string HomeCountry: type: string HomeSite: type: string IsVip: type: boolean PlaceOfBirth: type: string RegistrationId: type: string Salutation: type: string GmtDateInserted: description: The date and time when the traveler's profile was created. type: string format: date-time GmtDateModified: description: The date and time when the traveler's profile was last updated. type: string format: date-time EmailAddresses: type: array items: type: object properties: EmailAddress: description: One of the traveler's email addresses. type: string format: email EmailPriority: description: An indicator of the email address' preference. type: string enum: - Preferred - Not Preferred EmailType: type: string PhoneNumbers: type: array items: type: object properties: PhoneNumber: description: One of the traveler's phone numbers. type: string CountryCode: description: The country code of the phone number. type: string CountryName: description: The name of the country corresponding to the country code of the phone number type: string PhonePriority: description: An indicator of the phone number's preference. type: string enum: - Preferred - Not Preferred ApplicationVersion: type: string ConfigurationVersion: type: string DeviceId: type: string DeviceModel: type: string DeviceOsVersion: type: string LocationTrackingOptIn: type: boolean PhoneType: type: string Addresses: type: array items: type: object properties: Address1: type: string Address2: type: string Address3: type: string AddressType: type: string City: type: string Country: type: string PostalCode: type: string ProvinceState: type: string Jobs: type: array items: type: object properties: CostCode: type: string Department: type: string EmployeeId: type: string JobDescription: type: string JobTitle: type: string ProjectCode: type: string Documents: type: array items: type: object properties: Country: type: string DocumentNumber: type: string DocumentType: type: string ExpirationDate: type: string IssueDate: type: string Nationality: type: string securityDefinitions: Client ID: type: apiKey name: Authorization in: header security: - Client ID: []