Flight Ticket, Hotel Booking, Visa — 3 types

Travel Documents


Travel document types extract structured itinerary and booking data. and handle printed tickets, PDF bookings, and scanned visa pages.


flight_ticket — Flight Ticket

Analysis type: extraction

Handles single-leg and multi-leg itineraries, multiple passengers, and bookings from any airline or travel platform.

Fields extracted

FieldTypeNotes
passenger_namestringFull name of primary / lead passenger
all_passengersobject[]Each: name, title (Mr/Mrs/Ms/Mstr), ticket_number
airlinestringPrimary airline name
flight_numberstringFirst leg flight number
pnrstringPNR or booking reference
booking_idstringBooking platform reference
booking_statusstringconfirmed, waitlisted, cancelled
origin_citystringFirst departure city
origin_iatastring3-letter IATA code or null
origin_countrystringCountry of departure
destination_citystringFinal destination city (skips transit stops)
destination_iatastringFinal destination IATA code or null
destination_countrystringFinal destination country
via_citiesstring[]Intermediate connection cities
departure_datestringYYYY-MM-DD — date of first departure leg
departure_timestringHH:MM or null
arrival_datestringYYYY-MM-DD — arrival at final destination
arrival_timestringHH:MM or null
travel_classstringeconomy, business, first
baggage_allowancestringe.g. 15kg, 2 pieces
total_farenumbernull if not printed
currencystringnull if not printed

Validation rules

FieldRule
passenger_nameRequired
destination_cityRequired
destination_countryRequired
departure_dateRequired · Format: date_iso

Example

const result = await client.verify.document({
  doc_type: "flight_ticket",
  file_url: "https://storage.example.com/flight_booking.pdf",
});
// result.output.passenger_name → "SHARMA ANITA"
// result.output.pnr → "ABC123"
// result.output.origin_city → "Mumbai"
// result.output.destination_city → "London"
// result.output.destination_country → "United Kingdom"
// result.output.departure_date → "2026-04-15"
// result.output.via_cities → ["Dubai"]

hotel_booking — Hotel Booking

Analysis type: extraction

Handles booking confirmations from hotels and OTAs (MakeMyTrip, Booking.com, Agoda, etc.).

Fields extracted

FieldTypeNotes
guest_namestringLead / primary guest name as on booking
all_guestsobject[]Each: name, is_primary
hotel_namestringHotel / property name
addressstringFull property address
citystringnull if not printed
countrystringCountry where hotel is located
check_in_datestringYYYY-MM-DD
check_out_datestringYYYY-MM-DD
num_nightsintegernull if not computed
num_roomsintegernull if not shown
room_typestringe.g. Deluxe, Standard, Suite
meal_planstringe.g. breakfast included, half board, room only
num_adultsintegernull if not printed
num_childrenintegernull if not printed
booking_idstringConfirmation / booking number
booking_statusstringconfirmed, pending, cancelled
total_amountnumbernull if not printed
currencystringnull if not printed
property_contactstringPhone or email
cancellation_policystringFree cancellation date or policy summary

Validation rules

FieldRule
guest_nameRequired
hotel_nameRequired
countryRequired
check_in_dateRequired · Format: date_iso
check_out_dateRequired · Format: date_iso

Example

const result = await client.verify.document({
  doc_type: "hotel_booking",
  file_url: "https://storage.example.com/hotel_confirmation.pdf",
});
// result.output.guest_name → "Rohan Verma"
// result.output.hotel_name → "The Leela Palace"
// result.output.check_in_date → "2026-04-20"
// result.output.check_out_date → "2026-04-23"
// result.output.num_nights → 3
// result.output.country → "India"

visa — Visa

Analysis type: extraction

Extracts data from visa sticker pages affixed in passports, covering tourist, business, work, student, and transit visas from any country.

Fields extracted

FieldTypeNotes
holder_namestringVisa holder name
passport_numberstringnull if not printed on visa
nationalitystringnull if not printed
issuing_countrystringCountry that issued the visa
visa_numberstringnull if not printed
visa_typestringtourist, business, work, student, transit, medical etc.
entriesstringsingle, multiple, double
place_of_issuestringEmbassy or consulate
date_of_issuestringYYYY-MM-DD or null
date_of_expirystringYYYY-MM-DD or null
valid_fromstringYYYY-MM-DD or null
valid_untilstringYYYY-MM-DD or null
duration_of_staystringe.g. 90 days, 30 days
remarksstringnull if not printed
mrz_line1stringnull if not visible
mrz_line2stringnull if not visible

Validation rules

FieldRule
holder_nameRequired
visa_typeRequired
issuing_countryRequired

Example

const result = await client.verify.document({
  doc_type: "visa",
  file_url: "https://storage.example.com/uk_visa.jpg",
});
// result.output.issuing_country → "United Kingdom"
// result.output.visa_type → "tourist"
// result.output.entries → "multiple"
// result.output.valid_from → "2026-04-01"
// result.output.valid_until → "2026-10-01"
// result.output.duration_of_stay → "180 days in total"