Items 1-5, 9, 11 from denya-wahab-feedback-s2: - Category.show_in_form (alert-only flag): Gas Leak hidden from issue picker but kept urgent for SLA/alert and reporting; emergency quick path on the new-issue form creates urgent tickets via include_hidden categories. - Seed: Aluminum/Glass, Carpentry, Mould & Damp (Medium default) maintenance categories; Lost Property renamed Missing Item (+ sub). - One alembic migration: add show_in_form (backfill True, Gas Leak False) + data rename Lost Property -> Missing Item. - Property -> Building -> Apartment cascade with searchable apartment combobox on the new-issue form and ticket list filters; /api/tickets/units gains building filter + /units/grouped variant; /api/tickets gains additive building/unit_id filters. apartment_mapping.json committed (deterministic). - Group-by-priority toggle on /tickets (four sections + unknown bucket, age-sortable, composes with filters, URL deep links), FM dashboard active tickets, and CS dashboard priority card click-through. - Tests: 13 new (category visibility, seed idempotency/sync, unit grouping, ticket building/unit filters).
727 lines
14 KiB
JSON
727 lines
14 KiB
JSON
{
|
|
"version": 1,
|
|
"property": "Pavilion Accra",
|
|
"units": [
|
|
{
|
|
"apartment_code": "011E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "012E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "013E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "014E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "015E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "016E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "021E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "022E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "023E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "024E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "025E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "026E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "031E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "032E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "033E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "034E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "035E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "036E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "041E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "042E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "043E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "044E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "045E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "046E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "051E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "052E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "053E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "054E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "055E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "056E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "061E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "062E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "063E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "064E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "065E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "066E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "071E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "072E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "073E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "074E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "075E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "076E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "081E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "082E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "083E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "084E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "085E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "086E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "091E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "092E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "093E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "094E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "095E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "096E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "101E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "102E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "103E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "104E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "105E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "106E",
|
|
"property": "East",
|
|
"building": "Pavilion East",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "011W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "012W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "013W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "014W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "015W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "016W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 1
|
|
},
|
|
{
|
|
"apartment_code": "021W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "022W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "023W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "024W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "025W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "026W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 2
|
|
},
|
|
{
|
|
"apartment_code": "031W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "032W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "033W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "034W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "035W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "036W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 3
|
|
},
|
|
{
|
|
"apartment_code": "041W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "042W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "043W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "044W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "045W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "046W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 4
|
|
},
|
|
{
|
|
"apartment_code": "051W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "052W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "053W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "054W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "055W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "056W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 5
|
|
},
|
|
{
|
|
"apartment_code": "061W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "062W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "063W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "064W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "065W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "066W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 6
|
|
},
|
|
{
|
|
"apartment_code": "071W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "072W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "073W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "074W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "075W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "076W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 7
|
|
},
|
|
{
|
|
"apartment_code": "081W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "082W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "083W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "084W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "085W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "086W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 8
|
|
},
|
|
{
|
|
"apartment_code": "091W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "092W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "093W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "094W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "095W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "096W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 9
|
|
},
|
|
{
|
|
"apartment_code": "101W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "102W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "103W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "104W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "105W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
},
|
|
{
|
|
"apartment_code": "106W",
|
|
"property": "West",
|
|
"building": "Pavilion West",
|
|
"floor": 10
|
|
}
|
|
]
|
|
}
|