{
  "schema": "aeroplanner.project",
  "version": 5,
  "created": "2026-10-08T00:00:00Z",
  "project": {
    "name": "Synthetic terminal design review \u2014 ASSURE worked case",
    "problem": "Should the developer add security lanes, spread the departure peak, or retain the current design for further study?",
    "outcomes": "Compare queue pressure and unresolved demand under three peak patterns; issue a traceable review brief before selecting the next design study.",
    "stakeholders": "Planning lead; terminal specialist; airport operator (demonstration roles)",
    "sponsor": "Example airport developer (synthetic)"
  },
  "team": [
    {
      "id": "DEMO",
      "name": "Demonstration terminal specialist",
      "role": "terminal"
    }
  ],
  "actor": "DEMO",
  "programme": {
    "phases": [
      {
        "year": 2030,
        "mppa": 1,
        "intlPct": 0,
        "transferPct": 0
      }
    ],
    "phpDep": [
      1000
    ],
    "phpArr": [
      700
    ]
  },
  "governance": {
    "audit": []
  },
  "tia": {
    "model": {
      "source": {
        "name": "Aeronova synthetic departure-peak case v1 \u2014 no airport records"
      },
      "demand": {
        "phpDep": 1000
      },
      "levels": [
        {
          "id": "L2",
          "name": "Departures (schematic)",
          "description": "Synthetic topology, not an airport floor plan"
        }
      ],
      "processors": [
        {
          "id": "CI",
          "type": "Check-in desks",
          "location": "Synthetic departures",
          "units": 4,
          "ratePerUnit": {
            "value": 200,
            "unit": "pax/hour"
          },
          "availability": 1,
          "status": "reviewer_confirmed",
          "reviewer": "Demonstration only \u2014 not an airport approval",
          "lifecycle": "operational",
          "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
        },
        {
          "id": "BD",
          "type": "Bag drop positions",
          "location": "Synthetic departures",
          "units": 2,
          "ratePerUnit": {
            "value": 300,
            "unit": "pax/hour"
          },
          "availability": 1,
          "status": "reviewer_confirmed",
          "reviewer": "Demonstration only \u2014 not an airport approval",
          "lifecycle": "operational",
          "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
        },
        {
          "id": "SEC",
          "type": "Security lanes",
          "location": "Synthetic departures",
          "units": 4,
          "ratePerUnit": {
            "value": 250,
            "unit": "pax/hour"
          },
          "availability": 1,
          "status": "reviewer_confirmed",
          "reviewer": "Demonstration only \u2014 not an airport approval",
          "lifecycle": "operational",
          "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
        }
      ],
      "nodes": [
        {
          "id": "CI",
          "label": "Check-in desks",
          "level": "L2",
          "processor": "CI",
          "x": 18,
          "y": 25
        },
        {
          "id": "BD",
          "label": "Bag drop positions",
          "level": "L2",
          "processor": "BD",
          "x": 18,
          "y": 75
        },
        {
          "id": "SEC",
          "label": "Security lanes",
          "level": "L2",
          "processor": "SEC",
          "x": 62,
          "y": 50
        },
        {
          "id": "END",
          "label": "Departure lounge",
          "level": "L2",
          "x": 90,
          "y": 50
        }
      ],
      "links": [
        {
          "id": "CI_SEC",
          "from": "CI",
          "to": "SEC",
          "mode": "walk",
          "capacity": {
            "value": 2000,
            "unit": "pax/hour"
          },
          "accessible": true
        },
        {
          "id": "BD_SEC",
          "from": "BD",
          "to": "SEC",
          "mode": "walk",
          "capacity": {
            "value": 2000,
            "unit": "pax/hour"
          },
          "accessible": true
        },
        {
          "id": "SEC_END",
          "from": "SEC",
          "to": "END",
          "mode": "walk",
          "capacity": {
            "value": 2000,
            "unit": "pax/hour"
          },
          "accessible": true
        }
      ],
      "routes": [
        {
          "id": "CHECKIN",
          "name": "Conventional check-in to security",
          "steps": [
            "CI",
            "SEC",
            "END"
          ],
          "share": 0.6,
          "confirmed": true,
          "levels": [
            "L2"
          ]
        },
        {
          "id": "BAGDROP",
          "name": "Bag drop to security",
          "steps": [
            "BD",
            "SEC",
            "END"
          ],
          "share": 0.4,
          "confirmed": true,
          "levels": [
            "L2"
          ]
        }
      ]
    },
    "store": {
      "T1": {
        "id": "T1",
        "revision": 1,
        "model": {
          "source": {
            "name": "Aeronova synthetic departure-peak case v1 \u2014 no airport records"
          },
          "demand": {
            "phpDep": 1000
          },
          "levels": [
            {
              "id": "L2",
              "name": "Departures (schematic)",
              "description": "Synthetic topology, not an airport floor plan"
            }
          ],
          "processors": [
            {
              "id": "CI",
              "type": "Check-in desks",
              "location": "Synthetic departures",
              "units": 4,
              "ratePerUnit": {
                "value": 200,
                "unit": "pax/hour"
              },
              "availability": 1,
              "status": "reviewer_confirmed",
              "reviewer": "Demonstration only \u2014 not an airport approval",
              "lifecycle": "operational",
              "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
            },
            {
              "id": "BD",
              "type": "Bag drop positions",
              "location": "Synthetic departures",
              "units": 2,
              "ratePerUnit": {
                "value": 300,
                "unit": "pax/hour"
              },
              "availability": 1,
              "status": "reviewer_confirmed",
              "reviewer": "Demonstration only \u2014 not an airport approval",
              "lifecycle": "operational",
              "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
            },
            {
              "id": "SEC",
              "type": "Security lanes",
              "location": "Synthetic departures",
              "units": 4,
              "ratePerUnit": {
                "value": 250,
                "unit": "pax/hour"
              },
              "availability": 1,
              "status": "reviewer_confirmed",
              "reviewer": "Demonstration only \u2014 not an airport approval",
              "lifecycle": "operational",
              "notes": "Synthetic assumption. Terminal specialist / operator must replace with measured project evidence."
            }
          ],
          "nodes": [
            {
              "id": "CI",
              "label": "Check-in desks",
              "level": "L2",
              "processor": "CI",
              "x": 18,
              "y": 25
            },
            {
              "id": "BD",
              "label": "Bag drop positions",
              "level": "L2",
              "processor": "BD",
              "x": 18,
              "y": 75
            },
            {
              "id": "SEC",
              "label": "Security lanes",
              "level": "L2",
              "processor": "SEC",
              "x": 62,
              "y": 50
            },
            {
              "id": "END",
              "label": "Departure lounge",
              "level": "L2",
              "x": 90,
              "y": 50
            }
          ],
          "links": [
            {
              "id": "CI_SEC",
              "from": "CI",
              "to": "SEC",
              "mode": "walk",
              "capacity": {
                "value": 2000,
                "unit": "pax/hour"
              },
              "accessible": true
            },
            {
              "id": "BD_SEC",
              "from": "BD",
              "to": "SEC",
              "mode": "walk",
              "capacity": {
                "value": 2000,
                "unit": "pax/hour"
              },
              "accessible": true
            },
            {
              "id": "SEC_END",
              "from": "SEC",
              "to": "END",
              "mode": "walk",
              "capacity": {
                "value": 2000,
                "unit": "pax/hour"
              },
              "accessible": true
            }
          ],
          "routes": [
            {
              "id": "CHECKIN",
              "name": "Conventional check-in to security",
              "steps": [
                "CI",
                "SEC",
                "END"
              ],
              "share": 0.6,
              "confirmed": true,
              "levels": [
                "L2"
              ]
            },
            {
              "id": "BAGDROP",
              "name": "Bag drop to security",
              "steps": [
                "BD",
                "SEC",
                "END"
              ],
              "share": 0.4,
              "confirmed": true,
              "levels": [
                "L2"
              ]
            }
          ]
        },
        "history": [
          {
            "revision": 1,
            "hash": "cd1573bdfc5d48680465f34f7e7b2f1f9a944e666bac9e0b1027a4bb2580eefe",
            "note": "created"
          }
        ],
        "dvrs": [
          {
            "id": "DVR-0001",
            "revision": 1,
            "modelHash": "cd1573bdfc5d48680465f34f7e7b2f1f9a944e666bac9e0b1027a4bb2580eefe",
            "engine": "tia 5.0.1",
            "scenario": {
              "scope": "network",
              "multiplier": 1,
              "waitTargetMin": 10,
              "routeIds": [
                "CHECKIN",
                "BAGDROP"
              ],
              "profile": [
                0.1,
                0.4,
                0.4,
                0.1
              ]
            },
            "decision": "COMPUTED_FOR_DECLARED_SCOPE",
            "confidence": "HIGH",
            "scope": "network",
            "outcomes": [
              {
                "k": "wait",
                "obj": "SEC",
                "msg": "SEC wait reaches 12.0 min (target 10 min)"
              },
              {
                "k": "planning_margin",
                "obj": "SEC",
                "msg": "SEC at 100.0 % (> 85 % planning margin \u2014 project choice, not an ADRM threshold)"
              }
            ],
            "failures": [],
            "limitations": [
              "Deterministic fluid queue by 15-minute interval; no stochastic service times or walking delays.",
              "Wait = queue at interval end \u00f7 service rate; not a percentile wait-time distribution.",
              "Spatial queue storage uses node area \u00f7 m\u00b2 per pax where an area is given; geometry is not verified.",
              "Shared processors allocate service proportionally to each route's waiting passengers, not FIFO or priority lanes.",
              "Link capacity is a comparison only; links do not throttle flow or store queues in this processor model."
            ],
            "dependencies": [
              "demand:project",
              "processor:BD",
              "processor:CI",
              "processor:SEC",
              "route:BAGDROP",
              "route:CHECKIN"
            ],
            "flowBalance": {
              "intervals": [
                {
                  "t": 0,
                  "entered": 100.0,
                  "exited": 100.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 1,
                  "entered": 500.0,
                  "exited": 350.0,
                  "queued": 150.0,
                  "balanceError": 0.0
                },
                {
                  "t": 2,
                  "entered": 900.0,
                  "exited": 600.0,
                  "queued": 300.0,
                  "balanceError": 0.0
                },
                {
                  "t": 3,
                  "entered": 1000.0,
                  "exited": 850.0,
                  "queued": 150.0,
                  "balanceError": 0.0
                },
                {
                  "t": 4,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 5,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 6,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 7,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 8,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 9,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 10,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                },
                {
                  "t": 11,
                  "entered": 1000.0,
                  "exited": 1000.0,
                  "queued": 0.0,
                  "balanceError": 0.0
                }
              ],
              "entered": 1000.0,
              "exited": 1000.0,
              "queued": 0.0,
              "maxAbsError": 0.0,
              "routeExits": {
                "CHECKIN": 600.0,
                "BAGDROP": 400.0
              },
              "profileMinutes": 60,
              "drainMinutes": 120
            },
            "reviewer": "Synthetic demonstration \u2014 not professional approval",
            "reviewStatus": "issued",
            "hash": "ec23ab7a618c1d8c0d233ffdb2026f4d8dddabf295168d9bbe8ef0869f179426"
          }
        ],
        "events": [],
        "scenarios": [
          {
            "dvr": "DVR-0001",
            "req": {
              "scope": "network",
              "multiplier": 1,
              "waitTargetMin": 10,
              "routeIds": [
                "CHECKIN",
                "BAGDROP"
              ],
              "profile": [
                0.1,
                0.4,
                0.4,
                0.1
              ]
            }
          }
        ]
      }
    },
    "lastRun": null,
    "phase": 0,
    "share": 1,
    "shareBasis": "Synthetic terminal serves 100% of the example phase peak. Annual traffic is a separate illustrative input."
  }
}