# A2 — Equipment Takeoff
# Sums all equipment we supply per discipline + location. Drives BOQ pricing in Phase 6.
# Aggregation strategy per D-018: class-aggregated with quantity for stations + per-instance for depot field devices.

metadata:
  project: "SMC MRT-7 FDAS+ACS Integration"
  date: "2026-04-29"
  source: "A1-io-list.yaml + A6-head-end-equipment.yaml + Resp. Matrix"
  status: draft

equipment_takeoff:

  # Head-end systems (per A6-head-end-equipment.yaml — 32 line items at OCC + FCCR)
  - category: "Head-End — FDAS"
    location: "OCC + FCCR"
    items:
      - { class: workstation, qty: 2, ref: "HE-FDAS-WS-OCC + HE-FDAS-WS-FCCR" }
      - { class: server, qty: 2, ref: "HE-FDAS-SVR-*" }
      - { class: software_license, qty: 2, ref: "OnyxWorks server+client perpetual × 2 locations" }
      - { class: software_ncs, qty: 1, ref: "ONYXWorks NCS network-control-station license" }
      - { class: l2_switch, qty: 2, ref: "FDAS L2 industrial Ethernet @ OCC + FCCR" }
      - { class: ups, qty: 2, ref: "2 kVA online double-conversion × 2" }
      - { class: printer, qty: 2, ref: "HP LaserJet color × 2" }
      - { class: rack, qty: 2, ref: "42U rack × 2" }
  - category: "Head-End — ACS"
    location: "OCC + FCCR"
    items:
      - { class: workstation, qty: 2, ref: "HE-ACS-WS-*" }
      - { class: server, qty: 2, ref: "HE-ACS-SVR-*" }
      - { class: software_license, qty: 2, ref: "BioStar 2 Enterprise + Client perpetual × 2" }
      - { class: software_db, qty: 2, ref: "Microsoft SQL Server 2019 LTS × 2" }
      - { class: l2_switch, qty: 2, ref: "ACS L2 industrial Ethernet × 2" }
      - { class: ups, qty: 2, ref: "2 kVA × 2" }
      - { class: badge_printer, qty: 2, ref: "ZebraID-class color card printer × 2" }
      - { class: enrollment_device, qty: 2, ref: "Suprema BioMini Plus 2 + DE-620 × 2" }
      - { class: rack, qty: 2, ref: "42U rack × 2" }

  # Workstation furniture
  - category: "Workstation Furniture"
    location: "OCC + FCCR"
    items:
      - { class: furniture_set, qty: 2, ref: "Table for 4 PCs + 4 ergonomic chairs + cable trays + monitor arms × 2 locations" }

  # Phase 1: Per-station gateway (12 stations × 2 systems)
  - category: "Station Gateways — FDAS"
    location: "12 Stations (1-12)"
    items:
      - { class: fdas_gateway, qty: 12, ref: "Notifier ONYXWorks NCM-W or equivalent network communication module — 1 per station" }
      - { class: surge_protector_pair, qty: 12, ref: "DITEK / Phoenix Contact at each gateway power + signal interface" }
      - { class: enclosure, qty: 12, ref: "NEMA 3R or wall enclosure for exposed-location gateways (where station auxiliary room not climate-controlled)" }
  - category: "Station Gateways — ACS"
    location: "12 Stations (1-12)"
    items:
      - { class: acs_gateway_media_converter, qty: 12, ref: "Industrial Ethernet media converter (Hirschmann/Moxa/Phoenix, NOT-China) for FOC↔Ethernet to Suprema CS-40 — 1 per station" }
      - { class: surge_protector_pair, qty: 12, ref: "Surge protector at each gateway" }
      - { class: enclosure, qty: 12, ref: "Wall enclosure for exposed-location gateways" }

  # Phase 2: Depot integration gateways (~5 buildings)
  - category: "Depot Integration Gateways — FDAS"
    location: "Depot Buildings (~5: Genset / Aux / Depot O&M / Depot TPSSR / others)"
    items:
      - { class: fdas_gateway, qty: 5, ref: "Notifier NCM-W or equivalent at each depot integration point" }
      - { class: surge_protector_pair, qty: 5, ref: "Surge protector × 5" }
      - { class: enclosure, qty: 5, ref: "NEMA enclosure × 5" }
  - category: "Depot Integration Gateways — ACS"
    location: "Depot Buildings (~5)"
    items:
      - { class: acs_gateway_media_converter, qty: 5, ref: "ACS gateway × 5" }
      - { class: surge_protector_pair, qty: 5, ref: "Surge protector × 5" }
      - { class: enclosure, qty: 5, ref: "Enclosure × 5" }

  # Phase 2: FDAS field devices at Genset Building (12 devices per A1)
  - category: "FDAS Field Devices @ Genset Building"
    location: "Genset Building"
    items:
      - { class: smoke_detector, qty: 4, ref: "Notifier FSP-951 photoelectric (UL 268)" }
      - { class: heat_detector, qty: 2, ref: "Notifier FST-951 fixed-temp+rate-of-rise (UL 521)" }
      - { class: manual_pull_station, qty: 2, ref: "Notifier NBG-12LX double-action break-glass" }
      - { class: horn_strobe, qty: 2, ref: "24 VDC ≥75 cd ≥82 dBA at 3 m" }
      - { class: monitoring_module, qty: 2, ref: "Device monitoring module for fuel-supply / generator-status" }
      - { class: device_back_box, qty: 12, ref: "Surface mount back-box × 12" }

  # Phase 2: FDAS field devices at Guard Houses (3 buildings × 4 devices)
  - category: "FDAS Field Devices @ Guard Houses"
    location: "Guard Houses (GH-1, GH-2A, GH-2D)"
    items:
      - { class: smoke_detector, qty: 6, ref: "2 per Guard House × 3 buildings (Notifier FSP-951)" }
      - { class: manual_pull_station, qty: 3, ref: "1 per Guard House" }
      - { class: horn_strobe, qty: 3, ref: "1 per Guard House" }
      - { class: device_back_box, qty: 12, ref: "Back-box × 12" }

  # Cabling + containment (per A3-cable-schedule.yaml)
  - category: "Cabling — FOC + STP + Cat6A + FRLS"
    location: "Multi-site"
    items:
      - { class: foc_single_mode_24core, qty_unit: m, qty: 1500, ref: "Inter-building Phase 2 routes (refined per route table); per ANNEX_C1 §1124.2.9" }
      - { class: foc_single_mode_12core, qty_unit: m, qty: 200, ref: "Lower-traffic perimeter routes (STP, GH-2D)" }
      - { class: stp_cat6a_outdoor, qty_unit: m, qty: 200, ref: "Inter-building STP per §1124.2.10" }
      - { class: cat6a_patch_internal, qty_unit: m, qty: 100, ref: "OCC + FCCR internal patch cables" }
      - { class: frls_fire_rated_2c_15mm2, qty_unit: m, qty: 170, ref: "FACP-to-device SLC cable at Genset + Guard Houses; per §1121" }
      - { class: foc_lc_connector_pair, qty: 36, ref: "Single-mode LC duplex terminations" }
      - { class: stp_rj45_termination, qty: 60, ref: "Cat6A RJ45 + boot" }
      - { class: fusion_splice, qty: 27, ref: "At manhole splice points per ANNEX_A 13005" }
      - { class: surge_protector_inter_building, qty: 24, ref: "1 pair per inter-building cable termination per TOR §4.2" }
      - { class: pull_box_junction, qty: 30, ref: "Pull/junction boxes per §1122 — at building stub-ups + termination cabinets" }
      - { class: cable_tray_ladder, qty_unit: m, qty: 50, ref: "OCC + FCCR rack rooms" }

  # Conduit + raceway (per A-203 50% conduit-to-cable ratio)
  - category: "Conduit + Raceway"
    location: "OCC + FCCR + building stub-ups"
    items:
      - { class: emt_conduit_25mm, qty_unit: m, qty: 1100, ref: "EMT conduit at OCC + FCCR + stub-ups (50% ratio per A-203 of cable length excluding underground portion)" }
      - { class: grc_galvanized_rigid, qty_unit: m, qty: 200, ref: "Where required (corrosive / outdoor exposed); per §1122" }
      - { class: conduit_fittings, qty: 200, ref: "Couplings + saddles + connectors" }

  # Power supply cables (per BOQ rows 5 + 10)
  - category: "Power Supply Cables"
    location: "OCC + FCCR"
    items:
      - { class: thw_2_5mm2, qty_unit: m, qty: 200, ref: "230 V power feeds: ECB → UPS → workstation/server" }
      - { class: thw_4mm2, qty_unit: m, qty: 100, ref: "Higher-current circuits to UPS input" }
      - { class: cable_terminations_power, qty: 50, ref: "Power cable terminations at panelboard + UPS + load" }

aggregate_counts:
  total_workstation_systems: 4   # FDAS@OCC + FDAS@FCCR + ACS@OCC + ACS@FCCR
  total_servers: 4
  total_l2_switches_industrial: 4
  total_ups_units_2kva: 4
  total_printer_laser: 2
  total_printer_badge: 2
  total_furniture_sets: 2
  total_station_gateways: 24  # 12 × 2 systems
  total_depot_gateways: 10    # 5 × 2 systems
  total_fdas_field_devices: 24  # Genset 12 + Guard Houses 12
  total_software_licenses_perpetual: 4  # OnyxWorks × 2 + BioStar 2 × 2
  total_database_licenses: 2  # SQL Server × 2
  total_surge_protectors: 48  # rough — gateway (34) + inter-building termination (24) split
  total_foc_m: 1700
  total_stp_m: 200
  total_cat6a_m: 100
  total_frls_m: 170
  total_emt_conduit_m: 1100
