addedInput schema / properties / bucket
Added value: +{
+ "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.",
+ "type": "string"
+}
changedInput schema / properties / currency / description
Previous value: -"Optional ISO 4217 override for the headline \"from\" price. Normally derived from language."New value: +"Optional ISO 4217 code. Every price in the result is quoted in it."
changedInput schema / properties / destination / description
Previous value: -"Country or region, e.g. \"Thailand\", \"Japan\", \"Europe\". City names are mapped to their country."New value: +"Country or region in any language, e.g. \"Thailand\", \"Japon\", \"Europa\", or a 2-letter ISO code. For a city, pass its country."
addedInput schema / properties / destinations
Added value: +{
+ "description": "Several countries for one trip; only plans covering ALL of them are returned. Overrides destination.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5,
+ "type": "array"
+}
changedInput schema / properties / language / description
Previous value: -"ISO language of the conversation, e.g. en, de, ja, th. Sets the landing-page language and currency."New value: +"ISO language of the conversation, e.g. en, de, ja. Plan names and country names come back in it when available. Bare \"en\" is quoted in en-us / USD."
addedInput schema / properties / limit
Added value: +{
+ "description": "Plans to return. Default 10; all_plans_url lists everything.",
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / min_days
Added value: +{
+ "description": "Only plans valid for at least this many days (Unlimited Flex counts when days_range allows it).",
+ "minimum": 1,
+ "type": "integer"
+}
addedInput schema / properties / sort
Added value: +{
+ "description": "value = best price per GB / cheapest Flex first (default); price = cheapest first; data = most data first.",
+ "enum": [
+ "value",
+ "price",
+ "data"
+ ],
+ "type": "string"
+}
changedInput schema / required
Previous value: -[
- "destination"
-]New value: +[]
addedOutput schema / properties / destinations
Added value: +{
+ "description": "How each requested destination was understood.",
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "iso": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "query": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / properties / from_price / description
Previous value: -"Localized \"from\" price string."New value: +"Lowest price in this result set, shop-formatted (per-day plans count with their day price)."
addedOutput schema / properties / iso / description
Added value: +"Resolved ISO code or region slug of the (first) destination."
addedOutput schema / properties / message / description
Added value: +"Present when nothing matched: says why and what to try."
addedOutput schema / properties / note
Added value: +{
+ "description": "Present when part of the request could not be honoured (e.g. more than 5 destinations).",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / description
Added value: +"One eSIM plan. Every field is present only when the catalogue holds a value for it; an absent field is unknown, never \"no\"."
addedOutput schema / properties / plans / items / properties / activation_trigger
Added value: +{
+ "description": "\"install\": validity and billing start the moment the eSIM is installed — install only when ready to use. \"first_connection\": the eSIM can be installed before travel; validity starts on first connection to a network at the destination.",
+ "enum": [
+ "install",
+ "first_connection"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / always_on_rate / description
Previous value: -"Unlimited Flex: reduced rate after the daily allowance."New value: +"Unlimited Flex: reduced speed after the daily allowance, e.g. \"512 Kbit/s\". Empty when the plan is unlimited."
addedOutput schema / properties / plans / items / properties / coverage_count
Added value: +{
+ "description": "Number of countries in coverage_countries.",
+ "type": "integer"
+}
addedOutput schema / properties / plans / items / properties / coverage_countries
Added value: +{
+ "description": "Every country the plan works in, with the network operators per country when known.",
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "iso": {
+ "description": "ISO 3166-1 alpha-2, lowercase.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Country name in the requested language.",
+ "type": "string"
+ },
+ "networks": {
+ "description": "Operator names in that country, as the supplier lists them.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / plans / items / properties / coverage_note
Added value: +{
+ "description": "Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / covers_via
Added value: +{
+ "description": "Present when the plan was returned for a country it covers as part of a multi-country plan: the plan's own region name.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / currency / description
Added value: +"ISO 4217 currency of every price in this object."
changedOutput schema / properties / plans / items / properties / daily_high_speed / description
Previous value: -"Unlimited Flex: daily high-speed allowance."New value: +"Unlimited Flex: daily allowance at full speed, e.g. \"2GB\"; \"unlimited\" = unlimited data every day at full speed (fair-use policy)."
changedOutput schema / properties / plans / items / properties / data / description
Previous value: -"Data Pack: total data label."New value: +"Data Pack: total data label, e.g. \"5GB\"."
addedOutput schema / properties / plans / items / properties / data_gb / description
Added value: +"Data amount in GB. Meaning given by data_period."
addedOutput schema / properties / plans / items / properties / data_period
Added value: +{
+ "description": "\"total\": data_gb is the whole plan (Data Pack). \"per_day\": data_gb is the daily full-speed allowance (Unlimited Flex).",
+ "enum": [
+ "total",
+ "per_day"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / days
Added value: +{
+ "description": "Validity in days (Data Pack).",
+ "type": "integer"
+}
changedOutput schema / properties / plans / items / properties / days_range / description
Previous value: -"Only on price_basis \"per_day\": the durations the customer can choose, in days, e.g. \"1-365\"."New value: +"Unlimited Flex: choosable durations in days, \"1-365\"."
removedOutput schema / properties / plans / items / properties / description
Removed value: -{
- "type": "string"
-}
addedOutput schema / properties / plans / items / properties / expires_on
Added value: +{
+ "description": "Stock expiry date (YYYY-MM-DD) when the product itself has one.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / fair_use
Added value: +{
+ "description": "Fair-use policy text from the supplier, when stated.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / install_before_travel
Added value: +{
+ "description": "true when the eSIM can safely be installed before departure (activation_trigger first_connection).",
+ "type": "boolean"
+}
addedOutput schema / properties / plans / items / properties / ip_breakout
Added value: +{
+ "description": "Country whose internet connection the customer appears to use (IP breakout), ISO code(s) — matters for banking apps, streaming and mainland-China access. Vendor fact.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / last_updated
Added value: +{
+ "description": "Date the plan was last updated in the catalogue (YYYY-MM-DD).",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / name / description
Added value: +"Short plan name: destination · data · validity · type."
removedOutput schema / properties / plans / items / properties / network
Removed value: -{
- "description": "Speed token only (e.g. 4G/LTE/5G) — never a carrier/operator name.",
- "type": "string"
-}
addedOutput schema / properties / plans / items / properties / network_generation
Added value: +{
+ "description": "Network technology, e.g. \"4G/LTE/5G\". Never an operator name.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / networks
Added value: +{
+ "description": "Operator names across the plan (deduplicated). Per-country detail is in coverage_countries.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / plans / items / properties / plan_note
Added value: +{
+ "description": "One-sentence vendor fact to present verbatim when present; overrides the generic type description.",
+ "type": "string"
+}
changedOutput schema / properties / plans / items / properties / price / description
Previous value: -"Price in currency, to be read WITH price_basis: the full fixed price of the plan when price_basis is \"total\", the price of one day when it is \"per_day\". Never a per-GB rate."New value: +"Price in currency, read WITH price_basis: the full price of the plan when \"total\", the price of ONE day when \"per_day\". Never a per-GB rate. The price shown is the price paid."
changedOutput schema / properties / plans / items / properties / price_30_days / description
Previous value: -"Only on price_basis \"per_day\": the price for 30 days with the duration discount applied — the reference figure to quote for a stay of about a month. Absent when it cannot be computed; never infer it by multiplying price."New value: +"Only on price_basis \"per_day\": the price for 30 days with the duration discount applied — the reference figure to quote for a stay of about a month. Never infer it by multiplying."
changedOutput schema / properties / plans / items / properties / price_basis / description
Previous value: -"What `price` means. \"total\" = the whole plan (Data Pack). \"per_day\" = one day (Unlimited Flex): the duration is chosen at checkout within days_range; see price_30_days and price_max."New value: +"What `price` means."
addedOutput schema / properties / plans / items / properties / price_is_final
Added value: +{
+ "description": "Always true: no tax or fee is added at checkout.",
+ "type": "boolean"
+}
changedOutput schema / properties / plans / items / properties / price_max / description
Previous value: -"Only on price_basis \"per_day\": the price for the longest duration in days_range, discount applied. Absent when it cannot be computed; never infer it by multiplying price."New value: +"Only on price_basis \"per_day\": the price for the longest duration in days_range (365 days), discount applied. Never infer it by multiplying."
addedOutput schema / properties / plans / items / properties / pricing_bucket
Added value: +{
+ "description": "language-region bucket the prices and links are quoted in, e.g. \"en-us\".",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / product_id / description
Added value: +"Product id. Use it for get_plan_details and start_checkout."
addedOutput schema / properties / plans / items / properties / rating / description
Added value: +"Average customer rating (1-5). Present only when reviews exist."
addedOutput schema / properties / plans / items / properties / review_count / description
Added value: +"Number of reviews. Present only when > 0."
addedOutput schema / properties / plans / items / properties / sku
Added value: +{
+ "description": "Catalogue SKU.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / summary
Added value: +{
+ "description": "Short description in the requested language, from the product page.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / tethering / description
Added value: +"Hotspot / tethering is supported where the network and device allow it (shop rule)."
addedOutput schema / properties / plans / items / properties / title
Added value: +{
+ "description": "Full product title in the requested language.",
+ "type": "string"
+}
addedOutput schema / properties / plans / items / properties / topup / additionalProperties
Added value: +true
addedOutput schema / properties / plans / items / properties / topup / description
Added value: +"Top-up possibility for this plan."
addedOutput schema / properties / plans / items / properties / topup / properties
Added value: +{
+ "how": {
+ "description": "How the customer tops up.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "What TopUp can add without a new eSIM: data (Data Pack), days (Unlimited Flex), or none.",
+ "enum": [
+ "data",
+ "days",
+ "none"
+ ],
+ "type": "string"
+ }
+}
changedOutput schema / properties / plans / items / properties / topup / type
Previous value: -"boolean"New value: +"object"
addedOutput schema / properties / plans / items / properties / transparency / description
Added value: +"A per-order Transparency link shows remaining data in near real-time."
changedOutput schema / properties / plans / items / properties / type / description
Previous value: -"Data Pack or Unlimited Flex."New value: +"Plan type."
addedOutput schema / properties / plans / items / properties / type / enum
Added value: +[
+ "Data Pack",
+ "Unlimited Flex"
+]
addedOutput schema / properties / plans / items / properties / unused_valid_days
Added value: +{
+ "description": "Days the eSIM may remain unused after purchase before it expires (supplier value).",
+ "type": "integer"
+}
addedOutput schema / properties / plans / items / properties / url / description
Added value: +"Product page in pricing_bucket. Use verbatim."
changedOutput schema / properties / plans / items / properties / validity / description
Previous value: -"Data Pack: validity label."New value: +"Validity label, e.g. \"30 days\"."
addedOutput schema / properties / plans / items / properties / voice_sms
Added value: +{
+ "description": "Always \"none\": data only, no telephone number, no SMS.",
+ "type": "string"
+}
addedOutput schema / properties / pricing_bucket
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / returned
Added value: +{
+ "type": "integer"
+}
addedOutput schema / properties / total_available
Added value: +{
+ "description": "Plans matched before limit; the rest are on all_plans_url.",
+ "type": "integer"
+}