Ir al contenido

Hotel

El módulo Hotel administra hospedaje de punta a punta: catálogo de habitaciones, reservas, check-in/out, consumos en habitación, abonos, traslados y facturación al salir.

Menú en la app: Hotel (requiere permiso show_hotel)

PantallaRuta
Dashboard/hotel
Mapa de habitaciones/hotel/rooms/map
Reservas/hotel/reservations
Calendario/hotel/reservations/calendar
Habitaciones/hotel/rooms
Tipos de habitación/hotel/room-types
Pisos/hotel/floors
Configuración/hotel/config

Configura en este orden antes de la primera reserva:

  1. Pisos — niveles del edificio
  2. Tipos de habitación — tarifas y capacidad
  3. Habitaciones — cada habitación física
  4. Configuración hotel — hora de check-in y check-out
  5. Revisa Cajas, Métodos de pago y Numeraciones para anticipos y checkout

Ruta: /hotel

Panel operativo del día o del rango que elijas.

  • Última actualización — hora del último refresco
  • Rango de fechas — selector con formato YYYY-MM-DD, separador « a »
  • Refrescar — actualiza KPIs y listas
TarjetaQué muestra
OcupaciónPorcentaje y {ocupadas}/{total} habitaciones
DisponiblesHabitaciones listas para asignar
Check-insLlegadas en el período
Check-outsSalidas en el período

Listas con acciones rápidas por reserva:

BotónCuándo
Ver (ojo)Abre detalle de la reserva
Confirmar reservaSolo estado Pendiente
Check-inDeshabilitado si aún está Pendiente (debe confirmarse antes)
Deshacer check-inSolo Check-in; requiere permiso undo_hotel_checkin
AnularRequiere permiso cancel_hotel_reservation

El Check-out desde el dashboard redirige al mapa de habitaciones para completar la salida con cobro y factura.

Barras de progreso con conteo y porcentaje por estado: Disponible, Ocupada, Limpieza, Mantenimiento, Reservada, Fuera de Servicio.

Clic en Habitaciones clave (Disponibles, Ocupadas, etc.) → filtra el listado en /hotel/rooms?status=....

  • Nueva reserva → formulario
  • Reservas → listado
  • Habitaciones → catálogo
  • Tipos → tarifas
  • Enlace Ir al calendario

Ruta: /hotel/config

CampoDefaultPara qué sirve
Check-in15:00Desde esta hora el huésped puede ingresar
Check-out13:00Después de esta hora puede aplicarse noche extra en checkout

Vista previa: Jornada hotelera: entrada {hora} · salida {hora}
Toca Guardar horarios.

Desde esta pantalla accedes a tipos, pisos, habitaciones, métodos de pago, cajas, valores de billetes y numeraciones de facturación.


Listado: /hotel/floors
Formulario: /hotel/floors/form

Organiza el edificio por niveles (Planta baja, Piso 2, etc.).

CampoObligatorio
Número de pisoSí — ej. 1, 2, 3
NombreSí — ej. Primer Piso
DescripciónNo
Estado activoActivo / Inactivo

Columnas del listado: Número de piso · Nombre · Descripción · Habitaciones · Estado · Acciones


Listado: /hotel/room-types
Formulario: /hotel/room-types/form

Define categorías (Estándar, Suite, Familiar…) con capacidad y forma de cobro.

CampoDetalle
NombreObligatorio
Capacidad basePersonas incluidas en tarifa base
Capacidad máximaTope de huéspedes
DescripciónTexto libre
Estado activoActivo / Inactivo

Selector ¿Cómo se cobra este tipo de habitación?

Precio fijo por noche, sin importar cuántas personas (dentro de capacidad).

  • Precio por noche (habitación completa) — obligatorio

Cobra según adultos, niños y adicionales.

CampoDetalle
Precio por adulto por nocheObligatorio — primeras N personas según capacidad base
Precio por niño por nocheOpcional
Precio por persona adicional (por noche)Opcional — huéspedes sobre la capacidad base

Tarifa para dos personas, con opciones para single y adicional.

CampoDetalle
Precio por pareja por noche (2 personas)Obligatorio
Precio por persona adicionalOpcional
Precio por 1 persona (tarifa single)Opcional — una sola persona en habitación doble

Al guardar, el sistema vincula un producto para facturación (visible al editar el tipo).

Eliminar un tipo requiere permiso delete_hotel_room_type.


Listado: /hotel/rooms
Formulario: /hotel/rooms/form

Cada habitación física del hotel.

CampoObligatorio
Número de habitación
Nombre
Tipo de habitación
PisoNo
Capacidad
Número de camas
Precio baseSí — puede heredar del tipo
EstadoDisponible, Ocupada, Limpieza, Mantenimiento, Reservada, Fuera de Servicio
Estado activoActiva / Inactiva
DescripciónNo
AmenidadesTags — WiFi, TV, Aire acondicionado, Mini bar…

Estado · Tipo · Piso · Buscar (número o nombre)

Desde Cambiar estado en una fila:

  • Nuevo estado: Disponible, Ocupada, Limpieza, Mantenimiento, Reservada, Fuera de Servicio
  • Motivo o nota (opcional) — ej. Reparación aire acondicionado

Útil para marcar Limpieza tras un checkout antes de volver a Disponible.

Eliminar requiere permiso delete_hotel_room.


Listado: /hotel/reservations
Nueva / editar: /hotel/reservations/form
Detalle: /hotel/reservations/{id}

Puedes crearla desde:

  • Listado → Nueva reserva
  • Dashboard → Nueva reserva
  • Calendario → clic en celda vacía
  • Mapa → Reservar en habitación disponible
CampoDetalle
HuéspedBuscar cliente existente o Crear huésped (modal de contactos)
AdultosObligatorio — afecta tarifa si el tipo es por persona/pareja
NiñosOpcional
CampoDetalle
Check-in / Check-outObligatorios — calcula Noches automáticamente
HabitaciónSolo habitaciones disponibles en ese rango
Tarifa por nocheSe calcula según tipo y huéspedes; editable
CampoDetalle
Monto anticipadoAbono inicial
Método de pagoSi monto > 0
CajaCaja donde registra el ingreso

Noches · Tarifa/noche · Total · Anticipo · Saldo pendiente

Toca Guardar reserva.

EstadoSignificadoBadge
PendienteCreada, sin confirmarAmarillo
ConfirmadaLista para recibir al huéspedAzul
Check-inHuésped en habitaciónVerde
Check-outEstadía finalizada y cobradaGris
CanceladaAnulada con motivoRojo
No showNo se presentóOscuro
Crear reserva → Confirmar → Check-in → Cuenta/consumos/abonos → Checkout → Check-out
  1. Confirmar — desde dashboard o listado (reserva Pendiente)
  2. Check-in — cuando llega el huésped (ConfirmadaCheck-in; habitación pasa a Ocupada)
  3. Cuenta — cargar consumos durante la estadía
  4. Checkout — cobrar saldo y emitir comprobante (Check-out)
AcciónEstados permitidos
Ver reservaTodos
Agregar abonoPendiente, Confirmada, Check-in
Cuenta / ConsumosCheck-in
Editar / Ampliar estadíaPendiente, Check-in
Check-inConfirmada
Check-outCheck-in → abre mapa
Ver facturaCheck-out con venta generada
Deshacer check-inCheck-in (undo_hotel_checkin)
AnularPendiente, Confirmada, Check-in (cancel_hotel_reservation)
EliminarPendiente, Cancelada, No show sin venta (delete_hotel_reservation)

Pide motivo obligatorio. La habitación vuelve a Disponible si estaba reservada u ocupada según el caso.


Ruta: /hotel/reservations/{id}/account

Pantalla Cuenta de habitación — el POS de la habitación.

Pestañas: Productos · Combos · Servicios

  • Busca en el catálogo
  • Clic en un ítem → se agrega al carrito de la cuenta
  • Paginación si hay más de 24 ítems

Lista de consumos con cantidad × precio, nota por línea.

Acción por ítemPermiso
Editar precio/cantidadedit_hotel_consumption_price
Agregar / editar notaTodos con acceso
Eliminar líneaSegún rol

Resumen:

  • Hospedaje — noches × tarifa
  • Consumos — suma de cargos
  • Total
  • Anticipo (−)
  • Saldo pendiente
BotónQué hace
Guardar ({n})Confirma consumos del carrito (debe estar vacío antes del checkout)
Imprimir ordenComanda a cocina/barra
Pre-cuentaResumen para el huésped
Fechas / ampliar estadíaExtiende check-out (recalcula noches y total)
CheckoutSolo si no hay consumos sin guardar

Modal Agregar abono — disponible en listado de reservas y mapa (habitación ocupada).

CampoDetalle
Monto a abonarObligatorio
Método de pagoObligatorio
CajaSi hay varias cajas; si solo hay una, se muestra automáticamente

Muestra Anticipo actual y Anticipo después del abono. El abono reduce el saldo pendiente sin cerrar la estadía.


El checkout se realiza desde:

  • Mapa → botón Salida (habitación ocupada)
  • Cuenta → botón Checkout

También puedes llegar con ?reservation_id= en el mapa (desde dashboard o listado).

Si el huésped sale después de la hora de check-out configurada, aparece panel Noches adicionales con:

  • Badge de días extra
  • Incluir en el cobro: Ninguna (0) · 1 noche · … · N noches
  • Recalcula total de hospedaje
  • Hospedaje ({n} noche(s))
  • Consumos ({n} ítems) si aplica
  • Subtotal
  • Anticipo (−)
  • Total a pagar

Si el saldo es ≤ 0: mensaje Cuenta saldada — confirmar para generar comprobante.

Si tienes varias numeraciones, elige Tipo de facturación (numeración DIAN o POS).

Tipo: Individual · Múltiple

  • Selecciona método(s) de pago con montos
  • En efectivo: atajos de billetes ($5.000 … $100.000), Valor recibido, Completo, Limpiar, Cambio
  • Notas opcionales del checkout

Confirmar checkout → genera venta/comprobante → habitación Disponible → modal ¡Checkout exitoso! con Imprimir y Descargar.

Tras el checkout, en el listado de reservas usa Ver factura para reimprimir.


Ruta: /hotel/rooms/map

Vista visual operativa — la pantalla que usa recepción durante el día.

  • Pestañas de piso: Todos + cada piso (con conteo)
  • Estado: multiselect — Disponible, Ocupada, Reservada, Limpieza, Mantenimiento, Fuera de Servicio
  • Actualizar

Chips resumen: Disponibles · Ocupadas · Reservadas · Limpieza · Mantenimiento · Fuera de Servicio

Muestra número, piso, tipo, capacidad, badge de estado y tarifa.

EstadoColorAcciones típicas
DisponibleVerdeReservar
OcupadaRojoTraslado, Consumo, Abono, Salida
ReservadaAzulVer →
LimpiezaÁmbarVer →, cambiar a Disponible
Mantenimiento / Fuera de servicioCeleste / GrisNota + cambiar estado

En habitación ocupada, el popover de precio muestra: Hospedaje · Consumos · Total · Anticipo · Pendiente.

Clic en la tarjeta → formulario de la habitación.

Solo habitaciones ocupadas.

CampoDetalle
Origen / HuéspedSolo lectura
Habitación destinoSolo disponibles
Razón del trasladoOpcional
Ajustar tarifa a la nueva habitaciónRecalcula tarifa según tipo destino

Desde mapa o cuenta: ajusta Check-in y Check-out; recalcula noches, total y saldo. La salida debe ser posterior al check-in.


Ruta: /hotel/reservations/calendar

Matriz habitación × días del mes.

  • Navegación de mes (‹ ›)
  • Hoy
  • Refrescar
  • Nueva reserva

Pestañas de piso + estadísticas: {n} en el mes · {n} llegadas hoy · {n} salidas hoy

AcciónResultado
Clic celda vacíaNueva reserva con room_id y fecha precargados
Clic barra de reservaDetalle de la reserva
HoverTooltip: huésped, código, fechas, estado
EstadoColorLeyenda
PendienteGrisPendiente
ConfirmadaVerdeConfirmada
Check-inAzulEn habitación
Check-outGris claroFinalizada

La barra muestra nombre del huésped y {n}n si son varias noches.

Hint: Celda vacía: nueva reserva · Barra: ver detalle


PermisoAcceso
show_hotelDashboard y configuración
show_hotel_roomsHabitaciones y mapa
show_hotel_reservationsListado de reservas
show_hotel_calendarCalendario
show_hotel_room_typesTipos de habitación
show_hotel_floorsPisos
cancel_hotel_reservationAnular reservas
undo_hotel_checkinDeshacer check-in
delete_hotel_reservationEliminar registro
delete_hotel_room / delete_hotel_room_typeEliminar catálogo
edit_hotel_consumption_priceAjustar precio/cantidad en cuenta

Asigna permisos en Configuración → Roles.


La reserva debe estar Confirmada. Si está Pendiente, usa Confirmar reserva primero.

¿Cómo cobro minibar o restaurante a la habitación?

Sección titulada «¿Cómo cobro minibar o restaurante a la habitación?»

Con la reserva en Check-in, entra a Cuenta / Consumos y agrega productos, combos o servicios. Guarda y cobra en el Checkout.

En el checkout, el sistema detecta noches adicionales según la hora de check-out configurada. Elige cuántas noches extra incluir en el cobro.

¿Cómo paso a un huésped a otra habitación?

Sección titulada «¿Cómo paso a un huésped a otra habitación?»

Desde el mapa, habitación ocupada → Traslado → elige habitación destino disponible.

¿La habitación sigue en Limpieza después del checkout?

Sección titulada «¿La habitación sigue en Limpieza después del checkout?»

Tras checkout exitoso queda Disponible. Si tu operación usa estado Limpieza intermedio, cámbialo manualmente desde el listado o mapa antes de asignar al siguiente huésped.