This page is pretending to be a customer's website.

It has nothing to do with travel. The only thing it does is load one script — the same line an affiliate would paste into their own site. The launcher in the corner is the widget.

What this page itself is running

The launcher in the corner is a real widget, not a mock-up. It is loaded with as its platform and as its API, and every search it runs is a live one against that platform.

Script tag options

AttributeWhat it does
data-platformWhich seller platform this embed sells for, e.g. seller.example.com.
data-apiThe API that serves that platform. Must be https.
data-affiliateThe referral code every outgoing link carries. Without it the search still works, but no booking is credited.
data-sideright (default) or left — which edge the launcher sits on.
data-offsetDistance from the corner in pixels. Default 24.
data-accentAny CSS colour, for the button, the active tab and prices.
data-langen or fa. Defaults to the page's own <html lang>.
data-dirltr or rtl. Follows the language unless set.
data-productsWhich tabs to offer, comma separated: flight,hotel,activity,tour.
data-openWhich tab opens first.
data-labelText on the launcher. none makes it a round icon button.

Why this needs a server at all

The travel API works out which platform a request belongs to from the request's Origin header. A browser sets that to the page's own host and forbids scripts from changing it, so a call straight from this page would arrive labelled with this domain and be rejected. The proxy behind /api presents the platform domain instead, which is what lets one widget work on any number of unrelated sites.