Endpoints de reservas
Referencia de la superficie de reservas devivla-api. Las rutas incluyen su versión (/v1/..., /v2/...); no hay prefijo global. Las rutas de calendario comparten prefijo con reservas (bookings y admin/bookings).
La columna Acceso distingue endpoints de la app del copropietario (usuario autenticado) de los de panel (protegidos por
PermissionGuard + @RequirePermission(...)). El permiso exacto se indica entre paréntesis.Público v1 — app del copropietario
src/bookings/v1/bookings.controller.ts · path bookings, versión 1.
Público v2 — experiencias y wallet de llaves
src/bookings/v2/bookings.controller.ts · path bookings, versión 2.
Admin v1 — panel CX
src/bookings/v1/bookings-admin.controller.ts · path admin/bookings, versión 1. Todos bajo PermissionGuard.
Fijar o editar fechas y notas de un alquiler o intercambio. Tanto al registrar una estancia (
addStay) como al modificar su check-in/check-out o sus notas en una reserva de tipo alquiler (RENT) o intercambio (EXCHANGE), la estancia no vive solo en la reserva origen sino también en su reserva contraparte (el booking del inquilino/huésped, referencia rent_book / stayBook), que es de donde el cron de importación (bookings:import) vuelve a leer los datos. En concreto, el import lee las notas de la estancia de alquiler/intercambio desde book_notes del contraparte, no desde guest_notes del origen. Por eso el código escribe las fechas de entrada/salida y las notas en ambos documentos de Firestore; si las fechas o las notas solo se guardaran en la reserva origen, la siguiente importación no las encontraría, las sustituiría por sus valores previos (o, en las fechas, por la hora por defecto default_check_in_<HomeType> / default_check_out_<HomeType>) y revertiría el cambio (src/bookings/v2/bookings.common.repository.ts:724, método addStay; :1876, método editStay).Admin v2 — llaves
src/bookings/v2/bookings-admin.controller.ts · path admin/bookings, versión 2. Todos bajo PermissionGuard.
Calendario
Público ensrc/bookings/calendars/v1/calendars.controller.ts; admin en calendars-admin.controller.ts. Comparten prefijo con reservas.