Major Releasev1.0.0
Initial Release
First stable release of the Hotel Data API. Covers properties, room types, rooms, maintenance, and issue tracking.
Added
- GET /api/v1/properties — list and filter properties by enabled status
- GET /api/v1/properties/:id — retrieve a single property by ID
- GET /api/v1/properties/:id/room-types — room types scoped to a property
- GET /api/v1/properties/:id/rooms — rooms scoped to a property with floor filter
- GET /api/v1/room-types — list all room types with full filter support (category, amenities, size, guests)
- GET /api/v1/room-types/:id — single room type detail
- GET /api/v1/rooms — list all rooms across all properties with filtering
- GET /api/v1/rooms/:number — single room lookup (requires property_id)
- GET /api/v1/summary — aggregated stats dashboard data
- GET /api/v1/health — service health with uptime
- GET /api/v1/health/live — Kubernetes liveness probe
- GET /api/v1/health/startup — Kubernetes startup probe
- GET /api/v1/rooms/:number/equipment — equipment list for a room
- POST /api/v1/rooms/:number/equipment — register new equipment
- GET /api/v1/maintenance/schedules — list schedules with overdue filter
- POST /api/v1/maintenance/schedules — create a schedule
- POST /api/v1/maintenance/schedules/:id — perform action (complete) on a schedule
- GET /api/v1/rooms/:number/maintenance — full maintenance overview for a room
- GET /api/v1/issues — list issues with status, priority, category filters
- POST /api/v1/issues — report a new issue
- GET /api/v1/issues/:id — issue detail with timeline
- PATCH /api/v1/issues/:id — update issue fields
- GET /api/v1/issues/stats — aggregated issue analytics
Added
- CDN image delivery for room-type photos in thumbnail, medium, large, and original variants
- WebP format for thumbnail, medium, and large image variants
- Two registered properties: Aparthotel Stare Miasto (apt) and Krowoderska 66B (krw)
- PostgreSQL-backed data store with Drizzle ORM
- Full TypeScript API with Zod-validated request and response schemas