¿Cómo evitar reservas superpuestas según hora de inicio y fin?

:waving_hand: Hola comunidad!
Estoy desarrollando una app de reservas en Glide para un marketplace donde se pueden rentar servicios como castillos inflables, animadores y shows.

Cada servicio tiene una hora de inicio y una hora de finalización, y quiero evitar que se puedan hacer reservas que se solapen para el mismo servicio en el mismo día.

He visto algunas ideas como:

  • Filtrar las reservas existentes donde Hora de inicio ≤ nueva hora de fin y Hora de fin ≥ nueva hora de inicio
  • Convertir las horas a valores numéricos y comparar rangos

Me encantaría conocer sus experiencias si ya han implementado algo parecido:
:white_check_mark: ¿Cuál ha sido su mejor práctica para manejar reservas con posibles solapamientos?
:white_check_mark: ¿Cómo manejan servicios con duraciones distintas (ej. 1 hora vs. 8 horas)?
:white_check_mark: ¿Algún consejo para que Glide mantenga buen rendimiento con muchos registros?

¡Gracias de antemano por cualquier idea, ejemplo o captura que puedan compartir! :raising_hands:
—Joel desde República Dominicana

3 Likes