Infraestructura de reservas para operar y distribuir a escala.

Reserve permite a agencias, grupos y plataformas gestionar organizaciones, ubicaciones, capacidad, clientes y comunicaciones desde un único núcleo multiempresa configurable por marca.

Una integración. Todo el ciclo de reserva.

Conecta una superficie pública o tu propio producto con un núcleo que valida disponibilidad, protege la capacidad y publica cada cambio operativo.

const booking = await reserve
  .reservations.create({
    tenant: "casa-juan",
    startsAt: slot.startsAt,
    partySize: 4,
    customer: {
      name: "Carlos Martín",
      locale: "es"
    }
  });

if (!booking.confirmed) {
  return retry(booking.reason);
}

events.publish(
  "reservation.created",
  { id: booking.id }
);

Un identificador conecta el origen con el resultado operativo.

Reserve conserva el contexto de entrada, la reserva, la ocupación y los cambios de estado dentro de una secuencia auditable. Cada fase puede exponerse a sistemas externos mediante contratos de integración.

01

Origen

Fuente, campaña, canal e identificadores de entrada.

02

Reserva

Solicitud, asignación de capacidad y confirmación transaccional.

03

Asistencia

Llegada, uso del recurso, finalización, cancelación o no-show.

04

Trazabilidad

Historial de estados y eventos para análisis operativo posterior.

Modelo de eventos

La reserva funciona como un agregado transaccional: recibe una solicitud, valida restricciones, bloquea capacidad, registra el cambio y delega las comunicaciones a una cola persistente.

Una superficie de reserva, varias formas de ejecución.

El mismo núcleo sirve una página pública o un widget embebido. La capa de presentación conserva la configuración del tenant mientras la disponibilidad se revalida en el servidor.

Superficie embebible

Bloque integrado, modal o botón flotante mediante un script asíncrono.

Eventos y adaptadores

Contratos para CRM, mensajería, analítica y procesos internos.

Contexto por tenant

Idioma, configuración visual y rutas públicas resueltas por ubicación.

embed.reserve.js
1
2
3
4
5
6
7
8
<script
  src="https://booky.bokmenu.com/embed/reserve.js"
  data-restaurant="casa-juan"
  data-mode="inline"
  data-locale="es"
  data-color="#000000"
  async
></script>

Vista previa interactiva

Modo: inline · Restaurante Casa Juan

Disponibilidad en vivo
CJ

Casa Juan

C. Juan Bravo, 72 · Terraza & Sala

ES
Comensales2 personas
FechaHoy
Horas disponibles (Cena)21:00h

Reserva instantánea en vivo · Revalidación en servidor · 0 sobreventas

Una capa de control para múltiples organizaciones.

La consola resuelve organizaciones, ubicaciones, módulos, membresías y estado de integración sin mezclar identidades ni datos operativos.

  • Jerarquía preparada para agencia, empresa y sede
  • Permisos independientes por cliente y producto
  • Branding, módulos y configuración reutilizable
  • Acceso de soporte controlado y auditable
control.reserve.internal

Tenant registry

policy: isolated

Organizations

tenant directory

Operations

event visibility

Integrations

provider state

tenant_idstate
org_hospitality_01active
org_sports_02configuring
org_services_03active

topology.graph

Jerarquía de aislamiento

tenant scoped
01Partnermarca · cartera · planes
02Organizaciónusuarios · roles · políticas
03Ubicaciónhorarios · capacidad · recursos
04Operaciónreservas · eventos · clientes

API

server validated

PostgreSQL

transactional

RLS

policy enforced

Aislamiento por jerarquía, no por duplicación.

Partner, organización, ubicación y operación mantienen ámbitos explícitos. Las consultas se limitan mediante políticas de fila y las mutaciones vuelven a validar autorización en el servidor.

Auth

identidad compartible / permisos por producto

RLS

políticas por organización y restaurante

Server

autorización repetida en cada mutación

Audit

actor, evento, agregado y marca temporal

Propiedades técnicas del núcleo operativo.

La capa funcional combina aislamiento, concurrencia, trazabilidad y proveedores intercambiables. Estas propiedades se aplican en servidor y no dependen de la interfaz.

Aislamiento

Datos y permisos separados por organización y ubicación.

Identidad

Roles, sesiones seguras y SSO preparado.

Observabilidad

Auditoría, entregas, errores y estados verificables.

Integraciones

Proveedores desacoplados, webhooks firmados y API tipada.

Concurrencia

Disponibilidad revalidada y controles transaccionales.

Escalabilidad

Monolito modular preparado para crecer sin fragmentarse.