WorkStay Gateway Seam Status
Purpose
This document records the current extraction-seam status at the API gateway for the vacancy and accommodation surfaces that are the real backend candidates for future WorkStay extraction.
1. Vacancy seam status
Vacancy already had the stronger gateway seam coming into Sprint 58.
Current vacancy gateway target contract:
VACANCIES_SERVICE_URL ?? TENDERS_SERVICE_URL ?? "http://localhost:4020"
Route families currently using that seam:
- services/api/src/routes/vacancies.ts
- services/api/src/routes/vacancy-postings.ts
- services/api/src/routes/vacancy-applications.ts
- services/api/src/routes/owner-vacancy-postings.ts
- services/api/src/routes/owner-vacancy-applications.ts
Vacancy seam verdict:
env-seam-ready
Important caveat:
- gateway seam readiness does not mean vacancy public truth is fully clean, because the backend public read repository still falls back to legacy
vacancies
2. Accommodation seam status
Sprint 57 truth:
- accommodation public and owner-read routes already had an accommodation-specific env seam
- accommodation listing mutations, booking mutations, and
my-accommodation-bookingswere still pinned directly toTENDERS_SERVICE_URL
Sprint 58 hardening:
Added shared accommodation gateway helper:
Current accommodation gateway target contract:
ACCOMMODATIONS_SERVICE_URL ?? TENDERS_SERVICE_URL ?? "http://localhost:4020"
Route families now using that seam:
- services/api/src/routes/accommodations.ts
- services/api/src/routes/accommodation-listings.ts
- services/api/src/routes/accommodation-bookings.ts
- services/api/src/routes/my-accommodation-bookings.ts
- services/api/src/routes/owner-accommodation-listings.ts
- services/api/src/routes/owner-accommodation-reservations.ts
Accommodation seam verdict:
env-seam-ready
Additional hardening added in the helper:
- consistent accommodation service URL resolution
- loopback fallback between
localhostand127.0.0.1 - shared forwarding-header construction for accommodation routes
3. Which routes are env-seam-ready now
Vacancy
- public reads
- owner reads
- posting mutations
- application reads/writes
Accommodation
- public reads
- quote
- owner listing reads
- owner reservation reads
- listing mutations
- booking mutations
my-accommodation-bookings
4. Which routes remain pinned or mixed
No inspected accommodation gateway routes remain pinned directly to TENDERS_SERVICE_URL after this sprint.
What remains mixed is not the gateway target seam, but the backend truth behind it:
- vacancy public read fallback
- accommodation compatibility catalog residue
- root repository compatibility hosting
5. Notes
- This sprint finished the accommodation gateway seam in the same spirit vacancy already had.
- It did not claim that vacancy and accommodation are now one extracted runtime.
- It also did not remove compatibility residue from the backend read/persistence layer.