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"
+}
addedInput schema / properties / currency
Added value: +{
+ "description": "Optional ISO 4217 code. Every price in the result is quoted in it.",
+ "type": "string"
+}
changedInput schema / properties / language / description
Previous value: -"ISO language of the conversation. Sets the landing-page language/currency of the link."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."
changedInput schema / properties / product_id / description
Previous value: -"WooCommerce product id from search_esim_plans."New value: +"Product id from search_esim_plans or recommend_plan."
addedOutput schema / 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 / 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 / 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 / coverage_count
Added value: +{
+ "description": "Number of countries in coverage_countries.",
+ "type": "integer"
+}
addedOutput schema / 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 / coverage_note
Added value: +{
+ "description": "Coverage caveat to present verbatim, e.g. traffic routed via Hong Kong.",
+ "type": "string"
+}
addedOutput schema / 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 / currency / description
Added value: +"ISO 4217 currency of every price in this object."
changedOutput schema / 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 / data / description
Previous value: -"Data Pack: total data label."New value: +"Data Pack: total data label, e.g. \"5GB\"."
addedOutput schema / properties / data_gb / description
Added value: +"Data amount in GB. Meaning given by data_period."
addedOutput schema / 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 / days
Added value: +{
+ "description": "Validity in days (Data Pack).",
+ "type": "integer"
+}
changedOutput schema / 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 / description
Removed value: -{
- "type": "string"
-}
addedOutput schema / properties / expires_on
Added value: +{
+ "description": "Stock expiry date (YYYY-MM-DD) when the product itself has one.",
+ "type": "string"
+}
addedOutput schema / properties / fair_use
Added value: +{
+ "description": "Fair-use policy text from the supplier, when stated.",
+ "type": "string"
+}
addedOutput schema / 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 / 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 / last_updated
Added value: +{
+ "description": "Date the plan was last updated in the catalogue (YYYY-MM-DD).",
+ "type": "string"
+}
addedOutput schema / properties / name / description
Added value: +"Short plan name: destination · data · validity · type."
removedOutput schema / properties / network
Removed value: -{
- "description": "Speed token only (e.g. 4G/LTE/5G) — never a carrier/operator name.",
- "type": "string"
-}
addedOutput schema / properties / network_generation
Added value: +{
+ "description": "Network technology, e.g. \"4G/LTE/5G\". Never an operator name.",
+ "type": "string"
+}
addedOutput schema / 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 / plan_note
Added value: +{
+ "description": "One-sentence vendor fact to present verbatim when present; overrides the generic type description.",
+ "type": "string"
+}
changedOutput schema / 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 / 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 / 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 / price_is_final
Added value: +{
+ "description": "Always true: no tax or fee is added at checkout.",
+ "type": "boolean"
+}
changedOutput schema / 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 / pricing_bucket
Added value: +{
+ "description": "language-region bucket the prices and links are quoted in, e.g. \"en-us\".",
+ "type": "string"
+}
addedOutput schema / properties / product_id / description
Added value: +"Product id. Use it for get_plan_details and start_checkout."
addedOutput schema / properties / rating / description
Added value: +"Average customer rating (1-5). Present only when reviews exist."
addedOutput schema / properties / review_count / description
Added value: +"Number of reviews. Present only when > 0."
addedOutput schema / properties / sku
Added value: +{
+ "description": "Catalogue SKU.",
+ "type": "string"
+}
addedOutput schema / properties / summary
Added value: +{
+ "description": "Short description in the requested language, from the product page.",
+ "type": "string"
+}
addedOutput schema / properties / tethering / description
Added value: +"Hotspot / tethering is supported where the network and device allow it (shop rule)."
addedOutput schema / properties / title
Added value: +{
+ "description": "Full product title in the requested language.",
+ "type": "string"
+}
addedOutput schema / properties / topup / additionalProperties
Added value: +true
addedOutput schema / properties / topup / description
Added value: +"Top-up possibility for this plan."
addedOutput schema / 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 / topup / type
Previous value: -"boolean"New value: +"object"
addedOutput schema / properties / transparency / description
Added value: +"A per-order Transparency link shows remaining data in near real-time."
changedOutput schema / properties / type / description
Previous value: -"Data Pack or Unlimited Flex."New value: +"Plan type."
addedOutput schema / properties / type / enum
Added value: +[
+ "Data Pack",
+ "Unlimited Flex"
+]
addedOutput schema / 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 / url / description
Added value: +"Product page in pricing_bucket. Use verbatim."
changedOutput schema / properties / validity / description
Previous value: -"Data Pack: validity label."New value: +"Validity label, e.g. \"30 days\"."
addedOutput schema / properties / voice_sms
Added value: +{
+ "description": "Always \"none\": data only, no telephone number, no SMS.",
+ "type": "string"
+}