The Table Reservations service allows customers to book tables for dining in at Picantería Lurwis via WhatsApp. The system is handled by the Agente Reserva Mesas (Table Reservation Agent).Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KevinhosUTP/Automatizacion-Lurwis/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
When the Clasificador agent detects table reservation intent (explicit mentions of “reservar mesa” or “ir a comer al local”), it routes to the Agente Reserva Mesas.Intent Classification
Messages are classified as RESERVAS_MESA when customers explicitly mention:
- “Quiero reservar una mesa”
- “Vamos a ir a comer al local”
- “Mesa para 4 personas mañana”
Information Collection
Wilson collects the required booking details:
- Date and time of reservation
- Number of guests (2-12 people)
- Customer contact number
- Any special requests
Availability Validation
⚠️ Pending ImplementationPlanned tools:
consultar_disponibilidad: Check table availabilityregistrar_reserva: Save confirmed reservation
Agent Capabilities
Wilson - Reservas is designed to:- Validate party size: 2-12 guests (larger groups → venue reservations)
- Confirm date/time: Within operating hours (10:00 AM - 11:00 PM)
- Collect contact info: Phone number for confirmation
- Handle special requests: Dietary restrictions, occasion celebrations
Agent Personality
Current Workflow (As-Is)
Sample Conversation Flow
Sample Conversation Flow
Customer: Quiero reservar una mesa para mañanaWilson: ¡Excelente! Me encantaría ayudarte a reservar una mesa 🪑. ¿Para cuántas personas sería y para qué hora?Customer: Para 4 personas a las 8pmWilson: Perfecto! Mesa para 4 personas mañana a las 8:00 PM.¿Me podrías confirmar tu número de contacto y nombre completo?Customer: Luis Pérez, 987654321Wilson: ⚠️ Current behavior: The agent acknowledges the information but cannot yet confirm availability or create the actual reservation due to missing database integration.Expected future response:
“¡Listo Luis! Tu reserva está confirmada:
- Fecha: [date]
- Hora: 8:00 PM
- Mesa para: 4 personas
- Confirmación: #RES123
Planned Database Integration
The system is designed to use MongoDB collections for reservation management:Collection: reservas_mesas
Pending creation - Expected schema:
Planned Tools
consultar_disponibilidad (Not Yet Implemented)
consultar_disponibilidad (Not Yet Implemented)
Purpose: Check table availability for requested date/timeExpected Parameters:
fecha: Date in YYYY-MM-DD formathora: Time in HH:MM formatnum_personas: Number of guests
registrar_reserva (Not Yet Implemented)
registrar_reserva (Not Yet Implemented)
Purpose: Create confirmed table reservationExpected Parameters:
cliente_nombre: Full nametelefono: Contact phonefecha_reserva: Datehora_reserva: Timenum_personas: Guest countmesa_asignada: Table number
Business Rules
Party Size Limits
- 2-12 guests: Handled by table reservations service
- 13+ guests: Automatically routed to Venue Reservations for event coordination
If a customer requests a table for more than 12 people, Wilson should respond:“Para grupos de más de 12 personas, te recomiendo hablar con nuestro coordinador de eventos para una mejor experiencia. ¿Te gustaría que te conecte con ellos?”
Operating Hours
Reservations can only be made within:- Hours: 10:00 AM - 11:00 PM
- Timezone: America/Lima
- Same-day: Accepted if sufficient notice (minimum 2 hours recommended)
Cancellation Policy
⚠️ Not yet implemented Planned logic:- Customers can cancel via WhatsApp
- Cancellation detection keywords: “cancelar reserva”, “ya no voy”
- Status update:
estado: 'cancelada'
Technical Details
Agent Model: Google Gemini (fast model for quick responses) Memory: MongoDB collectionhistorial_reservas (15 message context window)
Database: MongoDB (planned collection reservas_mesas - not yet created)
Tools: Two planned tools - both pending implementation
System Configuration
From the workflow JSON:Implementation Notes
From the workflow sticky notes:NOTA 6.2: “Este agente se ocupa netamente de las reservas de mesas. Aún no está en uso (falta lógica) y creación de collections en mongoDB.”
What’s Missing
Recommended Implementation Order
Database Setup
Create MongoDB collection
reservas_mesas with proper indexes on fecha_reserva and telefonoAvailability Logic
Build
consultar_disponibilidad tool:- Query existing reservations for date/time
- Calculate table capacity vs. bookings
- Return available tables list
Booking Tool
Build
registrar_reserva tool:- Validate inputs
- Assign table number
- Generate reservation ID
- Save to MongoDB
Future Enhancements
Once the base system is implemented:- SMS Confirmations: Send SMS in addition to WhatsApp
- Reminder System: Automated reminders 2 hours before reservation
- Waitlist: Allow customers to join waitlist if no tables available
- Table Preferences: Window seats, outdoor seating, etc.
- Loyalty Integration: Priority booking for repeat customers
See Also
- Procesador Workflow - Agent routing and classification
- Venue Reservations - For larger events (13+ guests)
- MongoDB Integration - Database setup and configuration
- Order System - Fully implemented service example