changedOutput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "alternatives": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "label": {
- "maxLength": 240,
- "type": "string"
- },
- "offer_summary": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "budget_eur": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "cheapest": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "in_stock",
- "delivery_1_3_days",
- "delivery_4_7_days",
- "delivery_4_10_days",
- "delivery_8_14_days",
- "by_order",
- "to_order",
- "preorder",
- "out_of_stock",
- "unknown"
- ],
- "type": "string"
- },
- "bundle_status": {
- "enum": [
- "single",
- "bundle",
- "unknown"
- ],
- "type": "string"
- },
- "condition": {
- "enum": [
- "new",
- "refurbished",
- "used",
- "open_box",
- "unknown"
- ],
- "type": "string"
- },
- "delivery_estimate": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "item_price": {
- "description": "Current item price in EUR before shipping.",
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_id": {
- "anyOf": [
- {
- "pattern": "^bp_merchant_[0-9]+$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_name": {
- "description": "Sanitized public BestPrice store name.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_rating_count": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "offer_id": {
- "pattern": "^bp_offer_[0-9]+$",
- "type": "string"
- },
- "price_checked_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Known or estimated shipping price in EUR; null means unknown."
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Delivered total in EUR; null whenever shipping is unknown."
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "offer_id",
- "merchant_id",
- "merchant_name",
- "merchant_rating",
- "merchant_rating_count",
- "verified_merchant",
- "item_price",
- "shipping_price",
- "shipping_status",
- "total_price",
- "availability",
- "condition",
- "bundle_status",
- "delivery_estimate",
- "price_checked_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "cheapest_within_budget": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "compared_offer_count": {
- "maximum": 10,
- "minimum": 0,
- "type": "integer"
- },
- "postal_code": {
- "anyOf": [
- {
- "pattern": "^[0-9]{5}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "price_basis": {
- "enum": [
- "item_price",
- "delivered_total"
- ],
- "type": "string"
- },
- "recommendation_reason": {
- "anyOf": [
- {
- "maxLength": 240,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "recommended": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "in_stock",
- "delivery_1_3_days",
- "delivery_4_7_days",
- "delivery_4_10_days",
- "delivery_8_14_days",
- "by_order",
- "to_order",
- "preorder",
- "out_of_stock",
- "unknown"
- ],
- "type": "string"
- },
- "bundle_status": {
- "enum": [
- "single",
- "bundle",
- "unknown"
- ],
- "type": "string"
- },
- "condition": {
- "enum": [
- "new",
- "refurbished",
- "used",
- "open_box",
- "unknown"
- ],
- "type": "string"
- },
- "delivery_estimate": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "item_price": {
- "description": "Current item price in EUR before shipping.",
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_id": {
- "anyOf": [
- {
- "pattern": "^bp_merchant_[0-9]+$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_name": {
- "description": "Sanitized public BestPrice store name.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_rating_count": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "offer_id": {
- "pattern": "^bp_offer_[0-9]+$",
- "type": "string"
- },
- "price_checked_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Known or estimated shipping price in EUR; null means unknown."
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Delivered total in EUR; null whenever shipping is unknown."
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "offer_id",
- "merchant_id",
- "merchant_name",
- "merchant_rating",
- "merchant_rating_count",
- "verified_merchant",
- "item_price",
- "shipping_price",
- "shipping_status",
- "total_price",
- "availability",
- "condition",
- "bundle_status",
- "delivery_estimate",
- "price_checked_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "recommended_within_budget": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "same_offer": {
- "type": "boolean"
- },
- "unknown_shipping_count": {
- "maximum": 10,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "postal_code",
- "price_basis",
- "recommended",
- "cheapest",
- "same_offer",
- "recommendation_reason",
- "budget_eur",
- "recommended_within_budget",
- "cheapest_within_budget",
- "compared_offer_count",
- "unknown_shipping_count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "requires_constraint_change": {
- "type": "boolean"
- },
- "tradeoff": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "product_id",
- "label",
- "tradeoff",
- "requires_constraint_change",
- "offer_summary"
- ],
- "type": "object"
- },
- "maxItems": 2,
- "type": "array"
- },
- "answer": {
- "maxLength": 8000,
- "type": "string"
- },
- "as_of": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "basket": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "as_of": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "currency": {
- "const": "EUR",
- "type": "string"
- },
- "locale": {
- "const": "el-GR",
- "type": "string"
- },
- "methodology_id": {
- "const": "bestprice_basket_bounded_v1",
- "type": "string"
- },
- "plans": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "item_subtotal": {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_count": {
- "exclusiveMinimum": 0,
- "maximum": 8,
- "type": "integer"
- },
- "merchants": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "item_subtotal": {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "items": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "bestprice_url": {
- "format": "uri",
- "type": "string"
- },
- "decision_id": {
- "description": "Signed, anonymous id joining this recommendation to its BestPrice landing and outbound-click telemetry.",
- "pattern": "^d1\\.[a-f0-9]{32}\\.[A-Za-z0-9_-]{43}$",
- "type": "string"
- },
- "line_total": {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "quantity": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "title": {
- "maxLength": 220,
- "minLength": 1,
- "type": "string"
- },
- "unit_price": {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "product_id",
- "title",
- "quantity",
- "unit_price",
- "line_total",
- "decision_id",
- "bestprice_url"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "minItems": 1,
- "type": "array"
- },
- "merchant_id": {
- "pattern": "^bp_merchant_[0-9]+$",
- "type": "string"
- },
- "merchant_name": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "reason": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "merchant_id",
- "merchant_name",
- "merchant_rating",
- "verified_merchant",
- "item_subtotal",
- "shipping_price",
- "shipping_status",
- "total_price",
- "reason",
- "items"
- ],
- "type": "object"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "plan_type": {
- "enum": [
- "cheapest",
- "fewer_merchants",
- "balanced"
- ],
- "type": "string"
- },
- "ranking_reason": {
- "maxLength": 180,
- "minLength": 1,
- "type": "string"
- },
- "reliability_score": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown",
- "mixed"
- ],
- "type": "string"
- },
- "shipping_total": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "plan_type",
- "merchant_count",
- "item_subtotal",
- "shipping_total",
- "shipping_status",
- "total_price",
- "reliability_score",
- "ranking_reason",
- "merchants"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "preferred_plan": {
- "anyOf": [
- {
- "enum": [
- "cheapest",
- "fewer_merchants",
- "balanced"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "schema_version": {
- "const": "2.0",
- "type": "string"
- },
- "unavailable_items": {
- "items": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- },
- "warnings": {
- "items": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "as_of",
- "currency",
- "locale",
- "warnings",
- "preferred_plan",
- "methodology_id",
- "plans",
- "unavailable_items"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "basket_request": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "requested_slots": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "family": {
- "enum": [
- "air_conditioner",
- "air_fryer",
- "espresso",
- "headphones",
- "laptop",
- "monitor",
- "phone",
- "refrigerator",
- "tv",
- "vacuum",
- "washer",
- "accessories",
- "peripherals",
- "dishwasher",
- "consoles",
- "projector",
- "tablet",
- "printer",
- "router",
- "drone",
- "smartwatch",
- "scanner",
- "powerbank",
- "kettle",
- "toaster",
- "bicycle",
- "fan",
- "blender",
- "mixer",
- "kitchen_machine",
- "microwave",
- "oven",
- "mini_oven",
- "bread_maker",
- "rice_cooker",
- "steamer",
- "grill",
- "teppanyaki",
- "hob",
- "deep_fryer",
- "robot_chef",
- "juicer",
- "waffle",
- "ice_cream_maker",
- "citrus_press",
- "sandwich_maker",
- "crepe_maker",
- "chocolate_fountain",
- "popcorn_maker",
- "donut_maker",
- "sewing_machine",
- "egg_boiler",
- "ice_maker",
- "water_cooler",
- "dehumidifier",
- "humidifier",
- "ionizer",
- "fireplace",
- "wood_stove",
- "pellet_stove",
- "air_curtain",
- "fan_heater",
- "water_heater",
- "halogen_stove",
- "convector",
- "gas_stove",
- "oil_stove",
- "outdoor_stove",
- "infrared_panel",
- "speakers",
- "desktop",
- "freezer",
- "software",
- "games",
- "shoes",
- "books",
- "clothing",
- "beauty",
- "baby_transport",
- "unknown"
- ],
- "type": "string"
- },
- "label": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "quantity": {
- "maximum": 20,
- "minimum": 1,
- "type": "integer"
- },
- "requirements": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "slot_id": {
- "pattern": "^slot_[1-9][0-9]?$",
- "type": "string"
- }
- },
- "required": [
- "slot_id",
- "family",
- "label",
- "quantity",
- "requirements"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "resolved_slots": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "catalog_price_eur": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "family": {
- "enum": [
- "air_conditioner",
- "air_fryer",
- "espresso",
- "headphones",
- "laptop",
- "monitor",
- "phone",
- "refrigerator",
- "tv",
- "vacuum",
- "washer",
- "accessories",
- "peripherals",
- "dishwasher",
- "consoles",
- "projector",
- "tablet",
- "printer",
- "router",
- "drone",
- "smartwatch",
- "scanner",
- "powerbank",
- "kettle",
- "toaster",
- "bicycle",
- "fan",
- "blender",
- "mixer",
- "kitchen_machine",
- "microwave",
- "oven",
- "mini_oven",
- "bread_maker",
- "rice_cooker",
- "steamer",
- "grill",
- "teppanyaki",
- "hob",
- "deep_fryer",
- "robot_chef",
- "juicer",
- "waffle",
- "ice_cream_maker",
- "citrus_press",
- "sandwich_maker",
- "crepe_maker",
- "chocolate_fountain",
- "popcorn_maker",
- "donut_maker",
- "sewing_machine",
- "egg_boiler",
- "ice_maker",
- "water_cooler",
- "dehumidifier",
- "humidifier",
- "ionizer",
- "fireplace",
- "wood_stove",
- "pellet_stove",
- "air_curtain",
- "fan_heater",
- "water_heater",
- "halogen_stove",
- "convector",
- "gas_stove",
- "oil_stove",
- "outdoor_stove",
- "infrared_panel",
- "speakers",
- "desktop",
- "freezer",
- "software",
- "games",
- "shoes",
- "books",
- "clothing",
- "beauty",
- "baby_transport",
- "unknown"
- ],
- "type": "string"
- },
- "label": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "quantity": {
- "maximum": 20,
- "minimum": 1,
- "type": "integer"
- },
- "selection_reason": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "slot_id": {
- "pattern": "^slot_[1-9][0-9]?$",
- "type": "string"
- }
- },
- "required": [
- "slot_id",
- "family",
- "label",
- "quantity",
- "product_id",
- "catalog_price_eur",
- "selection_reason"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "total_budget_eur": {
- "anyOf": [
- {
- "exclusiveMinimum": 0,
- "maximum": 1000000,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "unresolved_slots": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "candidate_product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "family": {
- "enum": [
- "air_conditioner",
- "air_fryer",
- "espresso",
- "headphones",
- "laptop",
- "monitor",
- "phone",
- "refrigerator",
- "tv",
- "vacuum",
- "washer",
- "accessories",
- "peripherals",
- "dishwasher",
- "consoles",
- "projector",
- "tablet",
- "printer",
- "router",
- "drone",
- "smartwatch",
- "scanner",
- "powerbank",
- "kettle",
- "toaster",
- "bicycle",
- "fan",
- "blender",
- "mixer",
- "kitchen_machine",
- "microwave",
- "oven",
- "mini_oven",
- "bread_maker",
- "rice_cooker",
- "steamer",
- "grill",
- "teppanyaki",
- "hob",
- "deep_fryer",
- "robot_chef",
- "juicer",
- "waffle",
- "ice_cream_maker",
- "citrus_press",
- "sandwich_maker",
- "crepe_maker",
- "chocolate_fountain",
- "popcorn_maker",
- "donut_maker",
- "sewing_machine",
- "egg_boiler",
- "ice_maker",
- "water_cooler",
- "dehumidifier",
- "humidifier",
- "ionizer",
- "fireplace",
- "wood_stove",
- "pellet_stove",
- "air_curtain",
- "fan_heater",
- "water_heater",
- "halogen_stove",
- "convector",
- "gas_stove",
- "oil_stove",
- "outdoor_stove",
- "infrared_panel",
- "speakers",
- "desktop",
- "freezer",
- "software",
- "games",
- "shoes",
- "books",
- "clothing",
- "beauty",
- "baby_transport",
- "unknown"
- ],
- "type": "string"
- },
- "label": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "quantity": {
- "maximum": 20,
- "minimum": 1,
- "type": "integer"
- },
- "reason": {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "slot_id": {
- "pattern": "^slot_[1-9][0-9]?$",
- "type": "string"
- }
- },
- "required": [
- "slot_id",
- "family",
- "label",
- "quantity",
- "reason"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
- },
- "version": {
- "const": "bestprice_basket_request_v1",
- "type": "string"
- }
- },
- "required": [
- "version",
- "requested_slots",
- "resolved_slots",
- "unresolved_slots",
- "total_budget_eur"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "blocking_constraints": {
- "items": {
- "maxLength": 200,
- "type": "string"
- },
- "maxItems": 24,
- "type": "array"
- },
- "brain": {
- "additionalProperties": false,
- "properties": {
- "decision_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "decision_version": {
- "const": "bestprice_decision_v1",
- "type": "string"
- },
- "evidence_fingerprint": {
- "description": "Fingerprint of the original, unmodified Brain evidence; the public evidence below is a returned-product subset.",
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "projection_version": {
- "const": "bestprice_mcp_decision_v1",
- "type": "string"
- }
- },
- "required": [
- "projection_version",
- "decision_version",
- "decision_id",
- "evidence_fingerprint"
- ],
- "type": "object"
- },
- "clarifications": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "question": {
- "maxLength": 2000,
- "type": "string"
- },
- "reason": {
- "maxLength": 100,
- "type": "string"
- }
- },
- "required": [
- "question",
- "reason"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- },
- "comparison": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "as_of": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "comparison_type": {
- "enum": [
- "specifications",
- "delivered_cost"
- ],
- "type": "string"
- },
- "feature_rows": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "differs": {
- "type": "boolean"
- },
- "group": {
- "anyOf": [
- {
- "maxLength": 80,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "label": {
- "maxLength": 100,
- "type": "string"
- },
- "values": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "product_id",
- "value"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- }
- },
- "required": [
- "id",
- "label",
- "group",
- "values",
- "differs"
- ],
- "type": "object"
- },
- "maxItems": 12,
- "type": "array"
- },
- "postal_code": {
- "anyOf": [
- {
- "pattern": "^[0-9]{5}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "price_spread_eur": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "products": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "badges": {
- "items": {
- "maxLength": 100,
- "type": "string"
- },
- "maxItems": 4,
- "type": "array"
- },
- "delivered_offer": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "in_stock",
- "delivery_1_3_days",
- "delivery_4_7_days",
- "delivery_4_10_days",
- "delivery_8_14_days",
- "by_order",
- "to_order",
- "preorder",
- "out_of_stock",
- "unknown"
- ],
- "type": "string"
- },
- "delivery_estimate": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "item_price": {
- "description": "Current item price in EUR before shipping.",
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_name": {
- "description": "Sanitized public BestPrice store name.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_rating_count": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "postal_code": {
- "anyOf": [
- {
- "pattern": "^[0-9]{5}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Known or estimated shipping price in EUR; null means unknown."
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Delivered total in EUR; null whenever shipping is unknown."
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "merchant_name",
- "merchant_rating",
- "merchant_rating_count",
- "verified_merchant",
- "item_price",
- "shipping_price",
- "shipping_status",
- "total_price",
- "availability",
- "delivery_estimate",
- "postal_code"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "badges",
- "delivered_offer"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "minItems": 2,
- "type": "array"
- },
- "warnings": {
- "items": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- }
- },
- "required": [
- "comparison_type",
- "products",
- "feature_rows",
- "price_spread_eur",
- "postal_code",
- "warnings",
- "as_of"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "constraints": {
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- },
- "type": "object"
- },
- "currency": {
- "const": "EUR",
- "type": "string"
- },
- "evidence": {
- "additionalProperties": false,
- "properties": {
- "claims": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "claim_id": {
- "maxLength": 160,
- "type": "string"
- },
- "feature": {
- "additionalProperties": false,
- "properties": {
- "group": {
- "maxLength": 80,
- "type": "string"
- },
- "id": {
- "maximum": 9007199254740991,
- "minimum": -9007199254740991,
- "type": "integer"
- },
- "label": {
- "maxLength": 100,
- "type": "string"
- }
- },
- "required": [
- "id",
- "label",
- "group"
- ],
- "type": "object"
- },
- "field": {
- "maxLength": 100,
- "type": "string"
- },
- "kind": {
- "enum": [
- "observed",
- "derived"
- ],
- "type": "string"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "source_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "supporting_claim_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "maxItems": 8,
- "minItems": 1,
- "type": "array"
- },
- "validation": {
- "maxLength": 100,
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "number"
- },
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "claim_id",
- "product_id",
- "field",
- "value",
- "kind",
- "source_ids",
- "validation"
- ],
- "type": "object"
- },
- "maxItems": 2048,
- "type": "array"
- },
- "scope": {
- "const": "returned_products",
- "type": "string"
- },
- "sources": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "capability": {
- "maxLength": 40,
- "type": "string"
- },
- "checked_at": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- "freshness": {
- "enum": [
- "fresh",
- "stale",
- "unknown"
- ],
- "type": "string"
- },
- "kind": {
- "enum": [
- "catalog_snapshot",
- "merchant_offer",
- "basket_quote",
- "price_history",
- "review_sample",
- "decision_policy"
- ],
- "type": "string"
- },
- "max_age_seconds": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "record_id": {
- "maxLength": 160,
- "type": "string"
- },
- "scope": {
- "enum": [
- "cluster",
- "offer",
- "product_family"
- ],
- "type": "string"
- },
- "source_id": {
- "maxLength": 160,
- "type": "string"
- },
- "source_observed_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "source_id",
- "kind",
- "record_id",
- "product_id",
- "scope",
- "capability",
- "checked_at",
- "source_observed_at",
- "freshness",
- "max_age_seconds"
- ],
- "type": "object"
- },
- "maxItems": 256,
- "type": "array"
- }
- },
- "required": [
- "scope",
- "sources",
- "claims"
- ],
- "type": "object"
- },
- "locale": {
- "const": "el-GR",
- "type": "string"
- },
- "message": {
- "anyOf": [
- {
- "maxLength": 8000,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "near_miss": {
- "additionalProperties": false,
- "properties": {
- "over_by_eur": {
- "type": "number"
- }
- },
- "required": [
- "over_by_eur"
- ],
- "type": "object"
- },
- "next_action": {
- "additionalProperties": false,
- "properties": {
- "bestprice_url": {
- "anyOf": [
- {
- "format": "uri",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "reason": {
- "maxLength": 100,
- "type": "string"
- },
- "requires_user_action": {
- "const": true,
- "type": "boolean"
- },
- "type": {
- "enum": [
- "compare",
- "create_alert",
- "provide_context"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "reason",
- "requires_user_action",
- "bestprice_url"
- ],
- "type": "object"
- },
- "offer_summary": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "budget_eur": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "cheapest": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "in_stock",
- "delivery_1_3_days",
- "delivery_4_7_days",
- "delivery_4_10_days",
- "delivery_8_14_days",
- "by_order",
- "to_order",
- "preorder",
- "out_of_stock",
- "unknown"
- ],
- "type": "string"
- },
- "bundle_status": {
- "enum": [
- "single",
- "bundle",
- "unknown"
- ],
- "type": "string"
- },
- "condition": {
- "enum": [
- "new",
- "refurbished",
- "used",
- "open_box",
- "unknown"
- ],
- "type": "string"
- },
- "delivery_estimate": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "item_price": {
- "description": "Current item price in EUR before shipping.",
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_id": {
- "anyOf": [
- {
- "pattern": "^bp_merchant_[0-9]+$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_name": {
- "description": "Sanitized public BestPrice store name.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_rating_count": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "offer_id": {
- "pattern": "^bp_offer_[0-9]+$",
- "type": "string"
- },
- "price_checked_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Known or estimated shipping price in EUR; null means unknown."
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Delivered total in EUR; null whenever shipping is unknown."
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "offer_id",
- "merchant_id",
- "merchant_name",
- "merchant_rating",
- "merchant_rating_count",
- "verified_merchant",
- "item_price",
- "shipping_price",
- "shipping_status",
- "total_price",
- "availability",
- "condition",
- "bundle_status",
- "delivery_estimate",
- "price_checked_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "cheapest_within_budget": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "compared_offer_count": {
- "maximum": 10,
- "minimum": 0,
- "type": "integer"
- },
- "postal_code": {
- "anyOf": [
- {
- "pattern": "^[0-9]{5}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "price_basis": {
- "enum": [
- "item_price",
- "delivered_total"
- ],
- "type": "string"
- },
- "recommendation_reason": {
- "anyOf": [
- {
- "maxLength": 240,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "recommended": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "availability": {
- "enum": [
- "in_stock",
- "delivery_1_3_days",
- "delivery_4_7_days",
- "delivery_4_10_days",
- "delivery_8_14_days",
- "by_order",
- "to_order",
- "preorder",
- "out_of_stock",
- "unknown"
- ],
- "type": "string"
- },
- "bundle_status": {
- "enum": [
- "single",
- "bundle",
- "unknown"
- ],
- "type": "string"
- },
- "condition": {
- "enum": [
- "new",
- "refurbished",
- "used",
- "open_box",
- "unknown"
- ],
- "type": "string"
- },
- "delivery_estimate": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "item_price": {
- "description": "Current item price in EUR before shipping.",
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- "merchant_id": {
- "anyOf": [
- {
- "pattern": "^bp_merchant_[0-9]+$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_name": {
- "description": "Sanitized public BestPrice store name.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "merchant_rating": {
- "anyOf": [
- {
- "maximum": 5,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_rating_count": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "offer_id": {
- "pattern": "^bp_offer_[0-9]+$",
- "type": "string"
- },
- "price_checked_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "shipping_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Known or estimated shipping price in EUR; null means unknown."
- },
- "shipping_status": {
- "enum": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "string"
- },
- "total_price": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Delivered total in EUR; null whenever shipping is unknown."
- },
- "verified_merchant": {
- "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
- "type": "boolean"
- }
- },
- "required": [
- "offer_id",
- "merchant_id",
- "merchant_name",
- "merchant_rating",
- "merchant_rating_count",
- "verified_merchant",
- "item_price",
- "shipping_price",
- "shipping_status",
- "total_price",
- "availability",
- "condition",
- "bundle_status",
- "delivery_estimate",
- "price_checked_at"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "recommended_within_budget": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "same_offer": {
- "type": "boolean"
- },
- "unknown_shipping_count": {
- "maximum": 10,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "postal_code",
- "price_basis",
- "recommended",
- "cheapest",
- "same_offer",
- "recommendation_reason",
- "budget_eur",
- "recommended_within_budget",
- "cheapest_within_budget",
- "compared_offer_count",
- "unknown_shipping_count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "outcome": {
- "enum": [
- "recommendation",
- "no_match",
- "clarification",
- "answer",
- "comparison",
- "basket"
- ],
- "type": "string"
- },
- "price_verdict": {
- "additionalProperties": false,
- "properties": {
- "predicts_future_price": {
- "const": false,
- "type": "boolean"
- },
- "reason": {
- "maxLength": 100,
- "type": "string"
- },
- "source_ids": {
- "items": {
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "verdict": {
- "enum": [
- "good",
- "typical",
- "high",
- "insufficient_evidence"
- ],
- "type": "string"
- }
- },
- "required": [
- "verdict",
- "reason",
- "source_ids",
- "predicts_future_price"
- ],
- "type": "object"
- },
- "products": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "bestprice_url": {
- "format": "uri",
- "type": "string"
- },
- "brand": {
- "anyOf": [
- {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "category_title": {
- "anyOf": [
- {
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "decision_id": {
- "description": "Signed, anonymous id joining this recommendation to its BestPrice landing and outbound-click telemetry.",
- "pattern": "^d1\\.[a-f0-9]{32}\\.[A-Za-z0-9_-]{43}$",
- "type": "string"
- },
- "image_url": {
- "anyOf": [
- {
- "format": "uri",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "price_from": {
- "anyOf": [
- {
- "maximum": 10000000,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Catalog lowest listed item price in EUR before shipping. Same identity as compare_offers.catalog_price_from. Not a buyable quote; it may be a promoted, out-of-stock, or filtered offer that compare_offers omits. Never subtract this from another product compare_offers item_price."
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- "title": {
- "maxLength": 220,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "title",
- "brand",
- "category_title",
- "price_from",
- "decision_id",
- "bestprice_url",
- "image_url"
- ],
- "type": "object"
- },
- "maxItems": 4,
- "type": "array"
- },
- "ranking_policy": {
- "additionalProperties": false,
- "properties": {
- "commercial_signals_used": {
- "const": false,
- "type": "boolean"
- },
- "merchant": {
- "enum": [
- "lowest_known_comparable_cost",
- "basket_objective"
- ],
- "type": "string"
- },
- "product": {
- "const": "hard_constraints_then_fit_and_marginal_value",
- "type": "string"
- },
- "version": {
- "const": "bestprice_shopping_policy_v1",
- "type": "string"
- }
- },
- "required": [
- "version",
- "product",
- "merchant",
- "commercial_signals_used"
- ],
- "type": "object"
- },
- "reason": {
- "anyOf": [
- {
- "maxLength": 160,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "reasons": {
- "items": {
- "type": "string"
- },
- "maxItems": 24,
- "type": "array"
- },
- "recommended_product_id": {
- "anyOf": [
- {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "retrieval": {
- "additionalProperties": false,
- "properties": {
- "candidate_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "complete_catalog": {
- "const": false,
- "type": "boolean"
- },
- "receipt": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "backend": {
- "enum": [
- "n.products.search",
- "bp.search"
- ],
- "type": "string"
- },
- "candidate_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "catalog_total": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "category_id": {
- "anyOf": [
- {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "checked_at": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- "eligible_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "page": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "page_size": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "policy": {
- "const": "single_catalog_page_v1",
- "type": "string"
- },
- "protected_term_mismatch": {
- "type": "boolean"
- },
- "ranking_scope": {
- "const": "returned_page",
- "type": "string"
- },
- "returned_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "search_calls": {
- "const": 1,
- "type": "number"
- },
- "source_observed_at": {
- "anyOf": [
- {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "trinity_calls": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "version": {
- "const": "bestprice_retrieval_v1",
- "type": "string"
- }
- },
- "required": [
- "version",
- "policy",
- "backend",
- "checked_at",
- "source_observed_at",
- "search_calls",
- "trinity_calls",
- "page",
- "page_size",
- "catalog_total",
- "candidate_count",
- "eligible_count",
- "returned_count",
- "category_id",
- "protected_term_mismatch",
- "ranking_scope"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "scope": {
- "enum": [
- "returned_page",
- "exact_products",
- "not_searched"
- ],
- "type": "string"
- },
- "search_calls": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "scope",
- "candidate_count",
- "complete_catalog",
- "search_calls",
- "receipt"
- ],
- "type": "object"
- },
- "schema_version": {
- "const": "2.0",
- "type": "string"
- },
- "search_handoff": {
- "additionalProperties": false,
- "properties": {
- "label": {
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
- },
- "url": {
- "format": "uri",
- "type": "string"
- }
- },
- "required": [
- "url",
- "label"
- ],
- "type": "object"
- },
- "shopping_context": {
- "additionalProperties": false,
- "properties": {
- "market": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "compatibility": {
- "const": "not_assessed",
- "type": "string"
- },
- "history": {
- "additionalProperties": false,
- "properties": {
- "basis": {
- "const": "daily_item_minimum",
- "type": "string"
- },
- "claim_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "type": "array"
- },
- "source_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "type": "array"
- },
- "status": {
- "enum": [
- "available",
- "unavailable",
- "not_checked",
- "stale",
- "unverified"
- ],
- "type": "string"
- },
- "windows": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "claim_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "type": "array"
- },
- "coverage_pct": {
- "anyOf": [
- {
- "maximum": 100,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "days": {
- "anyOf": [
- {
- "const": 30,
- "type": "number"
- },
- {
- "const": 90,
- "type": "number"
- },
- {
- "const": 180,
- "type": "number"
- }
- ]
- },
- "median_price": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "minimum_price": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "observations": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "days",
- "minimum_price",
- "median_price",
- "observations",
- "coverage_pct",
- "claim_ids"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "type": "array"
- }
- },
- "required": [
- "status",
- "basis",
- "windows",
- "source_ids",
- "claim_ids"
- ],
- "type": "object"
- },
- "not_collected": {
- "prefixItems": [
- {
- "const": "returns_policy",
- "type": "string"
- },
- {
- "const": "warranty",
- "type": "string"
- },
- {
- "const": "payment_fees",
- "type": "string"
- },
- {
- "const": "pickup",
- "type": "string"
- },
- {
- "const": "merchant_feed_updated_at",
- "type": "string"
- },
- {
- "const": "guaranteed_postcode_delivery",
- "type": "string"
- }
- ],
- "type": "array"
- },
- "offers": {
- "additionalProperties": false,
- "properties": {
- "claim_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "type": "array"
- },
- "estimated_delivered_price": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "count": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "maximum": {
- "minimum": 0,
- "type": "number"
- },
- "median": {
- "minimum": 0,
- "type": "number"
- },
- "minimum": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "minimum",
- "median",
- "maximum",
- "count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "explicitly_in_stock_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "item_price": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "count": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "maximum": {
- "minimum": 0,
- "type": "number"
- },
- "median": {
- "minimum": 0,
- "type": "number"
- },
- "minimum": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "minimum",
- "median",
- "maximum",
- "count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "known_delivered_price": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "count": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "maximum": {
- "minimum": 0,
- "type": "number"
- },
- "median": {
- "minimum": 0,
- "type": "number"
- },
- "minimum": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "minimum",
- "median",
- "maximum",
- "count"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "merchant_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "merchant_identity_unknown_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "offer_count": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "scope": {
- "const": "bounded_returned_offers",
- "type": "string"
- },
- "shipping": {
- "additionalProperties": false,
- "properties": {
- "estimated": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "known": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "unknown": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "known",
- "estimated",
- "unknown"
- ],
- "type": "object"
- },
- "source_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "type": "array"
- },
- "status": {
- "enum": [
- "available",
- "unavailable",
- "not_checked",
- "stale",
- "unverified"
- ],
- "type": "string"
- }
- },
- "required": [
- "status",
- "scope",
- "offer_count",
- "merchant_count",
- "merchant_identity_unknown_count",
- "explicitly_in_stock_count",
- "shipping",
- "item_price",
- "known_delivered_price",
- "estimated_delivered_price",
- "source_ids",
- "claim_ids"
- ],
- "type": "object"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "offers",
- "history",
- "not_collected",
- "compatibility"
- ],
- "type": "object"
- },
- "maxItems": 48,
- "type": "array"
- },
- "products": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "attributes": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "claim_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "maxItems": 96,
- "type": "array"
- },
- "key": {
- "maxLength": 64,
- "type": "string"
- },
- "source_ids": {
- "items": {
- "maxLength": 160,
- "type": "string"
- },
- "maxItems": 32,
- "type": "array"
- },
- "status": {
- "enum": [
- "known",
- "unknown",
- "conflicting"
- ],
- "type": "string"
- },
- "unit": {
- "anyOf": [
- {
- "maxLength": 32,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "value": {
- "anyOf": [
- {
- "maxLength": 2000,
- "type": "string"
- },
- {
- "type": "number"
- },
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "key",
- "unit",
- "status",
- "value",
- "claim_ids",
- "source_ids"
- ],
- "type": "object"
- },
- "maxItems": 12,
- "type": "array"
- },
- "family": {
- "enum": [
- "laptops",
- "phones",
- "televisions",
- "air_conditioners",
- "air_fryers",
- "espresso_machines",
- "headphones",
- "monitors",
- "refrigerators",
- "vacuums",
- "washing_machines",
- "unknown"
- ],
- "type": "string"
- },
- "product_id": {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "family",
- "attributes"
- ],
- "type": "object"
- },
- "maxItems": 48,
- "type": "array"
- },
- "version": {
- "enum": [
- "bestprice_shopping_context_v1",
- "bestprice_shopping_context_v2",
- "bestprice_shopping_context_v3",
- "bestprice_shopping_context_v4",
- "bestprice_shopping_context_v5",
- "bestprice_shopping_context_v6",
- "bestprice_shopping_context_v7",
- "bestprice_shopping_context_v8",
- "bestprice_shopping_context_v9",
- "bestprice_shopping_context_v10"
- ],
- "type": "string"
- }
- },
- "required": [
- "version",
- "products",
- "market"
- ],
- "type": "object"
- },
- "status": {
- "enum": [
- "ready",
- "no_match",
- "needs_input"
- ],
- "type": "string"
- },
- "tradeoffs": {
- "items": {
- "type": "string"
- },
- "maxItems": 24,
- "type": "array"
- },
- "uncertainty": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "maxLength": 100,
- "type": "string"
- },
- "message": {
- "maxLength": 500,
- "type": "string"
- },
- "product_id": {
- "anyOf": [
- {
- "pattern": "^bp_[0-9]{10}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "code",
- "product_id",
- "message"
- ],
- "type": "object"
- },
- "maxItems": 64,
- "type": "array"
- },
- "warnings": {
- "items": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "as_of",
- "currency",
- "locale",
- "warnings",
- "brain",
- "outcome",
- "status",
- "answer",
- "reason",
- "message",
- "blocking_constraints",
- "recommended_product_id",
- "alternatives",
- "products",
- "constraints",
- "reasons",
- "tradeoffs",
- "offer_summary",
- "comparison",
- "basket",
- "basket_request",
- "clarifications",
- "price_verdict",
- "next_action",
- "ranking_policy",
- "retrieval",
- "shopping_context",
- "evidence",
- "uncertainty"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "as_of": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "currency": {
- "const": "EUR",
- "type": "string"
- },
- "error": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
- "type": "string"
- },
- "message": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "retryable": {
- "type": "boolean"
- }
- },
- "required": [
- "code",
- "message",
- "retryable"
- ],
- "type": "object"
- },
- "locale": {
- "const": "el-GR",
- "type": "string"
- },
- "schema_version": {
- "const": "2.0",
- "type": "string"
- },
- "warnings": {
- "items": {
- "maxLength": 240,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- }
- },
- "required": [
- "schema_version",
- "as_of",
- "currency",
- "locale",
- "warnings",
- "error"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "alternatives": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "maxLength": 240,
+ "type": "string"
+ },
+ "offer_summary": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "budget_eur": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cheapest": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "delivery_1_3_days",
+ "delivery_4_7_days",
+ "delivery_4_10_days",
+ "delivery_8_14_days",
+ "by_order",
+ "to_order",
+ "preorder",
+ "out_of_stock",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "bundle_status": {
+ "enum": [
+ "single",
+ "bundle",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "condition": {
+ "enum": [
+ "new",
+ "refurbished",
+ "used",
+ "open_box",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "delivery_estimate": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "item_price": {
+ "description": "Current item price in EUR before shipping.",
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_merchant_[0-9]+$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_logo_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice CDN logo of the store; null when the store has none."
+ },
+ "merchant_name": {
+ "description": "Sanitized public BestPrice store name.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_rating_count": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "offer_id": {
+ "pattern": "^bp_offer_[0-9]+$",
+ "type": "string"
+ },
+ "price_checked_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Known or estimated shipping price in EUR; null means unknown."
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Delivered total in EUR; null whenever shipping is unknown."
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "offer_id",
+ "merchant_id",
+ "merchant_name",
+ "merchant_rating",
+ "merchant_rating_count",
+ "verified_merchant",
+ "item_price",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "availability",
+ "condition",
+ "bundle_status",
+ "delivery_estimate",
+ "price_checked_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cheapest_within_budget": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "compared_offer_count": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "price_basis": {
+ "enum": [
+ "item_price",
+ "delivered_total"
+ ],
+ "type": "string"
+ },
+ "recommendation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 240,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recommended": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "delivery_1_3_days",
+ "delivery_4_7_days",
+ "delivery_4_10_days",
+ "delivery_8_14_days",
+ "by_order",
+ "to_order",
+ "preorder",
+ "out_of_stock",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "bundle_status": {
+ "enum": [
+ "single",
+ "bundle",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "condition": {
+ "enum": [
+ "new",
+ "refurbished",
+ "used",
+ "open_box",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "delivery_estimate": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "item_price": {
+ "description": "Current item price in EUR before shipping.",
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_merchant_[0-9]+$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_logo_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice CDN logo of the store; null when the store has none."
+ },
+ "merchant_name": {
+ "description": "Sanitized public BestPrice store name.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_rating_count": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "offer_id": {
+ "pattern": "^bp_offer_[0-9]+$",
+ "type": "string"
+ },
+ "price_checked_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Known or estimated shipping price in EUR; null means unknown."
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Delivered total in EUR; null whenever shipping is unknown."
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "offer_id",
+ "merchant_id",
+ "merchant_name",
+ "merchant_rating",
+ "merchant_rating_count",
+ "verified_merchant",
+ "item_price",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "availability",
+ "condition",
+ "bundle_status",
+ "delivery_estimate",
+ "price_checked_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recommended_within_budget": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "same_offer": {
+ "type": "boolean"
+ },
+ "unknown_shipping_count": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "postal_code",
+ "price_basis",
+ "recommended",
+ "cheapest",
+ "same_offer",
+ "recommendation_reason",
+ "budget_eur",
+ "recommended_within_budget",
+ "cheapest_within_budget",
+ "compared_offer_count",
+ "unknown_shipping_count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "requires_constraint_change": {
+ "type": "boolean"
+ },
+ "tradeoff": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "product_id",
+ "label",
+ "tradeoff",
+ "requires_constraint_change",
+ "offer_summary"
+ ],
+ "type": "object"
+ },
+ "maxItems": 2,
+ "type": "array"
+ },
+ "answer": {
+ "maxLength": 8000,
+ "type": "string"
+ },
+ "as_of": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "basket": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "currency": {
+ "const": "EUR",
+ "type": "string"
+ },
+ "locale": {
+ "const": "el-GR",
+ "type": "string"
+ },
+ "methodology_id": {
+ "const": "bestprice_basket_bounded_v1",
+ "type": "string"
+ },
+ "plans": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "item_subtotal": {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_count": {
+ "exclusiveMinimum": 0,
+ "maximum": 8,
+ "type": "integer"
+ },
+ "merchants": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "item_subtotal": {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "bestprice_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "decision_id": {
+ "description": "Signed, anonymous id joining this recommendation to its BestPrice landing and outbound-click telemetry.",
+ "pattern": "^d1\\.[a-f0-9]{32}\\.[A-Za-z0-9_-]{43}$",
+ "type": "string"
+ },
+ "line_total": {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "quantity": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "title": {
+ "maxLength": 220,
+ "minLength": 1,
+ "type": "string"
+ },
+ "unit_price": {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "product_id",
+ "title",
+ "quantity",
+ "unit_price",
+ "line_total",
+ "decision_id",
+ "bestprice_url"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "minItems": 1,
+ "type": "array"
+ },
+ "merchant_id": {
+ "pattern": "^bp_merchant_[0-9]+$",
+ "type": "string"
+ },
+ "merchant_name": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reason": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "merchant_id",
+ "merchant_name",
+ "merchant_rating",
+ "verified_merchant",
+ "item_subtotal",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "reason",
+ "items"
+ ],
+ "type": "object"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "plan_type": {
+ "enum": [
+ "cheapest",
+ "fewer_merchants",
+ "balanced"
+ ],
+ "type": "string"
+ },
+ "ranking_reason": {
+ "maxLength": 180,
+ "minLength": 1,
+ "type": "string"
+ },
+ "reliability_score": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown",
+ "mixed"
+ ],
+ "type": "string"
+ },
+ "shipping_total": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "plan_type",
+ "merchant_count",
+ "item_subtotal",
+ "shipping_total",
+ "shipping_status",
+ "total_price",
+ "reliability_score",
+ "ranking_reason",
+ "merchants"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "preferred_plan": {
+ "anyOf": [
+ {
+ "enum": [
+ "cheapest",
+ "fewer_merchants",
+ "balanced"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "schema_version": {
+ "const": "2.0",
+ "type": "string"
+ },
+ "unavailable_items": {
+ "items": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "warnings": {
+ "items": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "as_of",
+ "currency",
+ "locale",
+ "warnings",
+ "preferred_plan",
+ "methodology_id",
+ "plans",
+ "unavailable_items"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "basket_request": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "requested_slots": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "family": {
+ "enum": [
+ "air_conditioner",
+ "air_fryer",
+ "espresso",
+ "filter_coffee",
+ "headphones",
+ "laptop",
+ "monitor",
+ "mouse",
+ "phone",
+ "refrigerator",
+ "tv",
+ "vacuum",
+ "stick_vacuum",
+ "wet_dry_vacuum",
+ "washer",
+ "accessories",
+ "peripherals",
+ "dishwasher",
+ "consoles",
+ "projector",
+ "tablet",
+ "printer",
+ "router",
+ "drone",
+ "smartwatch",
+ "scanner",
+ "powerbank",
+ "kettle",
+ "toaster",
+ "bicycle",
+ "fan",
+ "blender",
+ "mixer",
+ "kitchen_machine",
+ "microwave",
+ "oven",
+ "mini_oven",
+ "bread_maker",
+ "rice_cooker",
+ "steamer",
+ "grill",
+ "teppanyaki",
+ "hob",
+ "deep_fryer",
+ "robot_chef",
+ "juicer",
+ "waffle",
+ "ice_cream_maker",
+ "citrus_press",
+ "sandwich_maker",
+ "crepe_maker",
+ "chocolate_fountain",
+ "popcorn_maker",
+ "donut_maker",
+ "sewing_machine",
+ "egg_boiler",
+ "ice_maker",
+ "water_cooler",
+ "dehumidifier",
+ "humidifier",
+ "ionizer",
+ "fireplace",
+ "wood_stove",
+ "pellet_stove",
+ "air_curtain",
+ "fan_heater",
+ "water_heater",
+ "halogen_stove",
+ "convector",
+ "gas_stove",
+ "oil_stove",
+ "outdoor_stove",
+ "infrared_panel",
+ "foldable_phone",
+ "robot_vacuum",
+ "tv_remote",
+ "clothes_dryer",
+ "washer_dryer",
+ "speakers",
+ "desktop",
+ "freezer",
+ "software",
+ "games",
+ "shoes",
+ "books",
+ "clothing",
+ "beauty",
+ "baby_transport",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "maximum": 20,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "requirements": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "slot_id": {
+ "pattern": "^slot_[1-9][0-9]?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "slot_id",
+ "family",
+ "label",
+ "quantity",
+ "requirements"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "resolved_slots": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "catalog_price_eur": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "family": {
+ "enum": [
+ "air_conditioner",
+ "air_fryer",
+ "espresso",
+ "filter_coffee",
+ "headphones",
+ "laptop",
+ "monitor",
+ "mouse",
+ "phone",
+ "refrigerator",
+ "tv",
+ "vacuum",
+ "stick_vacuum",
+ "wet_dry_vacuum",
+ "washer",
+ "accessories",
+ "peripherals",
+ "dishwasher",
+ "consoles",
+ "projector",
+ "tablet",
+ "printer",
+ "router",
+ "drone",
+ "smartwatch",
+ "scanner",
+ "powerbank",
+ "kettle",
+ "toaster",
+ "bicycle",
+ "fan",
+ "blender",
+ "mixer",
+ "kitchen_machine",
+ "microwave",
+ "oven",
+ "mini_oven",
+ "bread_maker",
+ "rice_cooker",
+ "steamer",
+ "grill",
+ "teppanyaki",
+ "hob",
+ "deep_fryer",
+ "robot_chef",
+ "juicer",
+ "waffle",
+ "ice_cream_maker",
+ "citrus_press",
+ "sandwich_maker",
+ "crepe_maker",
+ "chocolate_fountain",
+ "popcorn_maker",
+ "donut_maker",
+ "sewing_machine",
+ "egg_boiler",
+ "ice_maker",
+ "water_cooler",
+ "dehumidifier",
+ "humidifier",
+ "ionizer",
+ "fireplace",
+ "wood_stove",
+ "pellet_stove",
+ "air_curtain",
+ "fan_heater",
+ "water_heater",
+ "halogen_stove",
+ "convector",
+ "gas_stove",
+ "oil_stove",
+ "outdoor_stove",
+ "infrared_panel",
+ "foldable_phone",
+ "robot_vacuum",
+ "tv_remote",
+ "clothes_dryer",
+ "washer_dryer",
+ "speakers",
+ "desktop",
+ "freezer",
+ "software",
+ "games",
+ "shoes",
+ "books",
+ "clothing",
+ "beauty",
+ "baby_transport",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "quantity": {
+ "maximum": 20,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "selection_reason": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "slot_id": {
+ "pattern": "^slot_[1-9][0-9]?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "slot_id",
+ "family",
+ "label",
+ "quantity",
+ "product_id",
+ "catalog_price_eur",
+ "selection_reason"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "total_budget_eur": {
+ "anyOf": [
+ {
+ "exclusiveMinimum": 0,
+ "maximum": 1000000,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "unresolved_slots": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "candidate_product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "family": {
+ "enum": [
+ "air_conditioner",
+ "air_fryer",
+ "espresso",
+ "filter_coffee",
+ "headphones",
+ "laptop",
+ "monitor",
+ "mouse",
+ "phone",
+ "refrigerator",
+ "tv",
+ "vacuum",
+ "stick_vacuum",
+ "wet_dry_vacuum",
+ "washer",
+ "accessories",
+ "peripherals",
+ "dishwasher",
+ "consoles",
+ "projector",
+ "tablet",
+ "printer",
+ "router",
+ "drone",
+ "smartwatch",
+ "scanner",
+ "powerbank",
+ "kettle",
+ "toaster",
+ "bicycle",
+ "fan",
+ "blender",
+ "mixer",
+ "kitchen_machine",
+ "microwave",
+ "oven",
+ "mini_oven",
+ "bread_maker",
+ "rice_cooker",
+ "steamer",
+ "grill",
+ "teppanyaki",
+ "hob",
+ "deep_fryer",
+ "robot_chef",
+ "juicer",
+ "waffle",
+ "ice_cream_maker",
+ "citrus_press",
+ "sandwich_maker",
+ "crepe_maker",
+ "chocolate_fountain",
+ "popcorn_maker",
+ "donut_maker",
+ "sewing_machine",
+ "egg_boiler",
+ "ice_maker",
+ "water_cooler",
+ "dehumidifier",
+ "humidifier",
+ "ionizer",
+ "fireplace",
+ "wood_stove",
+ "pellet_stove",
+ "air_curtain",
+ "fan_heater",
+ "water_heater",
+ "halogen_stove",
+ "convector",
+ "gas_stove",
+ "oil_stove",
+ "outdoor_stove",
+ "infrared_panel",
+ "foldable_phone",
+ "robot_vacuum",
+ "tv_remote",
+ "clothes_dryer",
+ "washer_dryer",
+ "speakers",
+ "desktop",
+ "freezer",
+ "software",
+ "games",
+ "shoes",
+ "books",
+ "clothing",
+ "beauty",
+ "baby_transport",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "quantity": {
+ "maximum": 20,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "reason": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "slot_id": {
+ "pattern": "^slot_[1-9][0-9]?$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "slot_id",
+ "family",
+ "label",
+ "quantity",
+ "reason"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "version": {
+ "const": "bestprice_basket_request_v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "requested_slots",
+ "resolved_slots",
+ "unresolved_slots",
+ "total_budget_eur"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocking_constraints": {
+ "items": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "maxItems": 24,
+ "type": "array"
+ },
+ "brain": {
+ "additionalProperties": false,
+ "properties": {
+ "decision_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "decision_version": {
+ "const": "bestprice_decision_v1",
+ "type": "string"
+ },
+ "evidence_fingerprint": {
+ "description": "Fingerprint of the original, unmodified Brain evidence; the public evidence below is a returned-product subset.",
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "projection_version": {
+ "const": "bestprice_mcp_decision_v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "projection_version",
+ "decision_version",
+ "decision_id",
+ "evidence_fingerprint"
+ ],
+ "type": "object"
+ },
+ "clarifications": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ "reason": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "question",
+ "reason"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "comparison": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "comparison_type": {
+ "enum": [
+ "specifications",
+ "delivered_cost"
+ ],
+ "type": "string"
+ },
+ "feature_rows": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "differs": {
+ "type": "boolean"
+ },
+ "group": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "label": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "product_id",
+ "value"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "group",
+ "values",
+ "differs"
+ ],
+ "type": "object"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "price_spread_eur": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "products": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "badges": {
+ "items": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "delivered_offer": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "delivery_1_3_days",
+ "delivery_4_7_days",
+ "delivery_4_10_days",
+ "delivery_8_14_days",
+ "by_order",
+ "to_order",
+ "preorder",
+ "out_of_stock",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "delivery_estimate": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "item_price": {
+ "description": "Current item price in EUR before shipping.",
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_name": {
+ "description": "Sanitized public BestPrice store name.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_rating_count": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Known or estimated shipping price in EUR; null means unknown."
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Delivered total in EUR; null whenever shipping is unknown."
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "merchant_name",
+ "merchant_rating",
+ "merchant_rating_count",
+ "verified_merchant",
+ "item_price",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "availability",
+ "delivery_estimate",
+ "postal_code"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "product_id",
+ "badges",
+ "delivered_offer"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "minItems": 2,
+ "type": "array"
+ },
+ "warnings": {
+ "items": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ }
+ },
+ "required": [
+ "comparison_type",
+ "products",
+ "feature_rows",
+ "price_spread_eur",
+ "postal_code",
+ "warnings",
+ "as_of"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "constraints": {
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "currency": {
+ "const": "EUR",
+ "type": "string"
+ },
+ "evidence": {
+ "additionalProperties": false,
+ "properties": {
+ "claims": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "claim_id": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "feature": {
+ "additionalProperties": false,
+ "properties": {
+ "group": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "id": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "label": {
+ "maxLength": 100,
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "group"
+ ],
+ "type": "object"
+ },
+ "field": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "observed",
+ "derived"
+ ],
+ "type": "string"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "source_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "supporting_claim_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "maxItems": 8,
+ "minItems": 1,
+ "type": "array"
+ },
+ "validation": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "claim_id",
+ "product_id",
+ "field",
+ "value",
+ "kind",
+ "source_ids",
+ "validation"
+ ],
+ "type": "object"
+ },
+ "maxItems": 2048,
+ "type": "array"
+ },
+ "scope": {
+ "const": "returned_products",
+ "type": "string"
+ },
+ "sources": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "capability": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "checked_at": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ "freshness": {
+ "enum": [
+ "fresh",
+ "stale",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "catalog_snapshot",
+ "merchant_offer",
+ "basket_quote",
+ "price_history",
+ "review_sample",
+ "decision_policy"
+ ],
+ "type": "string"
+ },
+ "max_age_seconds": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "record_id": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "scope": {
+ "enum": [
+ "cluster",
+ "offer",
+ "product_family"
+ ],
+ "type": "string"
+ },
+ "source_id": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "source_observed_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "source_id",
+ "kind",
+ "record_id",
+ "product_id",
+ "scope",
+ "capability",
+ "checked_at",
+ "source_observed_at",
+ "freshness",
+ "max_age_seconds"
+ ],
+ "type": "object"
+ },
+ "maxItems": 256,
+ "type": "array"
+ }
+ },
+ "required": [
+ "scope",
+ "sources",
+ "claims"
+ ],
+ "type": "object"
+ },
+ "locale": {
+ "const": "el-GR",
+ "type": "string"
+ },
+ "message": {
+ "anyOf": [
+ {
+ "maxLength": 8000,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "near_miss": {
+ "additionalProperties": false,
+ "properties": {
+ "over_by_eur": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "over_by_eur"
+ ],
+ "type": "object"
+ },
+ "next_action": {
+ "additionalProperties": false,
+ "properties": {
+ "bestprice_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reason": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "requires_user_action": {
+ "const": true,
+ "type": "boolean"
+ },
+ "type": {
+ "enum": [
+ "compare",
+ "create_alert",
+ "provide_context"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "reason",
+ "requires_user_action",
+ "bestprice_url"
+ ],
+ "type": "object"
+ },
+ "offer_summary": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "budget_eur": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cheapest": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "delivery_1_3_days",
+ "delivery_4_7_days",
+ "delivery_4_10_days",
+ "delivery_8_14_days",
+ "by_order",
+ "to_order",
+ "preorder",
+ "out_of_stock",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "bundle_status": {
+ "enum": [
+ "single",
+ "bundle",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "condition": {
+ "enum": [
+ "new",
+ "refurbished",
+ "used",
+ "open_box",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "delivery_estimate": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "item_price": {
+ "description": "Current item price in EUR before shipping.",
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_merchant_[0-9]+$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_logo_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice CDN logo of the store; null when the store has none."
+ },
+ "merchant_name": {
+ "description": "Sanitized public BestPrice store name.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_rating_count": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "offer_id": {
+ "pattern": "^bp_offer_[0-9]+$",
+ "type": "string"
+ },
+ "price_checked_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Known or estimated shipping price in EUR; null means unknown."
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Delivered total in EUR; null whenever shipping is unknown."
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "offer_id",
+ "merchant_id",
+ "merchant_name",
+ "merchant_rating",
+ "merchant_rating_count",
+ "verified_merchant",
+ "item_price",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "availability",
+ "condition",
+ "bundle_status",
+ "delivery_estimate",
+ "price_checked_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "cheapest_within_budget": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "compared_offer_count": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "postal_code": {
+ "anyOf": [
+ {
+ "pattern": "^[0-9]{5}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "price_basis": {
+ "enum": [
+ "item_price",
+ "delivered_total"
+ ],
+ "type": "string"
+ },
+ "recommendation_reason": {
+ "anyOf": [
+ {
+ "maxLength": 240,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recommended": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "availability": {
+ "enum": [
+ "in_stock",
+ "delivery_1_3_days",
+ "delivery_4_7_days",
+ "delivery_4_10_days",
+ "delivery_8_14_days",
+ "by_order",
+ "to_order",
+ "preorder",
+ "out_of_stock",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "bundle_status": {
+ "enum": [
+ "single",
+ "bundle",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "certification_level": {
+ "anyOf": [
+ {
+ "enum": [
+ "bronze",
+ "silver",
+ "gold",
+ "platinum"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice certification tier of the store (php/classes/Merchant.php verification_level 1..4); null when not certified."
+ },
+ "condition": {
+ "enum": [
+ "new",
+ "refurbished",
+ "used",
+ "open_box",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "delivery_estimate": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "item_price": {
+ "description": "Current item price in EUR before shipping.",
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ "merchant_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_merchant_[0-9]+$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_logo_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "BestPrice CDN logo of the store; null when the store has none."
+ },
+ "merchant_name": {
+ "description": "Sanitized public BestPrice store name.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "merchant_rating": {
+ "anyOf": [
+ {
+ "maximum": 5,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_rating_count": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "offer_id": {
+ "pattern": "^bp_offer_[0-9]+$",
+ "type": "string"
+ },
+ "price_checked_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "shipping_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Known or estimated shipping price in EUR; null means unknown."
+ },
+ "shipping_status": {
+ "enum": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "total_price": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Delivered total in EUR; null whenever shipping is unknown."
+ },
+ "verified_merchant": {
+ "description": "True when this is a BestPrice-certified store (Πιστοποιημένο κατάστημα).",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "offer_id",
+ "merchant_id",
+ "merchant_name",
+ "merchant_rating",
+ "merchant_rating_count",
+ "verified_merchant",
+ "item_price",
+ "shipping_price",
+ "shipping_status",
+ "total_price",
+ "availability",
+ "condition",
+ "bundle_status",
+ "delivery_estimate",
+ "price_checked_at"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "recommended_within_budget": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "same_offer": {
+ "type": "boolean"
+ },
+ "unknown_shipping_count": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "postal_code",
+ "price_basis",
+ "recommended",
+ "cheapest",
+ "same_offer",
+ "recommendation_reason",
+ "budget_eur",
+ "recommended_within_budget",
+ "cheapest_within_budget",
+ "compared_offer_count",
+ "unknown_shipping_count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "outcome": {
+ "enum": [
+ "recommendation",
+ "no_match",
+ "clarification",
+ "answer",
+ "comparison",
+ "basket"
+ ],
+ "type": "string"
+ },
+ "price_verdict": {
+ "additionalProperties": false,
+ "properties": {
+ "predicts_future_price": {
+ "const": false,
+ "type": "boolean"
+ },
+ "reason": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "source_ids": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "verdict": {
+ "enum": [
+ "good",
+ "typical",
+ "high",
+ "insufficient_evidence"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "verdict",
+ "reason",
+ "source_ids",
+ "predicts_future_price"
+ ],
+ "type": "object"
+ },
+ "products": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "bestprice_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "brand": {
+ "anyOf": [
+ {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category_title": {
+ "anyOf": [
+ {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "decision_id": {
+ "description": "Signed, anonymous id joining this recommendation to its BestPrice landing and outbound-click telemetry.",
+ "pattern": "^d1\\.[a-f0-9]{32}\\.[A-Za-z0-9_-]{43}$",
+ "type": "string"
+ },
+ "image_url": {
+ "anyOf": [
+ {
+ "format": "uri",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "price_from": {
+ "anyOf": [
+ {
+ "maximum": 10000000,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Catalog lowest listed item price in EUR before shipping. Same identity as compare_offers.catalog_price_from. Not a buyable quote; it may be a promoted, out-of-stock, or filtered offer that compare_offers omits. Never subtract this from another product compare_offers item_price."
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 220,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "product_id",
+ "title",
+ "brand",
+ "category_title",
+ "price_from",
+ "decision_id",
+ "bestprice_url",
+ "image_url"
+ ],
+ "type": "object"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "ranking_policy": {
+ "additionalProperties": false,
+ "properties": {
+ "commercial_signals_used": {
+ "const": false,
+ "type": "boolean"
+ },
+ "merchant": {
+ "enum": [
+ "lowest_known_comparable_cost",
+ "basket_objective"
+ ],
+ "type": "string"
+ },
+ "product": {
+ "const": "hard_constraints_then_fit_and_marginal_value",
+ "type": "string"
+ },
+ "version": {
+ "const": "bestprice_shopping_policy_v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "product",
+ "merchant",
+ "commercial_signals_used"
+ ],
+ "type": "object"
+ },
+ "reason": {
+ "anyOf": [
+ {
+ "maxLength": 160,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reasons": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 24,
+ "type": "array"
+ },
+ "recommended_product_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retrieval": {
+ "additionalProperties": false,
+ "properties": {
+ "candidate_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "complete_catalog": {
+ "const": false,
+ "type": "boolean"
+ },
+ "receipt": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "backend": {
+ "enum": [
+ "n.products.search",
+ "bp.search"
+ ],
+ "type": "string"
+ },
+ "candidate_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "catalog_total": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category_id": {
+ "anyOf": [
+ {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "checked_at": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ "eligible_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "page": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "page_size": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "policy": {
+ "const": "single_catalog_page_v1",
+ "type": "string"
+ },
+ "protected_term_mismatch": {
+ "type": "boolean"
+ },
+ "ranking_scope": {
+ "const": "returned_page",
+ "type": "string"
+ },
+ "returned_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "search_calls": {
+ "const": 1,
+ "type": "number"
+ },
+ "source_observed_at": {
+ "anyOf": [
+ {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "trinity_calls": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "version": {
+ "const": "bestprice_retrieval_v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "policy",
+ "backend",
+ "checked_at",
+ "source_observed_at",
+ "search_calls",
+ "trinity_calls",
+ "page",
+ "page_size",
+ "catalog_total",
+ "candidate_count",
+ "eligible_count",
+ "returned_count",
+ "category_id",
+ "protected_term_mismatch",
+ "ranking_scope"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "scope": {
+ "enum": [
+ "returned_page",
+ "exact_products",
+ "not_searched"
+ ],
+ "type": "string"
+ },
+ "search_calls": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "scope",
+ "candidate_count",
+ "complete_catalog",
+ "search_calls",
+ "receipt"
+ ],
+ "type": "object"
+ },
+ "schema_version": {
+ "const": "2.0",
+ "type": "string"
+ },
+ "search_handoff": {
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "maxLength": 120,
+ "minLength": 1,
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "label"
+ ],
+ "type": "object"
+ },
+ "shopping_context": {
+ "additionalProperties": false,
+ "properties": {
+ "market": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "compatibility": {
+ "const": "not_assessed",
+ "type": "string"
+ },
+ "history": {
+ "additionalProperties": false,
+ "properties": {
+ "basis": {
+ "const": "daily_item_minimum",
+ "type": "string"
+ },
+ "claim_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "source_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "available",
+ "unavailable",
+ "not_checked",
+ "stale",
+ "unverified"
+ ],
+ "type": "string"
+ },
+ "windows": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "claim_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "coverage_pct": {
+ "anyOf": [
+ {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "days": {
+ "anyOf": [
+ {
+ "const": 30,
+ "type": "number"
+ },
+ {
+ "const": 90,
+ "type": "number"
+ },
+ {
+ "const": 180,
+ "type": "number"
+ }
+ ]
+ },
+ "median_price": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "minimum_price": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "observations": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "days",
+ "minimum_price",
+ "median_price",
+ "observations",
+ "coverage_pct",
+ "claim_ids"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "basis",
+ "windows",
+ "source_ids",
+ "claim_ids"
+ ],
+ "type": "object"
+ },
+ "not_collected": {
+ "prefixItems": [
+ {
+ "const": "returns_policy",
+ "type": "string"
+ },
+ {
+ "const": "warranty",
+ "type": "string"
+ },
+ {
+ "const": "payment_fees",
+ "type": "string"
+ },
+ {
+ "const": "pickup",
+ "type": "string"
+ },
+ {
+ "const": "merchant_feed_updated_at",
+ "type": "string"
+ },
+ {
+ "const": "guaranteed_postcode_delivery",
+ "type": "string"
+ }
+ ],
+ "type": "array"
+ },
+ "offers": {
+ "additionalProperties": false,
+ "properties": {
+ "claim_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "estimated_delivered_price": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "count": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "maximum": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "median": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "minimum": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "minimum",
+ "median",
+ "maximum",
+ "count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "explicitly_in_stock_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "item_price": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "count": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "maximum": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "median": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "minimum": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "minimum",
+ "median",
+ "maximum",
+ "count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "known_delivered_price": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "count": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "maximum": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "median": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "minimum": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "minimum",
+ "median",
+ "maximum",
+ "count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "merchant_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "merchant_identity_unknown_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "offer_count": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "scope": {
+ "const": "bounded_returned_offers",
+ "type": "string"
+ },
+ "shipping": {
+ "additionalProperties": false,
+ "properties": {
+ "estimated": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "known": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "unknown": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "known",
+ "estimated",
+ "unknown"
+ ],
+ "type": "object"
+ },
+ "source_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "available",
+ "unavailable",
+ "not_checked",
+ "stale",
+ "unverified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "scope",
+ "offer_count",
+ "merchant_count",
+ "merchant_identity_unknown_count",
+ "explicitly_in_stock_count",
+ "shipping",
+ "item_price",
+ "known_delivered_price",
+ "estimated_delivered_price",
+ "source_ids",
+ "claim_ids"
+ ],
+ "type": "object"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "product_id",
+ "offers",
+ "history",
+ "not_collected",
+ "compatibility"
+ ],
+ "type": "object"
+ },
+ "maxItems": 48,
+ "type": "array"
+ },
+ "products": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "attributes": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "claim_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "maxItems": 96,
+ "type": "array"
+ },
+ "key": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "source_ids": {
+ "items": {
+ "maxLength": 160,
+ "type": "string"
+ },
+ "maxItems": 32,
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "known",
+ "unknown",
+ "conflicting"
+ ],
+ "type": "string"
+ },
+ "unit": {
+ "anyOf": [
+ {
+ "maxLength": 32,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "value": {
+ "anyOf": [
+ {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "key",
+ "unit",
+ "status",
+ "value",
+ "claim_ids",
+ "source_ids"
+ ],
+ "type": "object"
+ },
+ "maxItems": 12,
+ "type": "array"
+ },
+ "family": {
+ "enum": [
+ "laptops",
+ "phones",
+ "televisions",
+ "air_conditioners",
+ "air_fryers",
+ "espresso_machines",
+ "headphones",
+ "monitors",
+ "mice",
+ "refrigerators",
+ "vacuums",
+ "washing_machines",
+ "dishwashers",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "product_id": {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "product_id",
+ "family",
+ "attributes"
+ ],
+ "type": "object"
+ },
+ "maxItems": 48,
+ "type": "array"
+ },
+ "version": {
+ "enum": [
+ "bestprice_shopping_context_v1",
+ "bestprice_shopping_context_v2",
+ "bestprice_shopping_context_v3",
+ "bestprice_shopping_context_v4",
+ "bestprice_shopping_context_v5",
+ "bestprice_shopping_context_v6",
+ "bestprice_shopping_context_v7",
+ "bestprice_shopping_context_v8",
+ "bestprice_shopping_context_v9",
+ "bestprice_shopping_context_v10",
+ "bestprice_shopping_context_v11",
+ "bestprice_shopping_context_v12",
+ "bestprice_shopping_context_v13",
+ "bestprice_shopping_context_v14",
+ "bestprice_shopping_context_v15"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "version",
+ "products",
+ "market"
+ ],
+ "type": "object"
+ },
+ "status": {
+ "enum": [
+ "ready",
+ "no_match",
+ "needs_input"
+ ],
+ "type": "string"
+ },
+ "tradeoffs": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 24,
+ "type": "array"
+ },
+ "uncertainty": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "message": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "product_id": {
+ "anyOf": [
+ {
+ "pattern": "^bp_[0-9]{10}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code",
+ "product_id",
+ "message"
+ ],
+ "type": "object"
+ },
+ "maxItems": 64,
+ "type": "array"
+ },
+ "warnings": {
+ "items": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "as_of",
+ "currency",
+ "locale",
+ "warnings",
+ "brain",
+ "outcome",
+ "status",
+ "answer",
+ "reason",
+ "message",
+ "blocking_constraints",
+ "recommended_product_id",
+ "alternatives",
+ "products",
+ "constraints",
+ "reasons",
+ "tradeoffs",
+ "offer_summary",
+ "comparison",
+ "basket",
+ "basket_request",
+ "clarifications",
+ "price_verdict",
+ "next_action",
+ "ranking_policy",
+ "retrieval",
+ "shopping_context",
+ "evidence",
+ "uncertainty"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "currency": {
+ "const": "EUR",
+ "type": "string"
+ },
+ "error": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
+ "type": "string"
+ },
+ "message": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "retryable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "retryable"
+ ],
+ "type": "object"
+ },
+ "locale": {
+ "const": "el-GR",
+ "type": "string"
+ },
+ "schema_version": {
+ "const": "2.0",
+ "type": "string"
+ },
+ "warnings": {
+ "items": {
+ "maxLength": 240,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ }
+ },
+ "required": [
+ "schema_version",
+ "as_of",
+ "currency",
+ "locale",
+ "warnings",
+ "error"
+ ],
+ "type": "object"
+ }
+]