{"ok":true,"site":{"host":"variotrip.com","url":"https://variotrip.com/","type":"live","desc":"Build one eSIM for every country of your trip: set the data and networks per country, the trip length once. One price, hotspot included, 180+ destinations.","tools":[{"name":"get_shop_facts","kind":"answer","impl":"imperative","description":"What variotrip is and how it works, in the shop’s own words: one mobile-data eSIM for the whole route, one shared data pool, the trip length, ranges, delivery, payment, hotspot, activation, top-ups (data, days or a country), router activation, e-mails, 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.","title":"Shop facts","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"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."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"list_destinations","kind":"answer","impl":"imperative","description":"Every country variotrip can put on a route, with the number of selectable networks and the starting price of a one-country route (1 GB · 7 days · cheapest network). Use to check coverage or to see which countries of a trip are available. from_price is the starting price of one country alone (1 GB x 7 days x cheapest network) - never add these up for a route; call quote_route for the route the customer actually wants.","title":"List destinations","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"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."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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 one-country route 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 a one-country route of 1 GB x 7 days on that network alone - a comparison aid, not a plan. The cheapest network is pre-selected; every extra network adds a small fee and can raise the price of the route. Never invent coverage or speeds.","title":"Networks of a country","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"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."},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"quote_route","kind":"act","impl":"imperative","description":"Use while the customer is still deciding — \"how much is …?\": the exact price of ONE eSIM for the whole route — the countries in travel order (1–8) with their networks, ONE data pool in GB for all of them and the trip length — the server price the customer would pay. A single country is a route of one. Quote it as returned, never compute, add up or scale it yourself. The result carries a buy_url for reference; when the customer says they want to buy, call start_checkout. ONE eSIM for the whole route: price is the FULL amount of exactly this route (price_basis total) - never per day, per GB or per country; quote it as returned and never add up, compute or scale it. data_gb is ONE pool for every country on the route; days count from the first connection on the route. networks lists the operators exactly as returned.","title":"Quote a route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"route":{"type":"array","minItems":1,"maxItems":8,"description":"The countries of the trip in travel order (1–8, each once).","items":{"type":"object","properties":{"destination":{"type":"string","description":"Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."},"networks":{"type":"array","items":{"type":"string"},"description":"Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."}},"required":["destination"]}},"gb":{"type":"integer","minimum":1,"maximum":100,"description":"The data pool for the WHOLE route in whole GB (1–100), shared by every country. Omit = sized for normal use (1.5 GB × days). Not sure? Call recommend_config."},"days":{"type":"integer","minimum":1,"maximum":90,"description":"Trip length in days (1–90) for the whole route, counted from the first connection anywhere on the route."},"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":["route","days"]},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"route":{"type":"array","description":"The countries on the eSIM in travel order with the networks of each.","items":{"type":"object","additionalProperties":true,"properties":{"destination":{"type":"string","description":"Country name (localized)."},"iso":{"type":"string","description":"ISO 3166-1 alpha-2, lower case."},"networks":{"type":"array","items":{"type":"string"},"description":"Operator names included for this country."},"networks_unmatched":{"type":"array","items":{"type":"string"},"description":"Requested names this country does not have."}}}},"countries":{"type":"integer"},"data_gb":{"type":"integer","description":"ONE data pool for every country on the route (whole GB), used wherever the customer is."},"days":{"type":"integer","description":"Trip length, counted from the first connection anywhere on the route."},"price":{"type":"number","description":"FULL price of this route in currency — the amount paid. Not per day, per GB or per country."},"currency":{"type":"string"},"price_basis":{"type":"string","enum":["total"]},"price_is_final":{"type":"boolean"},"hotspot":{"type":"boolean"},"activation_trigger":{"type":"string","description":"first_connection (anywhere on the route)"},"topup":{"type":"object","additionalProperties":true,"properties":{"kind":{"type":"string","enum":["route"]},"how":{"type":"string"}},"description":"How the customer adds data, days or a country later (not through the tools)."},"not_available":{"type":"array","items":{"type":"string"},"description":"Requested countries variotrip cannot add (left out of the quote)."},"note":{"type":"string","description":"Present when something about the request had to be adjusted — read it to the customer."},"buy_url":{"type":"string","description":"The route builder pre-set to exactly this route. Use verbatim."},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"recommend_config","kind":"act","impl":"imperative","description":"Use when the customer describes a trip instead of a size: the countries (with the days in each, when known) and how they use data (usage light / normal / heavy, or gb_per_day). Sizes the shared pool from the trip length and returns three server-quoted routes — exact, comfortable (×1.5) and generous (×2) — each with the pool in GB, the full price, a one-line reason and its buy_url, plus an optional budget check. Same prices as quote_route. Every option is a complete route with its own pool (data_gb), full price and buy_url; present them as returned. Countries in not_available cannot be served - say so instead of guessing.","title":"Recommend a route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"route":{"type":"array","minItems":1,"maxItems":8,"description":"The countries of the trip in travel order (1–8, each once).","items":{"type":"object","properties":{"destination":{"type":"string","description":"Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."},"networks":{"type":"array","items":{"type":"string"},"description":"Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."},"days_in_country":{"type":"integer","minimum":1,"maximum":90,"description":"Days the customer spends in this country. Without days, the trip length is the sum of the days_in_country given; with neither, the call fails with invalid_argument and asks for days."}},"required":["destination"]}},"days":{"type":"integer","minimum":1,"maximum":90,"description":"Trip length in days (1–90). Give days, or days_in_country on the countries (then the trip length is their sum). With neither, the call fails with invalid_argument asking for days."},"usage":{"type":"string","enum":["light","normal","heavy"],"description":"light ≈ 0.5 GB/day, normal ≈ 1.5 GB/day (default), heavy ≈ 4 GB/day."},"gb_per_day":{"type":"number","minimum":0.1,"maximum":100,"description":"Optional: the customer's own estimate in GB per day (wins over usage)."},"budget":{"type":"number","description":"Optional budget for the whole route in the quoted currency; options above it are marked."},"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":["route"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"price_grid","kind":"answer","impl":"imperative","description":"The same route priced for several trip lengths (days, max 8) and several pool sizes (gb, max 6), in one call — e.g. to compare with other providers or to find the best fit. Same server prices as quote_route; each cell has its own buy_url. Every row is the full price of the whole route for that trip length and pool size; present the rows as a table with the currency, never derive per-day, per-GB or per-country figures. Use the buy_url of each row exactly.","title":"Price grid for a route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"route":{"type":"array","minItems":1,"maxItems":8,"description":"The countries of the trip in travel order (1–8, each once).","items":{"type":"object","properties":{"destination":{"type":"string","description":"Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."},"networks":{"type":"array","items":{"type":"string"},"description":"Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."}},"required":["destination"]}},"days":{"type":"array","items":{"type":"integer","minimum":1,"maximum":90},"minItems":1,"maxItems":8,"description":"Up to 8 trip lengths, e.g. [7,14,21,30]."},"gb":{"type":"array","items":{"type":"integer","minimum":1,"maximum":100},"maxItems":6,"description":"Optional: up to 6 pool sizes for the whole route in whole GB, e.g. [5,10,20]. Omit = sized for normal use from each trip length."},"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":["route","days"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"start_checkout","kind":"transact","impl":"imperative","description":"Use only once the customer has decided to buy (\"I'll take it\", \"how do I buy?\"): the checkout handoff for one route (same input as quote_route). Returns the buy_url to give the customer, the final price and a ready-to-send checkout block (next_step, payment_methods, delivery) — on the page the route builder shows exactly this route; they press \"Get it\" and pay securely. No account needed; the eSIM is delivered on screen and by e-mail right after payment. No in-chat order tracking, no discount codes. For prices while the customer is still comparing, use quote_route. Give the customer buy_url exactly as returned together with next_step: the route builder opens with exactly this route, they press \"Get it\" and pay. Quote price as returned (the full amount for the whole route).","title":"Start secure checkout","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"route":{"type":"array","minItems":1,"maxItems":8,"description":"The countries of the trip in travel order (1–8, each once).","items":{"type":"object","properties":{"destination":{"type":"string","description":"Country in ANY language or its ISO code, e.g. \"Vietnam\", \"Viêt Nam\", \"vn\". Map a city to its country first."},"networks":{"type":"array","items":{"type":"string"},"description":"Optional: operator names (or codes) from get_networks for this country. Omit = its cheapest network."}},"required":["destination"]}},"gb":{"type":"integer","minimum":1,"maximum":100,"description":"The data pool for the WHOLE route in whole GB (1–100), shared by every country. Omit = sized for normal use (1.5 GB × days). Not sure? Call recommend_config."},"days":{"type":"integer","minimum":1,"maximum":90,"description":"Trip length in days (1–90) for the whole route, counted from the first connection anywhere on the route."},"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":["route","days"]},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"route":{"type":"array","description":"The countries on the eSIM in travel order with the networks of each.","items":{"type":"object","additionalProperties":true,"properties":{"destination":{"type":"string","description":"Country name (localized)."},"iso":{"type":"string","description":"ISO 3166-1 alpha-2, lower case."},"networks":{"type":"array","items":{"type":"string"},"description":"Operator names included for this country."},"networks_unmatched":{"type":"array","items":{"type":"string"},"description":"Requested names this country does not have."}}}},"countries":{"type":"integer"},"data_gb":{"type":"integer","description":"ONE data pool for every country on the route (whole GB), used wherever the customer is."},"days":{"type":"integer","description":"Trip length, counted from the first connection anywhere on the route."},"price":{"type":"number","description":"FULL price of this route in currency — the amount paid. Not per day, per GB or per country."},"currency":{"type":"string"},"price_basis":{"type":"string","enum":["total"]},"price_is_final":{"type":"boolean"},"hotspot":{"type":"boolean"},"activation_trigger":{"type":"string","description":"first_connection (anywhere on the route)"},"topup":{"type":"object","additionalProperties":true,"properties":{"kind":{"type":"string","enum":["route"]},"how":{"type":"string"}},"description":"How the customer adds data, days or a country later (not through the tools)."},"not_available":{"type":"array","items":{"type":"string"},"description":"Requested countries variotrip cannot add (left out of the quote)."},"note":{"type":"string","description":"Present when something about the request had to be adjusted — read it to the customer."},"buy_url":{"type":"string","description":"The route builder pre-set to exactly this route. Use verbatim."},"next_step":{"type":"string","description":"What the customer does now: open buy_url, press \"Get it\", pay."},"payment_methods":{"type":"array","items":{"type":"string"}},"delivery":{"type":"string","description":"How and when the eSIM arrives."},"message":{"type":"string","description":"A ready-to-send line for the customer."},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."}},"required":["buy_url","price","currency","next_step"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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.","title":"Read site locale","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"language":{"type":"string","description":"ISO language code of the UI."},"region":{"type":"string","description":"Two-letter region code."},"bucket":{"type":"string","description":"language-region bucket, e.g. \"en-us\"."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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.","title":"Switch site language","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"bucket":{"type":"string","description":"Lowercase language-region bucket, e.g. \"de-de\", \"en-us\", \"ja-jp\". The enum is the complete list of buckets this site offers; nothing outside it is accepted.","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"]},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"switched_to":{"type":"string","description":"The bucket the page is navigating to."},"error":{"type":"string","description":"Present only when the page refused the switch (a value outside the enum — the enum is exhaustive — or the locale could not be resolved on this page); absent on success."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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.","title":"Switch displayed currency","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"ISO 4217 currency code, e.g. \"EUR\", \"USD\", \"GBP\". The enum is the complete list of currencies this site shows; nothing outside it is accepted.","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"]},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"currency":{"type":"string"},"switched_to":{"type":"string","description":"The bucket the page is navigating to."},"error":{"type":"string","description":"Present only when the page refused the switch (a value outside the enum — the enum is exhaustive — or no region of the current language uses that currency); absent on success."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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.","title":"Read cookie consent","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"decided":{"type":"boolean","description":"true once the visitor has made any choice."},"necessary":{"type":"boolean","description":"Always true."},"analytics":{"type":"boolean"},"ads":{"type":"boolean"},"personalized_ads":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"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.","title":"Refuse non-essential cookies","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"necessary":{"type":"boolean"},"analytics":{"type":"boolean"},"ads":{"type":"boolean"},"personalized_ads":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"get_configuration","kind":"answer","impl":"imperative","description":"Read the route the user is building on this page right now: the countries in order with the ticked networks of each, the data pool in GB for the whole route, the trip length in days and the price shown. Returns available=false on pages without the route builder.","title":"Read the route","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"available":{"type":"boolean"},"days":{"type":"integer","description":"Trip length."},"data_gb":{"type":"integer","description":"ONE data pool for every country on the route."},"max_countries":{"type":"integer"},"route":{"type":"array","items":{"type":"object","properties":{"iso":{"type":"string"},"destination":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"operator":{"type":"string"},"selected":{"type":"boolean"}}}}}}},"price_display":{"type":"string","description":"The full price of the whole route as shown on the page, in the page currency."},"skipped":{"type":"array","items":{"type":"string"},"description":"Country codes that could not be added (unknown, twice, or over the maximum)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]},{"name":"set_configuration","kind":"act","impl":"imperative","description":"Set the route on this page for the user: route = the countries in travel order (ISO codes, each once, up to 8), each with optional network codes to tick (from get_networks or get_configuration); gb = the data pool for the whole route (1-100, whole GB); days = the trip length (1-90). route replaces the whole route; omit it to change only gb or days. Nothing is bought - the user still presses \"Get it\". Returns the resulting route and the price shown.","title":"Set the route","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"route":{"type":"array","maxItems":8,"items":{"type":"object","properties":{"iso":{"type":"string","description":"ISO 3166-1 alpha-2, e.g. \"vn\"."},"networks":{"type":"array","items":{"type":"string"},"description":"Network codes to tick; omitted = the cheapest network."}},"required":["iso"]}},"gb":{"type":"integer","description":"Data pool for the whole route in whole GB (1-100)."},"days":{"type":"integer","description":"Trip length in days (1-90)."}}},"outputSchema":{"type":"object","properties":{"available":{"type":"boolean"},"days":{"type":"integer","description":"Trip length."},"data_gb":{"type":"integer","description":"ONE data pool for every country on the route."},"max_countries":{"type":"integer"},"route":{"type":"array","items":{"type":"object","properties":{"iso":{"type":"string"},"destination":{"type":"string"},"networks":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"operator":{"type":"string"},"selected":{"type":"boolean"}}}}}}},"price_display":{"type":"string","description":"The full price of the whole route as shown on the page, in the page currency."},"skipped":{"type":"array","items":{"type":"string"},"description":"Country codes that could not be added (unknown, twice, or over the maximum)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-us/","/en-us/?route=vn,la,th&gb=10&days=21","/en-us/about/","/en-gb/","/de-de/"]}],"category":"Travel & Events","favicon":"/favicons/variotrip.com.png","apiSurface":"spec","toolCount":14}}