UgrĂĄs a tartalomhoz
← Back to the journal

Online booking widget — embeddable on any agency site

Iframe-free React widget for WordPress/Wix/HTML sites, white-label theme, GDPR + deposit/final-payment flow. Conversion: 4.2% vs OTA 1.8%.

Online booking widget — embeddable on any agency site

70% of Hungarian travel-agency websites run on WordPress, 15% on Wix, 10% on plain static HTML and 5% on bespoke builds. The customer wants to book on the agency's own site — not on a third-party platform. The Travelium booking widget solves exactly that: an embeddable component that runs in every environment.

How the embed works

Two lines of code go into the agency site:

<div id="travelium-widget" data-tenant="agency-slug"></div>
<script src="https://widget.travelium.hu/v1/loader.js" async></script>

The loader recognises the tenant id, fetches the matching branding config (logo, colours, font) and renders an iframe-free React component. Avoiding iframes is intentional: from an SEO standpoint the content stays indexable, and it doesn't clash with the host page's CSP.

White-label theme

Every agency gets an admin panel where they can set:

  • Primary + secondary colour (hex)
  • Logo (SVG or PNG)
  • Border radius (0–24 px)
  • Font (Google Fonts or inherit the host's font-family)
  • Action button copy (HU/EN/DE)

The widget visually becomes the agency's own brand in 5 minutes. The customer does not feel third-party software running underneath.

The booking flow step by step

  1. Search — destination, dates, traveller count.
  2. Result list — hotel + flight combinations, sorted by price.
  3. Package details — photos, description, cancellation terms.
  4. Customer data — contact + traveller details (name, DOB, passport optional).
  5. GDPR + ToS consent — two separate checkboxes, mandatory.
  6. Deposit payment — 20–30% online (Stripe or SimplePay), remainder paid 30 days before departure.
  7. Confirmation — voucher by email, with calendar invite.

Between step 4 and 5 sits a Stripe Element or SimplePay redirect; PCI-DSS compliant, the agency never sees a card number.

Deposit + final-payment split

The Hungarian agency norm: 20–30% deposit at booking, the remainder 30 days before departure. The widget handles this natively: on Stripe's side two separate PaymentIntents are created — the first captures immediately, the second sits in requires_capture. At the 30-day deadline the Travelium backend triggers capture automatically, or if the card has expired meanwhile, it emails the customer for new details.

Conversion number: 4.2%

Based on 6 months of data from 8 Hungarian agencies: the widget's average conversion (search → successful booking) is 4.2%. For comparison: generic OTAs (Booking, Expedia) sit around 1.8%.

Why higher? Because the visitor already landed on a specific agency's site — their buying intent is pre-qualified. The widget simply doesn't waste that intent with too many steps, foreign UI or SSO pop-ups.

Mobile-first reality

64% of traffic at the 8 Hungarian agencies arrives on mobile. The widget's React components are built mobile-first: the search form collapses to a single column, results are cards (not tables), the payment screen offers Apple Pay and Google Pay alongside a classic card form. The total JS bundle is 84 kB gzipped — loads in 1.1 seconds on an average Hungarian 4G connection.

Accessibility: WCAG 2.1 AA compliance audited. Keyboard navigation works across the entire flow, screen readers (VoiceOver, NVDA) tested on all 7 steps. This is rare at Hungarian agencies but an EU tender condition and a rising market expectation.

Lesson

An own booking widget is not a branding luxury. Its measurable conversion lift is 2.3x over a generic OTA. The key: fast load (iframe-free), CSP-friendly embed, reliable deposit flow, and visual unity with the agency's brand.

Let's talk about your project

Tell us what you are building — we will figure out how to help.

Online booking widget — embeddable on any agency site — Nortinia Journal | Nortinia