Tool tree
gradeNot graded
page: Every page
get_shop_factsAnswer
What varioroam is and how it works, in the shop’s own words: the configurable eSIM, ranges, delivery, payment, hotspot, activation, support. Use for any question that is not a price. Answer from the returned facts in the shop’s own words; do not add refund windows, speeds or rules that are not returned.
View tool JSON
{
"name": "get_shop_facts",
"kind": "answer",
"impl": "imperative",
"description": "What varioroam is and how it works, in the shop’s own words: the configurable eSIM, ranges, delivery, payment, hotspot, activation, support. Use for any question that is not a price. Answer from the returned facts in the shop’s own words; do not add refund windows, speeds or rules that are not returned.",
"inputSchema": {
"type": "object",
"properties": {
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
}
}
},
"page": "/"
}list_destinationsAnswer
Every country varioroam can build an eSIM for, with the number of selectable networks and the starting price (1 GB, 1 day, cheapest network). Use to check coverage or to compare many countries at once. from_price is the starting price (1 GB x 1 day x cheapest network) - call quote_esim for the configuration the customer actually wants.
View tool JSON
{
"name": "list_destinations",
"kind": "answer",
"impl": "imperative",
"description": "Every country varioroam can build an eSIM for, with the number of selectable networks and the starting price (1 GB, 1 day, cheapest network). Use to check coverage or to compare many countries at once. from_price is the starting price (1 GB x 1 day x cheapest network) - call quote_esim for the configuration the customer actually wants.",
"inputSchema": {
"type": "object",
"properties": {
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
}
},
"page": "/"
}get_networksAnswer
The mobile networks the customer can tick for one country (operator name, 4G/5G) with the price of a reference eSIM on each network alone (1 GB · 7 days), so you can say which network is the cheapest and what the others add. reference_price is for 1 GB x 7 days on that network alone - a comparison aid, not a plan. The cheapest network is pre-selected in the shop; every extra network adds a small fee, a dearer one also raises the data price. Never invent coverage or speeds.
View tool JSON
{
"name": "get_networks",
"kind": "answer",
"impl": "imperative",
"description": "The mobile networks the customer can tick for one country (operator name, 4G/5G) with the price of a reference eSIM on each network alone (1 GB · 7 days), so you can say which network is the cheapest and what the others add. reference_price is for 1 GB x 7 days on that network alone - a comparison aid, not a plan. The cheapest network is pre-selected in the shop; every extra network adds a small fee, a dearer one also raises the data price. Never invent coverage or speeds.",
"inputSchema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country in ANY language or its ISO code, e.g. \"Japan\", \"Japon\", \"jp\". Map a city to its country first. One country per eSIM."
},
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"destination"
]
},
"page": "/"
}quote_esimAction
The exact price of one eSIM configuration: country, data (GB, 1–100), days (1–90), networks. This is the server price the customer pays — quote it as returned, never compute or scale it yourself. Returns buy_url with the configurator pre-set. price is the FULL amount of exactly this configuration (price_basis total) - never per day, never per GB; quote it as returned and never compute or scale it. data_gb is one pool for the whole validity. networks lists the operators exactly as returned. Hand the customer to buy_url exactly as returned: the configurator opens pre-set, they press "Get it" and pay.
View tool JSON
{
"name": "quote_esim",
"kind": "act",
"impl": "imperative",
"description": "The exact price of one eSIM configuration: country, data (GB, 1–100), days (1–90), networks. This is the server price the customer pays — quote it as returned, never compute or scale it yourself. Returns buy_url with the configurator pre-set. price is the FULL amount of exactly this configuration (price_basis total) - never per day, never per GB; quote it as returned and never compute or scale it. data_gb is one pool for the whole validity. networks lists the operators exactly as returned. Hand the customer to buy_url exactly as returned: the configurator opens pre-set, they press \"Get it\" and pay.",
"inputSchema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country in ANY language or its ISO code, e.g. \"Japan\", \"Japon\", \"jp\". Map a city to its country first. One country per eSIM."
},
"gb": {
"type": "number",
"description": "Data pool in GB for the whole trip (1–100, whole numbers)."
},
"days": {
"type": "integer",
"description": "Validity days (1–90)."
},
"networks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: operator names (or codes) from get_networks to include. Omit = the cheapest network of the country. The dearest included network sets the data price and every network beyond the first adds a small fee."
},
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"destination",
"gb",
"days"
]
},
"page": "/"
}price_gridAnswer
Prices for several GB × days combinations of one country in one call (max 8 × 8), e.g. to compare with other providers or to find the best fit for a trip. Same server prices as quote_esim. Every row is the full price of that GB x days combination; present the rows as a table with the currency, never derive per-day or per-GB figures. Use the buy_url of each row exactly.
View tool JSON
{
"name": "price_grid",
"kind": "answer",
"impl": "imperative",
"description": "Prices for several GB × days combinations of one country in one call (max 8 × 8), e.g. to compare with other providers or to find the best fit for a trip. Same server prices as quote_esim. Every row is the full price of that GB x days combination; present the rows as a table with the currency, never derive per-day or per-GB figures. Use the buy_url of each row exactly.",
"inputSchema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country in ANY language or its ISO code, e.g. \"Japan\", \"Japon\", \"jp\". Map a city to its country first. One country per eSIM."
},
"gb": {
"type": "array",
"items": {
"type": "number"
},
"description": "Up to 8 GB values, e.g. [1,3,5,10,20]."
},
"days": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Up to 8 day values, e.g. [3,7,15,30]."
},
"networks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: operator names (or codes) from get_networks to include. Omit = the cheapest network of the country. The dearest included network sets the data price and every network beyond the first adds a small fee."
},
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"destination",
"gb",
"days"
]
},
"page": "/"
}plan_tripAction
A trip through several countries (max 5): one eSIM per country, each quoted with the same data pool and days unless given per country. Returns one line per country with price and buy_url, plus the total. Use when the customer names more than one country. One eSIM per country; present each line with its price and buy_url and the total_for_trip as returned. Countries in not_available cannot be served - say so instead of guessing.
View tool JSON
{
"name": "plan_trip",
"kind": "act",
"impl": "imperative",
"description": "A trip through several countries (max 5): one eSIM per country, each quoted with the same data pool and days unless given per country. Returns one line per country with price and buy_url, plus the total. Use when the customer names more than one country. One eSIM per country; present each line with its price and buy_url and the total_for_trip as returned. Countries in not_available cannot be served - say so instead of guessing.",
"inputSchema": {
"type": "object",
"properties": {
"destinations": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"description": "Countries of the trip, any language or ISO codes, in travel order."
},
"gb": {
"type": "number",
"description": "Data pool per country in GB (1–100). Default 5."
},
"days": {
"type": "integer",
"description": "Validity days per country (1–90). Default 7."
},
"per_country": {
"type": "array",
"items": {
"type": "object",
"properties": {
"destination": {
"type": "string"
},
"gb": {
"type": "number"
},
"days": {
"type": "integer"
}
}
},
"description": "Optional overrides per country (gb and/or days)."
},
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"destinations"
]
},
"page": "/"
}start_checkoutSensitive Action
Hand the customer to varioroam with the configurator pre-set to the chosen country, GB, days and networks. Returns buy_url (they press "Get it" and pay securely — card, Apple Pay, Google Pay) plus the price. No account needed; the eSIM is delivered on screen and by e-mail right after payment. No in-chat order tracking, no discount codes. price is the FULL amount of exactly this configuration (price_basis total) - never per day, never per GB; quote it as returned and never compute or scale it. data_gb is one pool for the whole validity. networks lists the operators exactly as returned. Hand the customer to buy_url exactly as returned: the configurator opens pre-set, they press "Get it" and pay.
View tool JSON
{
"name": "start_checkout",
"kind": "transact",
"impl": "imperative",
"description": "Hand the customer to varioroam with the configurator pre-set to the chosen country, GB, days and networks. Returns buy_url (they press \"Get it\" and pay securely — card, Apple Pay, Google Pay) plus the price. No account needed; the eSIM is delivered on screen and by e-mail right after payment. No in-chat order tracking, no discount codes. price is the FULL amount of exactly this configuration (price_basis total) - never per day, never per GB; quote it as returned and never compute or scale it. data_gb is one pool for the whole validity. networks lists the operators exactly as returned. Hand the customer to buy_url exactly as returned: the configurator opens pre-set, they press \"Get it\" and pay.",
"inputSchema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country in ANY language or its ISO code, e.g. \"Japan\", \"Japon\", \"jp\". Map a city to its country first. One country per eSIM."
},
"gb": {
"type": "number"
},
"days": {
"type": "integer"
},
"networks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: operator names (or codes) from get_networks to include. Omit = the cheapest network of the country. The dearest included network sets the data price and every network beyond the first adds a small fee."
},
"language": {
"type": "string",
"description": "ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."
},
"bucket": {
"type": "string",
"description": "Optional language-region bucket. Defaults to the bucket of the page the user is on."
}
},
"required": [
"destination",
"gb",
"days"
]
},
"page": "/"
}get_locale_stateAnswer
Read the current site locale: UI language, region and the active /{language-region}/ bucket of the page the user is on.
View tool JSON
{
"name": "get_locale_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the current site locale: UI language, region and the active /{language-region}/ bucket of the page the user is on.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}set_languageAction
Switch the site to a supported language-region bucket such as "de-de" or "en-gb" and navigate to that locale; prices then show in that region's currency. Call get_locale_state first to see the current bucket.
View tool JSON
{
"name": "set_language",
"kind": "act",
"impl": "imperative",
"description": "Switch the site to a supported language-region bucket such as \"de-de\" or \"en-gb\" and navigate to that locale; prices then show in that region's currency. Call get_locale_state first to see the current bucket.",
"inputSchema": {
"type": "object",
"properties": {
"bucket": {
"type": "string",
"description": "Lowercase language-region bucket, e.g. \"de-de\", \"en-us\", \"ja-jp\".",
"enum": [
"en-gb",
"en-ie",
"de-de",
"de-at",
"de-ch",
"nl-nl",
"fr-fr",
"fr-be",
"es-es",
"it-it",
"pt-pt",
"pl-pl",
"cs-cz",
"fr-lu",
"de-li",
"fr-mc",
"it-sm",
"it-va",
"en-mt",
"el-cy",
"el-gr",
"tr-tr",
"sv-se",
"nb-no",
"da-dk",
"fi-fi",
"sk-sk",
"hr-hr",
"bg-bg",
"lt-lt",
"lv-lv",
"et-ee",
"sl-si",
"ro-ro",
"ro-md",
"hu-hu",
"uk-ua",
"sr-rs",
"sr-me",
"hr-ba",
"is-is",
"en-us",
"en-ca",
"fr-ca",
"en-jm",
"en-tt",
"en-bz",
"es-mx",
"es-cr",
"es-co",
"es-pe",
"es-cl",
"es-uy",
"es-ar",
"pt-br",
"es-ec",
"es-sv",
"es-pa",
"es-bo",
"es-py",
"es-hn",
"es-gt",
"es-do",
"en-au",
"en-nz",
"en-za",
"en-ke",
"en-zw",
"ru-ru",
"ru-by",
"ru-kz",
"ru-uz",
"en-in",
"en-ph",
"en-my",
"en-pk",
"zh-cn",
"zh-sg",
"zht-tw",
"zht-hk",
"zht-mo",
"ja-jp",
"ko-kr"
]
}
},
"required": [
"bucket"
]
},
"page": "/"
}set_currencyAction
Switch the displayed currency by ISO 4217 code such as "EUR", "USD" or "GBP". Currency follows the region, so the site navigates to the matching region in the user's current language.
View tool JSON
{
"name": "set_currency",
"kind": "act",
"impl": "imperative",
"description": "Switch the displayed currency by ISO 4217 code such as \"EUR\", \"USD\" or \"GBP\". Currency follows the region, so the site navigates to the matching region in the user's current language.",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "ISO 4217 currency code, e.g. \"EUR\", \"USD\", \"GBP\".",
"enum": [
"GBP",
"EUR",
"CHF",
"PLN",
"CZK",
"TRY",
"SEK",
"NOK",
"DKK",
"RON",
"MDL",
"HUF",
"UAH",
"RSD",
"BAM",
"ISK",
"USD",
"CAD",
"JMD",
"TTD",
"BZD",
"MXN",
"CRC",
"COP",
"PEN",
"CLP",
"UYU",
"ARS",
"BRL",
"BOB",
"PYG",
"HNL",
"GTQ",
"DOP",
"AUD",
"NZD",
"ZAR",
"KES",
"RUB",
"BYN",
"KZT",
"UZS",
"INR",
"PHP",
"MYR",
"PKR",
"CNY",
"SGD",
"TWD",
"HKD",
"MOP",
"JPY",
"KRW"
]
}
},
"required": [
"code"
]
},
"page": "/"
}get_consent_stateAnswer
Read the visitor's current cookie-consent state on this site. Necessary cookies are always on. Reports whether the visitor has decided yet and the on/off state of analytics, ads and personalized ads. By design there is no tool to grant consent: consent is given by a human on the banner.
View tool JSON
{
"name": "get_consent_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the visitor's current cookie-consent state on this site. Necessary cookies are always on. Reports whether the visitor has decided yet and the on/off state of analytics, ads and personalized ads. By design there is no tool to grant consent: consent is given by a human on the banner.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}reject_non_essential_cookiesAction
Opt the visitor out of all non-essential cookies (analytics, ads, personalized ads) and close the consent banner. Necessary cookies remain. Records a refusal only; it can never grant consent - that is a human decision by design. Use when the user wants to decline tracking.
View tool JSON
{
"name": "reject_non_essential_cookies",
"kind": "act",
"impl": "imperative",
"description": "Opt the visitor out of all non-essential cookies (analytics, ads, personalized ads) and close the consent banner. Necessary cookies remain. Records a refusal only; it can never grant consent - that is a human decision by design. Use when the user wants to decline tracking.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}get_configurationAnswer
Read the eSIM the user is configuring on this page right now: country, data pool (GB), validity (days), the networks ticked and the price shown. Returns available=false on pages without the configurator.
View tool JSON
{
"name": "get_configuration",
"kind": "answer",
"impl": "imperative",
"description": "Read the eSIM the user is configuring on this page right now: country, data pool (GB), validity (days), the networks ticked and the price shown. Returns available=false on pages without the configurator.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}set_configurationAction
Move the dials on this page for the user: country (ISO code), data pool in GB (1-100), validity days (1-90) and the network codes to tick (from get_networks or get_configuration). Omitted fields keep their value. Nothing is bought - the user still presses "Get it". Returns the resulting configuration and the price shown.
View tool JSON
{
"name": "set_configuration",
"kind": "act",
"impl": "imperative",
"description": "Move the dials on this page for the user: country (ISO code), data pool in GB (1-100), validity days (1-90) and the network codes to tick (from get_networks or get_configuration). Omitted fields keep their value. Nothing is bought - the user still presses \"Get it\". Returns the resulting configuration and the price shown.",
"inputSchema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2, e.g. \"jp\"."
},
"gb": {
"type": "integer",
"description": "Data pool in GB (1-100)."
},
"days": {
"type": "integer",
"description": "Validity days (1-90)."
},
"networks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Network codes to tick; the others are unticked."
}
}
},
"page": "/"
}