What changed
Elements now cost nothing on every commercial model we run: revenue share, Desk and the Platform licence. Same components, same versions, no plan deciding which ones you are allowed to mount.
Until this week they were bundled by plan, with limits on which surfaces a partner could put them on. That produced a small amount of revenue and a large amount of explaining, most of it on calls about whether a status view justified an upgrade.
There are three components, and each belongs to a page you already have:
What the components are to us
They are the top of our own funnel. Every requirement rendered inside a booking flow is a fork in the traveler's afternoon. Either they apply on the page they are already looking at, or they open a search tab, and what usually waits for them there is a lookalike site charging several times the government fee. When that happens, the brand that sold the flight gets the angry email.
So the number of pages where our components are mounted is the input we care about most, and a price on the component lowers that number. It puts a procurement decision between us and the mount point. Some of those take a quarter, and some end with nothing mounted at all. We were charging a fee that narrowed our own funnel.
Every requirement we render inside a booking flow is an application we did not have to go out and find.
The components are free now, and the price lives on the outcome, not the tool. On revenue share that is the $39 service fee, shared with you on volume terms. On Desk you buy at the wholesale rate and set your own retail price. On the Platform licence the monthly minimum draws down per application. Consular fees pass through at cost in all three cases, which is the number travelers check.
The one thing that stayed paid
The Requirements API is still an add-on at $500 a month when you consume it standalone. I would rather explain that here than have someone find it on a pricing table and assume we were being cute about the word "free".
It is a data feed. You call it, you get documents, fees and processing times back, and you render them in your own interface. Nothing in that exchange tells us whether a traveler ever applied. Behind those answers are people reading government notices and retesting portals when a ministry quietly changes a form, across 190+ destinations. Applications fund that work. Lookups on their own do not, so they carry a price.
Elements are a different shape. They render our interface, so the application comes back to us on the same screen where the requirement appeared. That is why one carries a price and the other does not. Send applications through us and the lookups behind them are free on every model.
Existing mounts keep working exactly as they are. The plan limits have come off the console side. Nothing to redeploy, no keys to rotate.
Where to put them
Booking flow, before the payment page. The checker needs a nationality and a route to say anything useful. Collect passport details at check-in and the warning arrives after the traveler has already committed to the trip.
Confirmation page, under the itinerary. This is where the checkout launcher does most of its work. The traveler has just paid, and the document is the next real thing on their list.
Account area, beside the booking. The status view exists so nobody has to email you to ask. It is the quickest of the three to install and the first one to show up in your support numbers.
Practical notes
The components ship with defaults that look reasonable on a blank page and inherit your brand tokens from the console, so a first version is usually a mount call and a colour. They are versioned, and a pinned version keeps rendering the way it did on the day you pinned it. Sandbox keys arrive with signup, so the honest answer to "how long does this take" is the same afternoon, with no call in the middle. The full model comparison and the add-on list sit on the pricing page.
One thing I expect to get wrong: charging for Elements gave us a crude signal about which partners were serious about mounting them, and we have just removed it. We will be reading usage instead of invoices, which is a better measure and a slower one. If a component is sitting on your page doing nothing useful, tell us what is missing from it. The invoice used to tell us and now it cannot.