Accommodation Extraction Package
Purpose
This document defines the minimum credible accommodation extraction package based on current code truth.
It does not claim accommodation is already extracted.
It distinguishes between:
- files that are good move-first extraction material
- shared shell pieces that should remain outside the runtime
- temporary hosting that still belongs to the current
svc-tendersshell - legacy compatibility residue
- unresolved mixed pieces
Move To Accommodation Runtime
| Path | Why it belongs in the extracted runtime | Notes |
| --- | --- | --- |
| services/svc-tenders/src/accommodation/contracts.ts | Accommodation-owned request/response/support contract surface | Route-facing types already live here. |
| | Accommodation-owned payload validation | Draft/update/booking/quote validation is already domain-local. |
| | Accommodation aggregate and mutation rules | Durable listing/booking lifecycle ownership is here. |
| | Accommodation projection maintenance | Needed by write model and preferred reads. |
| | Accommodation listing + booking write model | Real backend mutation surface. |
| | Preferred public/detail/booking read repository | Real active read path for listings, quote inputs, and bookings. |
| | Preferred owner listing reads | Real owner-facing read path. |
| | Accommodation-local quote logic | Active route behavior, not generic shell logic. |
| | Accommodation route registration | Already depends on accommodation-owned handlers/repositories. |
| | Accommodation-local route support | Keeps mutation mapping and public payload shaping local. |
| | Canonical write/projection schema start for real accommodation runtime | Strongest move-first migration. |
| | Accommodation view/read-model enrichment | Accommodation-specific follow-up migration. |
| | Accommodation schema adjustment for listing/booking IDs | Accommodation-specific and needed by active runtime truth. |