Skip to main content

Documentation Index

Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt

Use this file to discover all available pages before exploring further.

Descripción

El módulo Booking gestiona la creación, visualización y cancelación de reservas. Soporta tres tipos de operación: reserva directa, intercambio y alquiler.
  • Ubicación: src/modules/booking/
Los usuarios visitantes y aquellos sin propiedades registradas solo tienen acceso a la pantalla de alquiler (RentScreen).

Screens

ScreenRutaDescripción
BookScreen/(tabs)/02_book/book-staysLista de propiedades disponibles para reservar
ExchangeScreen/(tabs)/02_book/exchange-staysPropiedades disponibles para intercambio
RentScreen/(tabs)/02_book/rent-staysPropiedades disponibles para alquiler
BookingCreationScreen/booking/newCrear nueva reserva
BookingConfirmationScreen/booking/reviewConfirmación de reserva

API Endpoints

MétodoPathDescripción
GET/bookings/mineObtener reservas del usuario
GET/bookings/{id}Detalle de una reserva
GET/properties/{id}Propiedad asociada a reserva
PUT/bookings/{id}Actualizar reserva
POST/bookings/{id}/reviewsEnviar reseña
POST/bookings/makeCrear reserva
POST/bookings/{id}/rentCrear reserva de alquiler
POST/bookings/{id}/exchangeCrear reserva de intercambio
POST/bookings/exchange-last-hourIntercambio de última hora
DELETE/bookings/{id}Cancelar reserva
PUT/bookings/{id}/modify-typeModificar tipo de reserva

Hooks

HookDescripción
useBooking(bookingId, propertyId)Fetch de reserva y propiedad
useCancelBooking()Cancelar con invalidación de cache
useModifyBooking()Modificar tipo de reserva
useBookings()Listar y categorizar (active, cancelled, past, pending)
useBookingDetail(bookingId)Detalle de una reserva
useBookingReviews()Enviar reseña
useCreateBooking()Crear reserva directa
useCreateBookingToRent()Crear reserva de alquiler
useCreateBookingToExchange()Crear reserva de intercambio
useCreateBookingToExchangeLastHour()Intercambio última hora

Tipos principales

interface BookingInfo {
  checkIn: string;
  checkOut: string;
  adults: number;
  kids: number;
  pets: number;
  requests: string;
  cleaning: boolean;
  rental: boolean;
  reservations: Reservation[];
  crib: boolean;
}

Componentes destacados

booking-creation

Flujo completo de creación de reserva: selección de propiedad, fechas, huéspedes y confirmación.

calendar

Componente de selección de fechas con soporte para rangos, disponibilidad y bloqueos.

Queries

Todas las consultas de reservas utilizan React Query (bookingQueries) para fetching y caching. No realizar llamadas directas al API fuera de este sistema de queries.
El módulo define bookingQueries con claves de cache estructuradas para:
  • Listado de reservas del usuario
  • Detalle de reserva individual
  • Propiedades asociadas
  • Invalidación automática tras mutaciones (crear, cancelar, modificar)