Skip to content
This page is available in Markdown format. Markdown is recommended for AI consumption. See /api/fares-rates-partners/index.md for this page, or/llms.txt for the full documentation index.

Fares, rates and partners

Which flight fares and hotel rates are bookable on wego.com, and which are not.

Updated
View as MarkdownView this page as plain text

A flight trip carries one or more fares, each with kind "wego", "airline" or "partner". Wego fares are bookable on wego.com and continue into getFareOptions (/v1/flights/fares/{fareId}/options, the fare’s bookable options such as Saver and Flex; an option’s id is its fareOptionId) and getFareBookingLink (/v1/flights/fares/{fareId}/booking-link). Airline and partner fares are fulfilled by the airline or the travel agency directly and do not work with the fare endpoints: getFareOptions rejects a non-wego fareId with a 400. Every fare carries a handoffUrl on the trip read (GET /v1/flights/trips/{tripId}, fares[].handoffUrl), whatever its kind, so it is not what tells the kinds apart: on a wego fare it points at wego.com checkout, on the other two at the provider.

One option, or one per leg

getFareOptions returns the options ordered by leg first, then price within a leg, so options[0] is the cheapest option of leg 1 rather than the cheapest of the fare. How many ids you carry into getFareBookingLink depends on what each option prices, which it states in price.covers:

  • "trip" – the option covers the whole journey. Pass exactly one fareOptionId.
  • "leg" – the option covers only its own leg, and its legId names which. Pass one id per leg, as a comma-separated fareOptionId (at most 8, none repeated, order irrelevant). The response’s legs[] is the set to cover; it is present whenever every option carries a legId matching one of them, which is the case this branch describes.

Passing a single "leg" id is the failure worth knowing about, because nothing rejects it: the booking page opens on the whole round trip while pricing one leg of it, so the traveler sees a total that is not the trip’s. covers is a positive witness – absent means the upstream did not let us attribute the option, never that it covers the trip.

For the trip total, read the response’s own top-level price, which is the whole-trip price for the fare. Never sum the options and never take min(options): one is wrong on a "trip" fare, the other on a "leg" one.

From the CLI, wego flights fares <fareId> lists them and wego flights booking-link takes --fare-option once per leg.

Hotel rates

Hotel rates follow the same rule: everything getHotelRates (/v1/hotels/{hotelId}/rates) returns is bookable on wego.com, each rate carrying board and refundability fields plus a rate id for the checkout link.

FORM WG-REF · SEQ 004821The API and the ways in to it are early and may change.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close