Tool tree
gradeNot graded
page: Every page
search_esim_plansAnswer
Find eSIM-Global.VIP eSIM plans for one destination or several (countries or regions, any language). Returns the best-value plans first with full facts, coverage lists and a direct link; multi-country plans that include the destination are returned too and marked covers_via. Use when a user wants mobile data abroad; use recommend_plan when they describe a whole trip. Present only returned facts. Read price with price_basis: "total" is the full plan price; "per_day" is the price of ONE day - say "from X per day", quote price_max for the full period, never multiply. Never per GB. Follow plan_note when present. Use url and all_plans_url exactly.
View tool JSON
{
"name": "search_esim_plans",
"kind": "answer",
"impl": "imperative",
"description": "Find eSIM-Global.VIP eSIM plans for one destination or several (countries or regions, any language). Returns the best-value plans first with full facts, coverage lists and a direct link; multi-country plans that include the destination are returned too and marked covers_via. Use when a user wants mobile data abroad; use recommend_plan when they describe a whole trip. Present only returned facts. Read price with price_basis: \"total\" is the full plan price; \"per_day\" is the price of ONE day - say \"from X per day\", quote price_max for the full period, never multiply. Never per GB. Follow plan_note when present. Use url and all_plans_url exactly.",
"inputSchema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Country or region in any language, e.g. \"Thailand\", \"Japon\", \"Europa\", or a 2-letter ISO code. For a city, pass its country."
},
"destinations": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"description": "Several countries for one trip; only plans covering ALL of them are returned. Overrides destination."
},
"type": {
"type": "string",
"enum": [
"data_pack",
"daily_pack",
"unlimited_flex",
"any"
],
"description": "Plan type. Default any."
},
"min_days": {
"type": "integer",
"minimum": 1,
"description": "Only plans valid for at least this many days (Unlimited Flex counts when days_range allows it)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "How many plans to return, best value first. Default 10; all_plans_url always lists everything."
},
"sort": {
"type": "string",
"enum": [
"value",
"price",
"data"
],
"description": "value = best price per GB / cheapest Flex first (default); price = cheapest first; data = most data first."
},
"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 the customer shops in, e.g. \"en-gb\", \"de-de\". Wins over language; prices and links are quoted in it."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": []
},
"page": "/"
}get_plan_detailsAnswer
Full facts for one eSIM-Global.VIP plan by product id: coverage with networks per country, data and speed rules, activation and validity rules, hotspot / APN / registration facts, top-up, refund rule, price with basis, reviews and link — quoted in the customer's bucket or currency when given. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. Read price with price_basis: "total" is the full plan price, "per_day" is one day - quote price_max for the full period, never multiply. Follow plan_note when present.
View tool JSON
{
"name": "get_plan_details",
"kind": "answer",
"impl": "imperative",
"description": "Full facts for one eSIM-Global.VIP plan by product id: coverage with networks per country, data and speed rules, activation and validity rules, hotspot / APN / registration facts, top-up, refund rule, price with basis, reviews and link — quoted in the customer's bucket or currency when given. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. Read price with price_basis: \"total\" is the full plan price, \"per_day\" is one day - quote price_max for the full period, never multiply. Follow plan_note when present.",
"inputSchema": {
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"description": "Product id from search_esim_plans or recommend_plan."
},
"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 the customer shops in, e.g. \"en-gb\", \"de-de\". Wins over language; prices and links are quoted in it."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"product_id"
]
},
"page": "/"
}start_checkoutSensitive Action
Hand the customer to the eSIM-Global.VIP shop to buy one plan. Returns buy_url (the product page where they tap Buy now and pay securely — card, Apple Pay, Google Pay, PayPal, with an optional discount code) plus the plan name and price in the customer's bucket or currency. No account needed; the eSIM is emailed right after payment. There is no in-chat order tracking. Hand the customer to buy_url exactly as returned, as one clear link; they pay on that page, where a discount code can be applied. No cart here, no order tracking.
View tool JSON
{
"name": "start_checkout",
"kind": "transact",
"impl": "imperative",
"description": "Hand the customer to the eSIM-Global.VIP shop to buy one plan. Returns buy_url (the product page where they tap Buy now and pay securely — card, Apple Pay, Google Pay, PayPal, with an optional discount code) plus the plan name and price in the customer's bucket or currency. No account needed; the eSIM is emailed right after payment. There is no in-chat order tracking. Hand the customer to buy_url exactly as returned, as one clear link; they pay on that page, where a discount code can be applied. No cart here, no order tracking.",
"inputSchema": {
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"description": "Product id to buy."
},
"days": {
"type": "integer",
"minimum": 1,
"description": "Unlimited Flex only: the duration the customer wants; the returned total_for_days is the checkout total for it."
},
"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 the customer shops in, e.g. \"en-gb\", \"de-de\". Wins over language; prices and links are quoted in it."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"product_id"
]
},
"page": "/"
}recommend_planAction
Turn a trip into up to three plan recommendations: countries (1-5, any language), number of days and how much data the traveller uses. Each fit carries the full plan facts, the total price for the whole trip and a one-sentence reason built only from catalogue facts. Use this first whenever the user describes a trip rather than asks for a list.
View tool JSON
{
"name": "recommend_plan",
"kind": "act",
"impl": "imperative",
"description": "Turn a trip into up to three plan recommendations: countries (1-5, any language), number of days and how much data the traveller uses. Each fit carries the full plan facts, the total price for the whole trip and a one-sentence reason built only from catalogue facts. Use this first whenever the user describes a trip rather than asks for a list.",
"inputSchema": {
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 5,
"description": "Countries or regions of the trip, any language."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "Trip length in days."
},
"usage": {
"type": "string",
"enum": [
"light",
"normal",
"heavy"
],
"description": "light ≈ 0.5 GB/day (maps, messaging), normal ≈ 1.5 GB/day (social, some video), heavy ≈ 4 GB/day (video, hotspot). Default normal."
},
"gb_per_day": {
"type": "number",
"minimum": 0.1,
"description": "Overrides usage with an explicit daily need in GB."
},
"budget": {
"type": "number",
"minimum": 0,
"description": "Optional maximum total for the trip, in the result currency."
},
"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 the customer shops in, e.g. \"en-gb\", \"de-de\". Wins over language; prices and links are quoted in it."
},
"currency": {
"type": "string",
"description": "Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."
}
},
"required": [
"countries",
"days"
]
},
"page": "/"
}get_shop_factsAnswer
How eSIM-Global.VIP works, in the shop's own words: delivery and installation, device requirements, payment methods, money-back guarantee, top-up, hotspot, support and company details. Use for any "how / when / what if" question that is not about one specific plan.
View tool JSON
{
"name": "get_shop_facts",
"kind": "answer",
"impl": "imperative",
"description": "How eSIM-Global.VIP works, in the shop's own words: delivery and installation, device requirements, payment methods, money-back guarantee, top-up, hotspot, support and company details. Use for any \"how / when / what if\" question that is not about one specific plan.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}get_locale_stateAnswer
Read the current site locale: UI language, region and the active /esimshop/{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 /esimshop/{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",
"en-tz",
"en-ug",
"en-bw",
"en-na",
"en-zm",
"en-lr",
"en-gm",
"en-rw",
"en-ag",
"en-bs",
"en-bb",
"en-gd",
"en-gy",
"fr-sn",
"fr-ci",
"fr-cm",
"fr-cg",
"fr-ml",
"fr-bf",
"fr-ne",
"fr-td",
"fr-tg",
"fr-bj",
"fr-ga",
"fr-dj",
"fr-mg",
"fr-gn",
"fr-ht",
"fr-cf",
"fr-bi",
"es-gq",
"pt-ao",
"pt-mz",
"pt-gw",
"pt-tl",
"en-sb",
"fr-nc",
"en-vu",
"da-gl",
"es-pr",
"en-fk",
"en-bn",
"pt-cv",
"ru-kg",
"ru-tj",
"vi-vn",
"id-id",
"th-th",
"hi-in",
"km-kh",
"lo-la",
"ne-np",
"bn-bd"
]
}
},
"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",
"TZS",
"UGX",
"BWP",
"NAD",
"ZMW",
"LRD",
"GMD",
"RWF",
"XCD",
"BSD",
"BBD",
"GYD",
"XOF",
"XAF",
"DJF",
"MGA",
"GNF",
"HTG",
"BIF",
"AOA",
"MZN",
"SBD",
"XPF",
"VUV",
"FKP",
"BND",
"CVE",
"KGS",
"TJS",
"VND",
"IDR",
"THB",
"KHR",
"LAK",
"NPR",
"BDT"
]
}
},
"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": "/"
}page: Thailand 1gb daypass
get_current_planAnswer
Read the plan on the product page the user is viewing right now: the same facts as get_plan_details for that product, priced as shown on the page. Use when the user asks about "this plan" or the page they are on. No input. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. Read price with price_basis: "total" is the full plan price, "per_day" is one day - quote price_max for the full period, never multiply. Follow plan_note when present.
View tool JSON
{
"name": "get_current_plan",
"kind": "answer",
"impl": "imperative",
"description": "Read the plan on the product page the user is viewing right now: the same facts as get_plan_details for that product, priced as shown on the page. Use when the user asks about \"this plan\" or the page they are on. No input. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. Read price with price_basis: \"total\" is the full plan price, \"per_day\" is one day - quote price_max for the full period, never multiply. Follow plan_note when present.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/esimshop/en-gb/product/thailand-1gb-daypass/"
}