Skip to main content

Endpoints de reservas

Referencia de la superficie de reservas de vivla-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 en src/bookings/calendars/v1/calendars.controller.ts; admin en calendars-admin.controller.ts. Comparten prefijo con reservas.