{
  "contract_version": "odin.v1.1",
  "semantics": "ostrovok.contract.w5.3",
  "supported_contract_versions": [
    "odin.v1.1"
  ],
  "response_id": "RESP-0008",
  "in_reply_to_action_id": "DEMO-ACT-STALE",
  "evaluated_at": "2026-11-01T09:00:00Z",
  "session_id": "DEMO-S1",
  "trip_id": "TRIP-0001",
  "trip_version": 2,
  "state": "DEMO_DONE",
  "state_record": {
    "trip_id": "TRIP-0001",
    "trip_version": 2,
    "state": "DEMO_DONE",
    "routing": "FIND_STAY",
    "recognition_state": "resolved",
    "initial_goal": {
      "task_id": "TASK-TRIP-0001",
      "goal_revision": 1,
      "kind": "undetermined",
      "join": "UNRESOLVED",
      "declared_scope": "unresolved",
      "required_component_kinds": [],
      "criterion_ref": "criterion:default",
      "origin": "agent_assumption",
      "basis_action_ref": "DEMO-ACT-01"
    },
    "current_goal": {
      "task_id": "TASK-TRIP-0001",
      "goal_revision": 2,
      "kind": "buy_full",
      "join": "ALL",
      "declared_scope": "whole_trip",
      "required_component_kinds": [
        "lodging",
        "home_rt",
        "last_mile_rt",
        "main_rt"
      ],
      "criterion_ref": "criterion:default",
      "origin": "user_explicit",
      "basis_action_ref": "DEMO-ACT-01"
    },
    "request": {
      "origin_id": "MOW",
      "destination_id": "sheregesh",
      "check_in": "2027-02-10",
      "check_out": "2027-02-15",
      "month": null,
      "adults": 2,
      "children_ages": [],
      "rooms": 1,
      "budget_minor": 25000000,
      "budget_scope": "whole_trip",
      "outside_allocation_minor": null,
      "pet_count": null,
      "room_immediate_required": false,
      "breakfast_all_required": true,
      "free_cancel_required": false,
      "required_capabilities": [],
      "requirements": [
        {
          "requirement_id": "REQ-meal_plan_min",
          "key": "meal_plan_min",
          "strength": "hard",
          "value_state": "known",
          "origin": "user_explicit",
          "subject_refs": [],
          "scope": "stay",
          "value": "BB"
        },
        {
          "requirement_id": "REQ-lift_walk_max_min",
          "key": "lift_walk_max_min",
          "strength": "preference",
          "value_state": "known",
          "origin": "user_explicit",
          "subject_refs": [],
          "scope": "stay",
          "value": 10
        }
      ],
      "externally_purchased": [],
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      },
      "missing_for_search": []
    },
    "selected_plan": {
      "option_ref": "OPTION-479ad21849c5fc632765bd1d",
      "offer_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
      "route_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
      "selected_entries": [
        {
          "component_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 взр., 5 ноч.",
          "source_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
          "new_or_external": "new",
          "kind": "stay",
          "label": "Проживание, завтрак, невозвратный",
          "amount_minor": 3748700,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
          "new_or_external": "new",
          "kind": "transport",
          "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
          "amount_minor": 2740000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
          "new_or_external": "new",
          "kind": "transport",
          "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
          "amount_minor": 2940000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "X-CITY-MOW-SVO-aeroexpress",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-CITY-MOW-SVO-aeroexpress",
          "new_or_external": "new",
          "kind": "home_ground",
          "label": "aeroexpress: Москва, центр → Шереметьево",
          "amount_minor": 100000,
          "unknown_reason": null,
          "payment_timing": "later",
          "selection_status": "selected"
        },
        {
          "component_id": "X-NOZ-sheregesh-shuttle",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-NOZ-sheregesh-shuttle",
          "new_or_external": "new",
          "kind": "transfer",
          "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
          "amount_minor": 340000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
          "new_or_external": "new",
          "kind": "home_ground",
          "label": "aeroexpress: Шереметьево → Москва, центр",
          "amount_minor": 100000,
          "unknown_reason": null,
          "payment_timing": "later",
          "selection_status": "selected"
        },
        {
          "component_id": "X-NOZ-sheregesh-shuttle:back",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-NOZ-sheregesh-shuttle:back",
          "new_or_external": "new",
          "kind": "transfer",
          "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
          "amount_minor": 340000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        }
      ],
      "money": {
        "known_selected_subtotal_minor": 10308700,
        "selected_total_minor": 10308700,
        "full_expense_total_minor": 10308700,
        "outside_allocation_minor": null,
        "externally_purchased_minor": null,
        "reserve_minor": 0,
        "due_now_minor": 10108700,
        "expense_due_now_minor": 10108700,
        "reserve_due_now_minor": 0,
        "reserve_later_minor": 0,
        "due_later_minor": 200000,
        "currency": "RUB",
        "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
        "scope": "selected_total",
        "within_budget": true
      },
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      }
    },
    "cart_snapshot_id": "SNAP-0004",
    "consent_ref": "CONSENT-0006",
    "pending_operation": null,
    "advertising": "OFF",
    "goal_lineage": [
      {
        "previous_goal": {
          "task_id": "TASK-TRIP-0001",
          "goal_revision": 1,
          "kind": "undetermined",
          "join": "UNRESOLVED",
          "declared_scope": "unresolved",
          "required_component_kinds": [],
          "criterion_ref": "criterion:default",
          "origin": "agent_assumption",
          "basis_action_ref": "DEMO-ACT-01"
        },
        "next_goal": {
          "task_id": "TASK-TRIP-0001",
          "goal_revision": 2,
          "kind": "buy_full",
          "join": "ALL",
          "declared_scope": "whole_trip",
          "required_component_kinds": [
            "lodging",
            "home_rt",
            "last_mile_rt",
            "main_rt"
          ],
          "criterion_ref": "criterion:default",
          "origin": "user_explicit",
          "basis_action_ref": "DEMO-ACT-01"
        },
        "basis_action_ref": "DEMO-ACT-01",
        "initial_goal_sha256": "6755a4896b849c5b746de0cdc412b6f832eaccde82390e560f6c034a29f9eab8",
        "reason": "по словам пользователя"
      }
    ]
  },
  "message": "Условия уже изменились в другом окне. Показываю актуальное состояние.",
  "intent_summary": "sheregesh, 10.02–15.02, 2 взр., из MOW, до 250 000 ₽ (whole_trip), результат: whole_trip",
  "questions": [],
  "directions": [],
  "options": [
    {
      "option_id": "OPTION-479ad21849c5fc632765bd1d",
      "option_basis_sha256": "479ad21849c5fc632765bd1d00c67dd4f441edec9379209b6d8f257f2494d11d",
      "trip_version": 2,
      "suitability": "ready",
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      },
      "stay": {
        "offer_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "property_id": "P-SHE-004",
        "property_name": "Отель «Тёплый очаг»",
        "property_kind": "hotel",
        "stars": 3,
        "review_score": 9.2,
        "room_id": "P-SHE-004-STD_DBL",
        "room_name": "Стандарт, одна двуспальная кровать",
        "beds": [
          "1×double"
        ],
        "rate_id": "P-SHE-004-STD_DBL-BB_NR",
        "rate_name": "Завтрак, невозвратный",
        "offer_revision": "r-c5dbf102a307",
        "meal_plan": "BB",
        "cancellation": "Невозвратный тариф",
        "free_cancellation_until": null,
        "payment_timing": "now",
        "check_in": "2027-02-10",
        "check_out": "2027-02-15",
        "checkin_from": "14:00",
        "checkout_until": "11:00",
        "highlights": {
          "lift_walk_min": "18",
          "ski_in_ski_out": "False",
          "ski_storage": "True",
          "ski_rental_onsite": "False",
          "kids_club": "False",
          "pets_allowed": "False",
          "kitchen_stove": "False"
        }
      },
      "outbound": {
        "offer_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "direction": "out",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 194",
            "from_node": "SVO",
            "to_node": "NOZ",
            "departs": "2027-02-10T14:35:00+03:00",
            "arrives": "2027-02-10T23:15:00+07:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "inbound": {
        "offer_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "direction": "back",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 204",
            "from_node": "NOZ",
            "to_node": "SVO",
            "departs": "2027-02-15T18:15:00+07:00",
            "arrives": "2027-02-15T18:55:00+03:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "ground": [
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress",
          "mode": "aeroexpress",
          "from_node": "CITY-MOW",
          "to_id": "SVO",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle",
          "mode": "shuttle",
          "from_node": "NOZ",
          "to_id": "sheregesh",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        },
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "mode": "aeroexpress",
          "from_node": "SVO",
          "to_id": "CITY-MOW",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle:back",
          "mode": "shuttle",
          "from_node": "sheregesh",
          "to_id": "NOZ",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        }
      ],
      "plan": {
        "option_ref": "OPTION-479ad21849c5fc632765bd1d",
        "offer_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "route_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "selected_entries": [
          {
            "component_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание, завтрак, невозвратный",
            "amount_minor": 3748700,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
            "amount_minor": 2740000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
            "amount_minor": 2940000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Москва, центр → Шереметьево",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Шереметьево → Москва, центр",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle:back",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          }
        ],
        "money": {
          "known_selected_subtotal_minor": 10308700,
          "selected_total_minor": 10308700,
          "full_expense_total_minor": 10308700,
          "outside_allocation_minor": null,
          "externally_purchased_minor": null,
          "reserve_minor": 0,
          "due_now_minor": 10108700,
          "expense_due_now_minor": 10108700,
          "reserve_due_now_minor": 0,
          "reserve_later_minor": 0,
          "due_later_minor": 200000,
          "currency": "RUB",
          "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
          "scope": "proposed_total",
          "within_budget": true
        },
        "result_scope": {
          "kind": "whole_trip",
          "component_kinds": [
            "lodging",
            "home_rt",
            "last_mile_rt",
            "main_rt"
          ],
          "transport_applicability": "required",
          "purpose": "prepare_purchase",
          "basis_action_ref": "DEMO-ACT-01",
          "fixed_component_refs": [],
          "candidate_offer_refs": []
        }
      },
      "checks": [
        {
          "check_id": "CHK-001-availability",
          "rule_id": "availability",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Есть наличие на даты",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-002-capacity",
          "rule_id": "capacity",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Вмещает 3 гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-003-meal_plan_min",
          "rule_id": "meal_plan_min",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Тариф BB покрывает всех гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-004-lift_walk_max_min",
          "rule_id": "lift_walk_max_min",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
          "rule_id": "TRANSPORT_APPLICABILITY",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Путь туда и обратно до этого отеля найден",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-006-timeline.arrival_vs_access",
          "rule_id": "timeline.arrival_vs_access",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-007-timeline.checkout_vs_departure",
          "rule_id": "timeline.checkout_vs_departure",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
          ],
          "reason": "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-008-budget.whole_trip",
          "rule_id": "budget.whole_trip",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Итог по охвату «whole_trip»: 103 087 ₽ при лимите 250 000 ₽",
          "evidence_refs": []
        }
      ],
      "fits": [
        "Тариф BB покрывает всех гостей",
        "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
        "Путь туда и обратно до этого отеля найден",
        "Приезд 11.02 12:09, номер доступен с 14:00",
        "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
        "Итог по охвату «whole_trip»: 103 087 ₽ при лимите 250 000 ₽"
      ],
      "tradeoffs": [
        "До подъёмника 18 мин пешком",
        "Тариф невозвратный"
      ],
      "unknowns": [],
      "pinned": false,
      "data_mode": "SYNTHETIC"
    },
    {
      "option_id": "OPTION-c47f803993c975be92ae9bf4",
      "option_basis_sha256": "c47f803993c975be92ae9bf459737dc7681c49bda413d4d967f4224bab032a84",
      "trip_version": 2,
      "suitability": "ready",
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      },
      "stay": {
        "offer_id": "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "property_id": "P-SHE-005",
        "property_name": "Отель «Тихая гавань»",
        "property_kind": "hotel",
        "stars": 3,
        "review_score": 8.3,
        "room_id": "P-SHE-005-STD_DBL",
        "room_name": "Стандарт, одна двуспальная кровать",
        "beds": [
          "1×double"
        ],
        "rate_id": "P-SHE-005-STD_DBL-BB_NR",
        "rate_name": "Завтрак, невозвратный",
        "offer_revision": "r-c5dbf102a307",
        "meal_plan": "BB",
        "cancellation": "Невозвратный тариф",
        "free_cancellation_until": null,
        "payment_timing": "now",
        "check_in": "2027-02-10",
        "check_out": "2027-02-15",
        "checkin_from": "14:00",
        "checkout_until": "11:00",
        "highlights": {
          "lift_walk_min": "4",
          "ski_in_ski_out": "False",
          "ski_storage": "True",
          "ski_rental_onsite": "True",
          "kids_club": "False",
          "pets_allowed": "False",
          "kitchen_stove": "False"
        }
      },
      "outbound": {
        "offer_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "direction": "out",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 194",
            "from_node": "SVO",
            "to_node": "NOZ",
            "departs": "2027-02-10T14:35:00+03:00",
            "arrives": "2027-02-10T23:15:00+07:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "inbound": {
        "offer_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "direction": "back",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 204",
            "from_node": "NOZ",
            "to_node": "SVO",
            "departs": "2027-02-15T18:15:00+07:00",
            "arrives": "2027-02-15T18:55:00+03:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "ground": [
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress",
          "mode": "aeroexpress",
          "from_node": "CITY-MOW",
          "to_id": "SVO",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle",
          "mode": "shuttle",
          "from_node": "NOZ",
          "to_id": "sheregesh",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        },
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "mode": "aeroexpress",
          "from_node": "SVO",
          "to_id": "CITY-MOW",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle:back",
          "mode": "shuttle",
          "from_node": "sheregesh",
          "to_id": "NOZ",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        }
      ],
      "plan": {
        "option_ref": "OPTION-c47f803993c975be92ae9bf4",
        "offer_ref": "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "route_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "selected_entries": [
          {
            "component_id": "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание, завтрак, невозвратный",
            "amount_minor": 3947400,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
            "amount_minor": 2740000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
            "amount_minor": 2940000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Москва, центр → Шереметьево",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Шереметьево → Москва, центр",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle:back",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          }
        ],
        "money": {
          "known_selected_subtotal_minor": 10507400,
          "selected_total_minor": 10507400,
          "full_expense_total_minor": 10507400,
          "outside_allocation_minor": null,
          "externally_purchased_minor": null,
          "reserve_minor": 0,
          "due_now_minor": 10307400,
          "expense_due_now_minor": 10307400,
          "reserve_due_now_minor": 0,
          "reserve_later_minor": 0,
          "due_later_minor": 200000,
          "currency": "RUB",
          "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
          "scope": "proposed_total",
          "within_budget": true
        },
        "result_scope": {
          "kind": "whole_trip",
          "component_kinds": [
            "lodging",
            "home_rt",
            "last_mile_rt",
            "main_rt"
          ],
          "transport_applicability": "required",
          "purpose": "prepare_purchase",
          "basis_action_ref": "DEMO-ACT-01",
          "fixed_component_refs": [],
          "candidate_offer_refs": []
        }
      },
      "checks": [
        {
          "check_id": "CHK-001-availability",
          "rule_id": "availability",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Есть наличие на даты",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-002-capacity",
          "rule_id": "capacity",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Вмещает 3 гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-003-meal_plan_min",
          "rule_id": "meal_plan_min",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Тариф BB покрывает всех гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-004-lift_walk_max_min",
          "rule_id": "lift_walk_max_min",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "4 мин пешком до подъёмника",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
          "rule_id": "TRANSPORT_APPLICABILITY",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Путь туда и обратно до этого отеля найден",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-006-timeline.arrival_vs_access",
          "rule_id": "timeline.arrival_vs_access",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-007-timeline.checkout_vs_departure",
          "rule_id": "timeline.checkout_vs_departure",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
          ],
          "reason": "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-008-budget.whole_trip",
          "rule_id": "budget.whole_trip",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-005-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Итог по охвату «whole_trip»: 105 074 ₽ при лимите 250 000 ₽",
          "evidence_refs": []
        }
      ],
      "fits": [
        "Тариф BB покрывает всех гостей",
        "4 мин пешком до подъёмника",
        "Путь туда и обратно до этого отеля найден",
        "Приезд 11.02 12:09, номер доступен с 14:00",
        "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
        "Итог по охвату «whole_trip»: 105 074 ₽ при лимите 250 000 ₽"
      ],
      "tradeoffs": [
        "Дороже самого дешёвого из показанных вариантов на 1 987 ₽ (вся корзина)",
        "Тариф невозвратный"
      ],
      "unknowns": [],
      "pinned": false,
      "data_mode": "SYNTHETIC"
    },
    {
      "option_id": "OPTION-d5a3193e9893d3a5480f7ca9",
      "option_basis_sha256": "d5a3193e9893d3a5480f7ca94e17daa9312ca6b4429482f24f17f0a9f0e7e880",
      "trip_version": 2,
      "suitability": "ready",
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      },
      "stay": {
        "offer_id": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "property_id": "P-SHE-014",
        "property_name": "Гостевой дом «Белый склон»",
        "property_kind": "guest_house",
        "stars": null,
        "review_score": 8.8,
        "room_id": "P-SHE-014-GH_DBL",
        "room_name": "Двухместный номер",
        "beds": [
          "1×double"
        ],
        "rate_id": "P-SHE-014-GH_DBL-BB_FLEX",
        "rate_name": "Завтрак, гибкий",
        "offer_revision": "r-c5dbf102a307",
        "meal_plan": "BB",
        "cancellation": "Бесплатная отмена до 09.02.2027 23:59 (UTC+0700), затем штраф: first_night",
        "free_cancellation_until": "2027-02-09T23:59:00+07:00",
        "payment_timing": "deposit_now",
        "check_in": "2027-02-10",
        "check_out": "2027-02-15",
        "checkin_from": "14:00",
        "checkout_until": "12:00",
        "highlights": {
          "lift_walk_min": "18",
          "ski_in_ski_out": "False",
          "ski_storage": "True",
          "ski_rental_onsite": "False",
          "kids_club": "False",
          "pets_allowed": "False",
          "kitchen_stove": "False"
        }
      },
      "outbound": {
        "offer_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "direction": "out",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 194",
            "from_node": "SVO",
            "to_node": "NOZ",
            "departs": "2027-02-10T14:35:00+03:00",
            "arrives": "2027-02-10T23:15:00+07:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "inbound": {
        "offer_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "direction": "back",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 204",
            "from_node": "NOZ",
            "to_node": "SVO",
            "departs": "2027-02-15T18:15:00+07:00",
            "arrives": "2027-02-15T18:55:00+03:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "ground": [
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress",
          "mode": "aeroexpress",
          "from_node": "CITY-MOW",
          "to_id": "SVO",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle",
          "mode": "shuttle",
          "from_node": "NOZ",
          "to_id": "sheregesh",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        },
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "mode": "aeroexpress",
          "from_node": "SVO",
          "to_id": "CITY-MOW",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle:back",
          "mode": "shuttle",
          "from_node": "sheregesh",
          "to_id": "NOZ",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        }
      ],
      "plan": {
        "option_ref": "OPTION-d5a3193e9893d3a5480f7ca9",
        "offer_ref": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "route_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "selected_entries": [
          {
            "component_id": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:deposit",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание — предоплата",
            "amount_minor": 1224000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:rest",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание — доплата при заезде",
            "amount_minor": 2856000,
            "unknown_reason": null,
            "payment_timing": "at_property",
            "selection_status": "selected"
          },
          {
            "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
            "amount_minor": 2740000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
            "amount_minor": 2940000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Москва, центр → Шереметьево",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Шереметьево → Москва, центр",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle:back",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          }
        ],
        "money": {
          "known_selected_subtotal_minor": 10640000,
          "selected_total_minor": 10640000,
          "full_expense_total_minor": 10640000,
          "outside_allocation_minor": null,
          "externally_purchased_minor": null,
          "reserve_minor": 0,
          "due_now_minor": 7584000,
          "expense_due_now_minor": 7584000,
          "reserve_due_now_minor": 0,
          "reserve_later_minor": 0,
          "due_later_minor": 3056000,
          "currency": "RUB",
          "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
          "scope": "proposed_total",
          "within_budget": true
        },
        "result_scope": {
          "kind": "whole_trip",
          "component_kinds": [
            "lodging",
            "home_rt",
            "last_mile_rt",
            "main_rt"
          ],
          "transport_applicability": "required",
          "purpose": "prepare_purchase",
          "basis_action_ref": "DEMO-ACT-01",
          "fixed_component_refs": [],
          "candidate_offer_refs": []
        }
      },
      "checks": [
        {
          "check_id": "CHK-001-availability",
          "rule_id": "availability",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Есть наличие на даты",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-002-capacity",
          "rule_id": "capacity",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Вмещает 3 гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-003-meal_plan_min",
          "rule_id": "meal_plan_min",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Тариф BB покрывает всех гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-004-lift_walk_max_min",
          "rule_id": "lift_walk_max_min",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
          "rule_id": "TRANSPORT_APPLICABILITY",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Путь туда и обратно до этого отеля найден",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-006-timeline.arrival_vs_access",
          "rule_id": "timeline.arrival_vs_access",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-007-timeline.checkout_vs_departure",
          "rule_id": "timeline.checkout_vs_departure",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
          ],
          "reason": "Выезд из номера до 12:00, выехать к узлу нужно в 12:39 — ждать 39 мин",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-008-budget.whole_trip",
          "rule_id": "budget.whole_trip",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-014-GH_DBL-BB_FLEX@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Итог по охвату «whole_trip»: 106 400 ₽ при лимите 250 000 ₽",
          "evidence_refs": []
        }
      ],
      "fits": [
        "Тариф BB покрывает всех гостей",
        "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
        "Путь туда и обратно до этого отеля найден",
        "Приезд 11.02 12:09, номер доступен с 14:00",
        "Выезд из номера до 12:00, выехать к узлу нужно в 12:39 — ждать 39 мин",
        "Итог по охвату «whole_trip»: 106 400 ₽ при лимите 250 000 ₽"
      ],
      "tradeoffs": [
        "Дороже самого дешёвого из показанных вариантов на 3 313 ₽ (вся корзина)",
        "До подъёмника 18 мин пешком"
      ],
      "unknowns": [],
      "pinned": false,
      "data_mode": "SYNTHETIC"
    },
    {
      "option_id": "OPTION-8e5ce01c44e5a536f824f3bb",
      "option_basis_sha256": "8e5ce01c44e5a536f824f3bb5f17c5aea5882bfac6b794f1497549fb826a4533",
      "trip_version": 2,
      "suitability": "ready",
      "result_scope": {
        "kind": "whole_trip",
        "component_kinds": [
          "lodging",
          "home_rt",
          "last_mile_rt",
          "main_rt"
        ],
        "transport_applicability": "required",
        "purpose": "prepare_purchase",
        "basis_action_ref": "DEMO-ACT-01",
        "fixed_component_refs": [],
        "candidate_offer_refs": []
      },
      "stay": {
        "offer_id": "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "property_id": "P-SHE-010",
        "property_name": "Отель «Катунь»",
        "property_kind": "hotel",
        "stars": 2,
        "review_score": 7.8,
        "room_id": "P-SHE-010-STD_DBL",
        "room_name": "Стандарт, одна двуспальная кровать",
        "beds": [
          "1×double"
        ],
        "rate_id": "P-SHE-010-STD_DBL-BB_NR",
        "rate_name": "Завтрак, невозвратный",
        "offer_revision": "r-c5dbf102a307",
        "meal_plan": "BB",
        "cancellation": "Невозвратный тариф",
        "free_cancellation_until": null,
        "payment_timing": "now",
        "check_in": "2027-02-10",
        "check_out": "2027-02-15",
        "checkin_from": "13:00",
        "checkout_until": "12:00",
        "highlights": {
          "lift_walk_min": "1",
          "ski_in_ski_out": "True",
          "ski_storage": "True",
          "ski_rental_onsite": "False",
          "kids_club": "False",
          "pets_allowed": "False",
          "kitchen_stove": "False"
        }
      },
      "outbound": {
        "offer_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "direction": "out",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 194",
            "from_node": "SVO",
            "to_node": "NOZ",
            "departs": "2027-02-10T14:35:00+03:00",
            "arrives": "2027-02-10T23:15:00+07:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "inbound": {
        "offer_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "direction": "back",
        "legs": [
          {
            "mode": "air",
            "carrier": "«Небо регионов» (синт.)",
            "number": "NBX 204",
            "from_node": "NOZ",
            "to_node": "SVO",
            "departs": "2027-02-15T18:15:00+07:00",
            "arrives": "2027-02-15T18:55:00+03:00"
          }
        ],
        "fare_code": "STANDARD",
        "checked_bag_kg": 23,
        "ski_equipment_included": false,
        "refundable": false,
        "single_ticket": true,
        "duration_min": 280
      },
      "ground": [
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress",
          "mode": "aeroexpress",
          "from_node": "CITY-MOW",
          "to_id": "SVO",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle",
          "mode": "shuttle",
          "from_node": "NOZ",
          "to_id": "sheregesh",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        },
        {
          "offer_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "mode": "aeroexpress",
          "from_node": "SVO",
          "to_id": "CITY-MOW",
          "duration_min": 50,
          "departures_local": []
        },
        {
          "offer_id": "X-NOZ-sheregesh-shuttle:back",
          "mode": "shuttle",
          "from_node": "sheregesh",
          "to_id": "NOZ",
          "duration_min": 216,
          "departures_local": [
            "08:33",
            "11:03",
            "13:33",
            "16:03",
            "18:33",
            "21:03"
          ]
        }
      ],
      "plan": {
        "option_ref": "OPTION-8e5ce01c44e5a536f824f3bb",
        "offer_ref": "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "route_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "selected_entries": [
          {
            "component_id": "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание, завтрак, невозвратный",
            "amount_minor": 4941300,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
            "amount_minor": 2740000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
            "amount_minor": 2940000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Москва, центр → Шереметьево",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          {
            "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Шереметьево → Москва, центр",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          {
            "component_id": "X-NOZ-sheregesh-shuttle:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle:back",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          }
        ],
        "money": {
          "known_selected_subtotal_minor": 11501300,
          "selected_total_minor": 11501300,
          "full_expense_total_minor": 11501300,
          "outside_allocation_minor": null,
          "externally_purchased_minor": null,
          "reserve_minor": 0,
          "due_now_minor": 11301300,
          "expense_due_now_minor": 11301300,
          "reserve_due_now_minor": 0,
          "reserve_later_minor": 0,
          "due_later_minor": 200000,
          "currency": "RUB",
          "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
          "scope": "proposed_total",
          "within_budget": true
        },
        "result_scope": {
          "kind": "whole_trip",
          "component_kinds": [
            "lodging",
            "home_rt",
            "last_mile_rt",
            "main_rt"
          ],
          "transport_applicability": "required",
          "purpose": "prepare_purchase",
          "basis_action_ref": "DEMO-ACT-01",
          "fixed_component_refs": [],
          "candidate_offer_refs": []
        }
      },
      "checks": [
        {
          "check_id": "CHK-001-availability",
          "rule_id": "availability",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Есть наличие на даты",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-002-capacity",
          "rule_id": "capacity",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Вмещает 3 гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-003-meal_plan_min",
          "rule_id": "meal_plan_min",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Тариф BB покрывает всех гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-004-lift_walk_max_min",
          "rule_id": "lift_walk_max_min",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Ski-in/ski-out: выезд на склон от двери",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
          "rule_id": "TRANSPORT_APPLICABILITY",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Путь туда и обратно до этого отеля найден",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-006-timeline.arrival_vs_access",
          "rule_id": "timeline.arrival_vs_access",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Приезд 11.02 12:09, номер доступен с 13:00",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-007-timeline.checkout_vs_departure",
          "rule_id": "timeline.checkout_vs_departure",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
          ],
          "reason": "Выезд из номера до 12:00, выехать к узлу нужно в 12:39 — ждать 39 мин",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-008-budget.whole_trip",
          "rule_id": "budget.whole_trip",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-010-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Итог по охвату «whole_trip»: 115 013 ₽ при лимите 250 000 ₽",
          "evidence_refs": []
        }
      ],
      "fits": [
        "Тариф BB покрывает всех гостей",
        "Ski-in/ski-out: выезд на склон от двери",
        "Путь туда и обратно до этого отеля найден",
        "Приезд 11.02 12:09, номер доступен с 13:00",
        "Выезд из номера до 12:00, выехать к узлу нужно в 12:39 — ждать 39 мин",
        "Итог по охвату «whole_trip»: 115 013 ₽ при лимите 250 000 ₽"
      ],
      "tradeoffs": [
        "Дороже самого дешёвого из показанных вариантов на 11 926 ₽ (вся корзина)",
        "Тариф невозвратный"
      ],
      "unknowns": [],
      "pinned": false,
      "data_mode": "SYNTHETIC"
    }
  ],
  "preview": null,
  "change_summary": {
    "applied": true,
    "old_trip_version": 1,
    "new_trip_version": 2,
    "changed_fields": [
      "budget",
      "dates",
      "destination_id",
      "origin_id",
      "party",
      "requirement:lift_walk_max_min",
      "requirement:meal_plan_min",
      "result_scope"
    ],
    "affected_refs": [
      "budget",
      "dates",
      "destination_id",
      "origin_id",
      "party",
      "requirement:lift_walk_max_min",
      "requirement:meal_plan_min",
      "result_scope"
    ],
    "invalidated_refs": [],
    "preserved_refs": [],
    "consent_revoked": false,
    "recheck": [
      "totals",
      "ranking",
      "explanation",
      "requirement:lift_walk_max_min",
      "stays",
      "path",
      "transfers",
      "prices",
      "season",
      "capacity",
      "room_rate",
      "cancellation",
      "availability",
      "schedule",
      "services",
      "timeline",
      "result_scope",
      "requirement:meal_plan_min"
    ],
    "reason": "applied change"
  },
  "checks": [
    {
      "check_id": "CHK-001-availability",
      "rule_id": "availability",
      "status": "PASS",
      "critical": true,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Есть наличие на даты",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-002-capacity",
      "rule_id": "capacity",
      "status": "PASS",
      "critical": true,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Вмещает 3 гостей",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-003-meal_plan_min",
      "rule_id": "meal_plan_min",
      "status": "PASS",
      "critical": true,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Тариф BB покрывает всех гостей",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-004-lift_walk_max_min",
      "rule_id": "lift_walk_max_min",
      "status": "PASS",
      "critical": false,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
      "rule_id": "TRANSPORT_APPLICABILITY",
      "status": "PASS",
      "critical": true,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Путь туда и обратно до этого отеля найден",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-006-timeline.arrival_vs_access",
      "rule_id": "timeline.arrival_vs_access",
      "status": "PASS",
      "critical": false,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-007-timeline.checkout_vs_departure",
      "rule_id": "timeline.checkout_vs_departure",
      "status": "PASS",
      "critical": false,
      "scope_refs": [
        "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
      ],
      "reason": "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
      "evidence_refs": []
    },
    {
      "check_id": "CHK-008-budget.whole_trip",
      "rule_id": "budget.whole_trip",
      "status": "PASS",
      "critical": true,
      "scope_refs": [
        "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
      ],
      "reason": "Итог по охвату «whole_trip»: 103 087 ₽ при лимите 250 000 ₽",
      "evidence_refs": []
    }
  ],
  "warnings": [],
  "allowed_actions": [
    "MESSAGE",
    "REVIEW"
  ],
  "data_mode": "SYNTHETIC",
  "snapshot": {
    "cart_snapshot_id": "SNAP-0004",
    "payload_sha256": "8dd0aa78c472594eff0f20e9c343fe6251025e2cc75c17d77e2ad055f677a482",
    "expires_at": "2026-11-01T09:10:00Z",
    "trip_version": 2,
    "option_ref": "OPTION-479ad21849c5fc632765bd1d",
    "selected_entries": [
      {
        "component_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 взр., 5 ноч.",
        "source_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
        "new_or_external": "new",
        "kind": "stay",
        "label": "Проживание, завтрак, невозвратный",
        "amount_minor": 3748700,
        "unknown_reason": null,
        "payment_timing": "now",
        "selection_status": "selected"
      },
      {
        "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
        "new_or_external": "new",
        "kind": "transport",
        "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
        "amount_minor": 2740000,
        "unknown_reason": null,
        "payment_timing": "now",
        "selection_status": "selected"
      },
      {
        "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
        "new_or_external": "new",
        "kind": "transport",
        "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
        "amount_minor": 2940000,
        "unknown_reason": null,
        "payment_timing": "now",
        "selection_status": "selected"
      },
      {
        "component_id": "X-CITY-MOW-SVO-aeroexpress",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "X-CITY-MOW-SVO-aeroexpress",
        "new_or_external": "new",
        "kind": "home_ground",
        "label": "aeroexpress: Москва, центр → Шереметьево",
        "amount_minor": 100000,
        "unknown_reason": null,
        "payment_timing": "later",
        "selection_status": "selected"
      },
      {
        "component_id": "X-NOZ-sheregesh-shuttle",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "X-NOZ-sheregesh-shuttle",
        "new_or_external": "new",
        "kind": "transfer",
        "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
        "amount_minor": 340000,
        "unknown_reason": null,
        "payment_timing": "now",
        "selection_status": "selected"
      },
      {
        "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
        "new_or_external": "new",
        "kind": "home_ground",
        "label": "aeroexpress: Шереметьево → Москва, центр",
        "amount_minor": 100000,
        "unknown_reason": null,
        "payment_timing": "later",
        "selection_status": "selected"
      },
      {
        "component_id": "X-NOZ-sheregesh-shuttle:back",
        "revision": "r-c5dbf102a307",
        "quantity": 1,
        "scope": "2 пасс.",
        "source_ref": "X-NOZ-sheregesh-shuttle:back",
        "new_or_external": "new",
        "kind": "transfer",
        "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
        "amount_minor": 340000,
        "unknown_reason": null,
        "payment_timing": "now",
        "selection_status": "selected"
      }
    ],
    "money": {
      "known_selected_subtotal_minor": 10308700,
      "selected_total_minor": 10308700,
      "full_expense_total_minor": 10308700,
      "outside_allocation_minor": null,
      "externally_purchased_minor": null,
      "reserve_minor": 0,
      "due_now_minor": 10108700,
      "expense_due_now_minor": 10108700,
      "reserve_due_now_minor": 0,
      "reserve_later_minor": 0,
      "due_later_minor": 200000,
      "currency": "RUB",
      "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
      "scope": "selected_total",
      "within_budget": true
    },
    "checks": [
      {
        "check_id": "CHK-001-availability",
        "rule_id": "availability",
        "status": "PASS",
        "critical": true,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Есть наличие на даты",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-002-capacity",
        "rule_id": "capacity",
        "status": "PASS",
        "critical": true,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Вмещает 3 гостей",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-003-meal_plan_min",
        "rule_id": "meal_plan_min",
        "status": "PASS",
        "critical": true,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Тариф BB покрывает всех гостей",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-004-lift_walk_max_min",
        "rule_id": "lift_walk_max_min",
        "status": "PASS",
        "critical": false,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
        "rule_id": "TRANSPORT_APPLICABILITY",
        "status": "PASS",
        "critical": true,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Путь туда и обратно до этого отеля найден",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-006-timeline.arrival_vs_access",
        "rule_id": "timeline.arrival_vs_access",
        "status": "PASS",
        "critical": false,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-007-timeline.checkout_vs_departure",
        "rule_id": "timeline.checkout_vs_departure",
        "status": "PASS",
        "critical": false,
        "scope_refs": [
          "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
        ],
        "reason": "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
        "evidence_refs": []
      },
      {
        "check_id": "CHK-008-budget.whole_trip",
        "rule_id": "budget.whole_trip",
        "status": "PASS",
        "critical": true,
        "scope_refs": [
          "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
        ],
        "reason": "Итог по охвату «whole_trip»: 103 087 ₽ при лимите 250 000 ₽",
        "evidence_refs": []
      }
    ]
  },
  "consent": {
    "consent_id": "CONSENT-0006",
    "trip_id": "TRIP-0001",
    "trip_version": 2,
    "cart_snapshot_id": "SNAP-0004",
    "payload_sha256": "915db6f6b300a3069043e282293c7f78cf9bc84183193b233a9da7615fbbdb7c",
    "actor_ref": "DEMO-S1",
    "action_ref": "DEMO-ACT-04",
    "recorded_at": "2026-11-01T09:00:00Z"
  },
  "operation": {
    "record": {
      "operation_id": "DEMO-OP-1",
      "business_action_id": "DEMO-ACT-04",
      "operation_key": "DEMO-OP-1",
      "cart_snapshot_id": "SNAP-0004",
      "payload_sha256": "915db6f6b300a3069043e282293c7f78cf9bc84183193b233a9da7615fbbdb7c",
      "consent_ref": "CONSENT-0006",
      "status": "SIMULATED_CONFIRMED",
      "parts": [
        {
          "entry": {
            "component_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 взр., 5 ноч.",
            "source_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
            "new_or_external": "new",
            "kind": "stay",
            "label": "Проживание, завтрак, невозвратный",
            "amount_minor": 3748700,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
            "amount_minor": 2740000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
            "new_or_external": "new",
            "kind": "transport",
            "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
            "amount_minor": 2940000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "X-CITY-MOW-SVO-aeroexpress",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Москва, центр → Шереметьево",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "X-NOZ-sheregesh-shuttle",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
            "new_or_external": "new",
            "kind": "home_ground",
            "label": "aeroexpress: Шереметьево → Москва, центр",
            "amount_minor": 100000,
            "unknown_reason": null,
            "payment_timing": "later",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        },
        {
          "entry": {
            "component_id": "X-NOZ-sheregesh-shuttle:back",
            "revision": "r-c5dbf102a307",
            "quantity": 1,
            "scope": "2 пасс.",
            "source_ref": "X-NOZ-sheregesh-shuttle:back",
            "new_or_external": "new",
            "kind": "transfer",
            "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
            "amount_minor": 340000,
            "unknown_reason": null,
            "payment_timing": "now",
            "selection_status": "selected"
          },
          "order_ref": "DEMO-B364D8D5FB",
          "confirmation_state": "SIMULATED_CONFIRMED"
        }
      ],
      "recovery": null,
      "failure_reason": null,
      "simulation": true
    },
    "snapshot": {
      "cart_snapshot_id": "SNAP-0004",
      "payload_sha256": "8dd0aa78c472594eff0f20e9c343fe6251025e2cc75c17d77e2ad055f677a482",
      "expires_at": "2026-11-01T09:10:00Z",
      "trip_version": 2,
      "option_ref": "OPTION-479ad21849c5fc632765bd1d",
      "selected_entries": [
        {
          "component_id": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 взр., 5 ноч.",
          "source_ref": "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307:stay",
          "new_or_external": "new",
          "kind": "stay",
          "label": "Проживание, завтрак, невозвратный",
          "amount_minor": 3748700,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "out:NBX194:2027-02-10:STANDARD:r-c5dbf102a307",
          "new_or_external": "new",
          "kind": "transport",
          "label": "Перелёт Шереметьево → Новокузнецк (Спиченково), STANDARD",
          "amount_minor": 2740000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307",
          "new_or_external": "new",
          "kind": "transport",
          "label": "Перелёт Новокузнецк (Спиченково) → Шереметьево, STANDARD",
          "amount_minor": 2940000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "X-CITY-MOW-SVO-aeroexpress",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-CITY-MOW-SVO-aeroexpress",
          "new_or_external": "new",
          "kind": "home_ground",
          "label": "aeroexpress: Москва, центр → Шереметьево",
          "amount_minor": 100000,
          "unknown_reason": null,
          "payment_timing": "later",
          "selection_status": "selected"
        },
        {
          "component_id": "X-NOZ-sheregesh-shuttle",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-NOZ-sheregesh-shuttle",
          "new_or_external": "new",
          "kind": "transfer",
          "label": "shuttle: Новокузнецк (Спиченково) → Шерегеш",
          "amount_minor": 340000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        },
        {
          "component_id": "X-CITY-MOW-SVO-aeroexpress:back",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-CITY-MOW-SVO-aeroexpress:back",
          "new_or_external": "new",
          "kind": "home_ground",
          "label": "aeroexpress: Шереметьево → Москва, центр",
          "amount_minor": 100000,
          "unknown_reason": null,
          "payment_timing": "later",
          "selection_status": "selected"
        },
        {
          "component_id": "X-NOZ-sheregesh-shuttle:back",
          "revision": "r-c5dbf102a307",
          "quantity": 1,
          "scope": "2 пасс.",
          "source_ref": "X-NOZ-sheregesh-shuttle:back",
          "new_or_external": "new",
          "kind": "transfer",
          "label": "shuttle: Шерегеш → Новокузнецк (Спиченково)",
          "amount_minor": 340000,
          "unknown_reason": null,
          "payment_timing": "now",
          "selection_status": "selected"
        }
      ],
      "money": {
        "known_selected_subtotal_minor": 10308700,
        "selected_total_minor": 10308700,
        "full_expense_total_minor": 10308700,
        "outside_allocation_minor": null,
        "externally_purchased_minor": null,
        "reserve_minor": 0,
        "due_now_minor": 10108700,
        "expense_due_now_minor": 10108700,
        "reserve_due_now_minor": 0,
        "reserve_later_minor": 0,
        "due_later_minor": 200000,
        "currency": "RUB",
        "completeness": "COMPLETE_FOR_DECLARED_SCOPE",
        "scope": "selected_total",
        "within_budget": true
      },
      "checks": [
        {
          "check_id": "CHK-001-availability",
          "rule_id": "availability",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Есть наличие на даты",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-002-capacity",
          "rule_id": "capacity",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Вмещает 3 гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-003-meal_plan_min",
          "rule_id": "meal_plan_min",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Тариф BB покрывает всех гостей",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-004-lift_walk_max_min",
          "rule_id": "lift_walk_max_min",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Пешком 18 мин, но есть шаттл: 6 мин в пути (+ожидание по расписанию)",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-005-TRANSPORT_APPLICABILITY",
          "rule_id": "TRANSPORT_APPLICABILITY",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Путь туда и обратно до этого отеля найден",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-006-timeline.arrival_vs_access",
          "rule_id": "timeline.arrival_vs_access",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Приезд 11.02 12:09, номер доступен с 14:00",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-007-timeline.checkout_vs_departure",
          "rule_id": "timeline.checkout_vs_departure",
          "status": "PASS",
          "critical": false,
          "scope_refs": [
            "back:NBX204:2027-02-15:STANDARD:r-c5dbf102a307"
          ],
          "reason": "Выезд из номера до 11:00, выехать к узлу нужно в 12:39 — ждать 99 мин",
          "evidence_refs": []
        },
        {
          "check_id": "CHK-008-budget.whole_trip",
          "rule_id": "budget.whole_trip",
          "status": "PASS",
          "critical": true,
          "scope_refs": [
            "P-SHE-004-STD_DBL-BB_NR@2027-02-10..2027-02-15/2a[]x1#r-c5dbf102a307"
          ],
          "reason": "Итог по охвату «whole_trip»: 103 087 ₽ при лимите 250 000 ₽",
          "evidence_refs": []
        }
      ]
    },
    "consent": {
      "consent_id": "CONSENT-0006",
      "trip_id": "TRIP-0001",
      "trip_version": 2,
      "cart_snapshot_id": "SNAP-0004",
      "payload_sha256": "915db6f6b300a3069043e282293c7f78cf9bc84183193b233a9da7615fbbdb7c",
      "actor_ref": "DEMO-S1",
      "action_ref": "DEMO-ACT-04",
      "recorded_at": "2026-11-01T09:00:00Z"
    },
    "recovery": null
  },
  "error": {
    "code": "STALE_TRIP_VERSION",
    "message": "expected trip_version 0, actual 2",
    "retryable": true,
    "affected_refs": []
  },
  "simulation_notice": "Оформление — имитация, реальные бронирования и платежи не выполняются."
}
