{
  "scenario": "arrival-readiness",
  "hosschemaversion": "0.1",
  "compare": "Replay events.jsonl in file order. For every delivery compare the disposition and, for every known stay, its readiness and situation. For situations compare every attribute except id and hosrecordedat, which are implementation-defined.",
  "deliveries": [
    {
      "delivery": 1,
      "source": "urn:hos:pms:demo",
      "id": "pms-000312",
      "disposition": "applied",
      "stays": {}
    },
    {
      "delivery": 2,
      "source": "urn:hos:pms:demo",
      "id": "pms-000421",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "unknown",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 3,
      "source": "urn:hos:pms:demo",
      "id": "pms-000422",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "unknown",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 4,
      "source": "urn:hos:housekeeping:demo",
      "id": "hk-002231",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 5,
      "source": "urn:hos:housekeeping:demo",
      "id": "hk-002231",
      "disposition": "duplicate",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 6,
      "source": "urn:hos:housekeeping:demo",
      "id": "hk-002232",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 7,
      "source": "urn:hos:pms:demo",
      "id": "pms-000430",
      "disposition": "undeclared_capability",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 8,
      "source": "urn:hos:housekeeping:demo",
      "id": "hk-002260",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 9,
      "source": "urn:hos:pms:demo",
      "id": "pms-000455",
      "disposition": "non_authoritative",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "none"
        }
      }
    },
    {
      "delivery": 10,
      "source": "urn:hos:messaging:demo",
      "id": "msg-000977",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "at_risk"
        }
      }
    },
    {
      "delivery": 11,
      "source": "urn:hos:messaging:demo",
      "id": "msg-000971",
      "disposition": "superseded",
      "stays": {
        "stay_1042": {
          "readiness": "not_ready",
          "situation": "at_risk"
        }
      }
    },
    {
      "delivery": 12,
      "source": "urn:hos:housekeeping:demo",
      "id": "hk-002301",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "ready",
          "situation": "resolved"
        }
      }
    },
    {
      "delivery": 13,
      "source": "urn:hos:pms:demo",
      "id": "pms-000470",
      "disposition": "applied",
      "stays": {
        "stay_1042": {
          "readiness": "ready",
          "situation": "resolved"
        }
      }
    }
  ],
  "situations": [
    {
      "delivery": 10,
      "event": {
        "specversion": "1.0",
        "source": "urn:hos:projection:arrival-readiness",
        "type": "arrival.room_readiness_at_risk",
        "time": "2026-07-30T09:40:00Z",
        "datacontenttype": "application/json",
        "hosschemaversion": "0.1",
        "hostenant": "tenant_demo",
        "hosproperty": "prop_demo",
        "hospropertytimezone": "Europe/Paris",
        "hosbusinessdate": "2026-07-30",
        "hossubjects": "stay:stay_1042 reservation:res_1042 unit:unit_204",
        "hoscausationsource": "urn:hos:messaging:demo",
        "hoscausationid": "msg-000977",
        "data": {
          "stay_id": "stay_1042",
          "reservation_id": "res_1042",
          "unit_id": "unit_204",
          "planned_arrival_at": "2026-07-30T13:00:00Z",
          "expected_arrival_at": "2026-07-30T10:30:00Z",
          "housekeeping": {
            "value": "dirty",
            "source": "urn:hos:housekeeping:demo",
            "event_id": "hk-002231",
            "time": "2026-07-30T06:40:00Z"
          },
          "conflicts": [
            {
              "dimension": "housekeeping",
              "value": "clean",
              "source": "urn:hos:pms:demo",
              "event_id": "pms-000455",
              "time": "2026-07-30T08:21:00Z"
            }
          ],
          "latest_task": {
            "task_id": "task_88",
            "task_type": "cleaning",
            "status": "completed",
            "source": "urn:hos:housekeeping:demo",
            "event_id": "hk-002260",
            "time": "2026-07-30T08:20:00Z"
          },
          "evidence": [
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000312"
            },
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000421"
            },
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000422"
            },
            {
              "source": "urn:hos:housekeeping:demo",
              "id": "hk-002231"
            },
            {
              "source": "urn:hos:housekeeping:demo",
              "id": "hk-002260"
            },
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000455"
            },
            {
              "source": "urn:hos:messaging:demo",
              "id": "msg-000977"
            }
          ]
        }
      }
    },
    {
      "delivery": 12,
      "event": {
        "specversion": "1.0",
        "source": "urn:hos:projection:arrival-readiness",
        "type": "arrival.room_readiness_resolved",
        "time": "2026-07-30T10:16:00Z",
        "datacontenttype": "application/json",
        "hosschemaversion": "0.1",
        "hostenant": "tenant_demo",
        "hosproperty": "prop_demo",
        "hospropertytimezone": "Europe/Paris",
        "hosbusinessdate": "2026-07-30",
        "hossubjects": "stay:stay_1042 reservation:res_1042 unit:unit_204",
        "hoscausationsource": "urn:hos:housekeeping:demo",
        "hoscausationid": "hk-002301",
        "data": {
          "stay_id": "stay_1042",
          "reservation_id": "res_1042",
          "unit_id": "unit_204",
          "reason": "unit_ready",
          "planned_arrival_at": "2026-07-30T13:00:00Z",
          "expected_arrival_at": "2026-07-30T10:30:00Z",
          "housekeeping": {
            "value": "inspected",
            "source": "urn:hos:housekeeping:demo",
            "event_id": "hk-002301",
            "time": "2026-07-30T10:16:00Z"
          },
          "evidence": [
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000312"
            },
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000421"
            },
            {
              "source": "urn:hos:pms:demo",
              "id": "pms-000422"
            },
            {
              "source": "urn:hos:housekeeping:demo",
              "id": "hk-002260"
            },
            {
              "source": "urn:hos:messaging:demo",
              "id": "msg-000977"
            },
            {
              "source": "urn:hos:housekeeping:demo",
              "id": "hk-002301"
            }
          ]
        }
      }
    }
  ]
}
