Entry Requirements Widget
The Entry Requirements Widget lets you show travellers what they need in order to enter โ and connect through โ the countries on their trip, without writing any code against the Sitata API. It injects a small, self-contained wizard into your page: the traveller enters their trip, and the widget presents the relevant entry requirements for each leg.
What It Shows
The widget is a short three-step wizard:
- Travel Details โ nationality, origin, destination, trip type (one-way or round-trip) and dates.
- Connection Details โ any layover/connecting countries, outbound and (for round trips) return.
- Summary โ the results.
The results screen groups requirements into clear, expandable categories for the destination and for each connecting country:
- Visa and Passport
- Forms (any entry forms that must be completed)
- Insurance (whether travel insurance is required for entry)
Each requirement shows a colour-coded status (for example Required, Not required, Required for most), an explanatory note, and links to official sources where available. Round trips show separate Departure and Return tabs, and the traveller can print the summary.
info
This widget is a complete rewrite of Sitata's earlier map-based widget. If you previously embedded the old sitata-covid-map script, note that COVID-era content (testing, quarantine, vaccination status) has been retired, and the embed API has changed โ the loader script, global object, and ready event are all new (see below).
Getting Started
Embedding the widget takes a container element and a few lines of JavaScript. First, add a place for the widget and reference the loader script, which injects the widget's JavaScript and CSS into your page:
<!-- the widget will be injected here -->
<div id="entry-widget"></div>
<!-- put this script tag just before your closing </body> tag -->
<script async type="text/javascript" src="https://www.sitata.com/widgets/entry.js"></script>
Next, wait for the widget to load by listening for the sitata:entryReady event, then instantiate and run it with your configuration:
window.document.addEventListener("sitata:entryReady", function () {
var el = document.getElementById("entry-widget");
var widget = new window.Sitata.entry(el, {
// your organization's identifier
orgId: "<YOUR ORG ID HERE>",
// your organization's PUBLIC token
token: "<YOUR PUBLIC TOKEN HERE>"
});
widget.run();
});
That is the entire contract: a container element, new window.Sitata.entry(el, options), then .run(). The widget mounts itself into the element you provide.
Authentication
The widget authenticates your organization with your orgId and your public token (sent as Authorization: PUB <token>) โ the same public token used by Sitata's other embeddable widgets, and safe for front-end use. Requests are validated against your allow-listed referer domains, so make sure the domain you embed on is registered with Sitata.
Styling
The widget ships with minimal styling and inherits your page's font. Every element carries a sit-* CSS class (for example sit-entry-app, sit-rule-card, sit-btn, sit-input) that you can target with your own stylesheet to match your look and feel. The input field style can also be switched between Vuetify variants via the ui.inputStyle option.
Next we will cover the configuration options.