Construir mi booking

Aforo e inventario

Cero cupos significa cero cupos.

Nada de leer el número y después escribir el número. Cada reclamo de capacidad o de un código de stock es una sola operación condicional en la base de datos, así que dos compras por el mismo cupo, al mismo instante, nunca pueden ganar las dos.

  • 1 escritura Cada reclamo es una sola operación SQL condicional, nunca "leer y luego escribir"
  • Compartido o propio Varios tipos de entrada pueden vaciar el mismo cupo, o tener el suyo aparte
  • Hasta 5 intentos Si un código de stock pierde la carrera contra otro reclamo, prueba el siguiente antes de rendirse

Cuatro piezas del inventario.

Cada una modela una restricción real distinta.

01

Aforo compartido o independiente

Varios tipos de entrada pueden vaciar el mismo cupo real, como adultos y niños compartiendo un aforo, o tener su propio cupo aparte para una categoría reservada.

02

Excepciones de aforo

Reduce o amplía la capacidad para una fecha, un rango de fechas o una hora específica, sin crear un grupo nuevo ni tocar el valor por defecto que rige el resto del calendario.

03

Recursos compartidos

Guías, vehículos o equipo pueden respaldar un aforo y compartirse entre productos, para modelar restricciones de personal, no solo de espacio físico.

04

Stock de códigos de terceros

Códigos comprados por adelantado a un proveedor externo, importados por CSV en segundo plano, con vencimiento propio y detección de duplicados.

Cómo se resuelve

Así se reclama un cupo, sin sobrevender

Cinco pasos, cada vez que algo reserva una pieza de inventario.

  1. 1

    Se busca o crea la fila

    Cada combinación de fecha y hora tiene su propia fila de conteo, creada la primera vez que alguien la reclama, heredando la capacidad de la excepción vigente, o el valor por defecto del grupo.

  2. 2

    Una sola escritura condicional

    El reclamo suma lo retenido, lo reservado y la cantidad pedida, y solo se aplica si ese total no supera la capacidad. Sin leer primero, sin ninguna ventana entre leer y escribir.

  3. 3

    Si no alcanza, se rechaza

    Si la condición falla, la escritura no afecta ninguna fila y el intento se rechaza de inmediato. No hay forma de que dos reclamos superen la misma condición al mismo tiempo.

  4. 4

    Retención y confirmación

    Un pago pendiente retiene el cupo en su propio contador. Si el pago se confirma, se mueve a reservado; si expira o se cancela, se libera, sin tocar nunca lo que ya está reservado en firme.

  5. 5

    Códigos de stock, mismo principio

    Reclamar un código de stock sigue la misma lógica: se elige el candidato disponible más antiguo, y la actualización solo se aplica si sigue disponible en ese instante exacto; si pierde la carrera, prueba el siguiente.

La API, tal cual

Lo que "restante" realmente significa

La misma consulta de calendario devuelve el cupo restante por tipo de entrada, no un número único compartido. Dos tipos que comparten aforo muestran la misma cifra; uno reservado e independiente muestra la suya propia.

GET /api/v1/products/observation-deck/calendar
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
{
  "date": "2026-08-14",
  "slots": [
    {
      "start_time": "18:00",
      "remaining_capacity": {
        "adult": 12,
        "child": 12,
        "accessible": 4
      }
    }
  ]
}
200 Aforo resuelto

El detalle que casi nadie piensa en probar

Un aforo sin límite no arrastra números fantasma

Si un aforo no tiene límite, reclamarlo nunca le suma nada a "retenido": no hay nada que contar. Confirmar o liberar esa misma retención sigue exactamente la misma regla, aunque parezca redundante, porque si ese aforo alguna vez pasa de ilimitado a limitado, esos contadores tienen que empezar en cero de verdad, sin arrastrar restas de números que nunca se sumaron.

Preguntas frecuentes

Solo una gana. El reclamo es una única operación condicional en la base de datos: suma la cantidad pedida y solo se aplica si el total no supera la capacidad. La segunda compra simplemente falla esa condición y se rechaza, sin ninguna ventana donde ambas puedan pasar.

Sí, si así se configura. Varios tipos de entrada, incluso de opciones o productos distintos, pueden apuntar al mismo grupo de aforo: vender uno reduce lo que le queda a los demás. También se puede dejar un cupo aparte, totalmente independiente, para una categoría reservada.

Con una excepción de aforo: una fecha, un rango de fechas o una hora específica con su propia capacidad, sin crear un grupo nuevo ni tocar el valor por defecto que rige el resto del calendario.

Se retiene en su propio contador, separado de lo que ya está reservado en firme. Si el pago se confirma, se mueve a reservado; si expira o se cancela, se libera automáticamente, sin afectar nunca las ventas ya cerradas.

Sí. Cada código se reclama con la misma lógica atómica: se elige el disponible más antiguo, y la actualización solo se aplica si sigue disponible en ese instante exacto. Si pierde la carrera contra otro reclamo, el sistema prueba el siguiente candidato, hasta cinco veces, antes de rendirse.

Más reservas. Más canales. La misma calma.

Tiqory mantiene disponibilidad, precios, pagos y acceso trabajando juntos mientras tu operación crece. Cuéntanos hacia dónde vas; te mostramos cómo llegar sin volver a empezar.