Venue Agents
Project by Syed Shah (Syedwshah.nyc@gmail.com) & Oleg Savchuk (Oleg.savchuk12@gmail.com).
Core trick
A voice agent queries backend room availability, locks a room, issues a door code, and writes a persistent booking record.
Description
Project by Syed Shah (Syedwshah.nyc@gmail.com) & Oleg Savchuk (Oleg.savchuk12@gmail.com).
Venue Agents handles the backend logic that works alongside a voice-agent concierge: the agent operates on a workflow using realtime data and persistence, allowing users to making custom booking reservations with ease.
The assistant interacts with a backend: it knows which rooms are free, locks one in, issues a door code, and saves a record the operator can verify, handles payment processing, and updates a database.
README excerpt
# VoiceBooking
VoiceBooking is a hackathon-ready platform that lets you spin up outreach and booking agents quickly. The project pairs a React dashboard with a FastAPI backend, integrates Vapi for telephony, and prepares an OpenAI Realtime bridge for chat-based booking.
## Project Structure
```
VoiceBooking/
├── backend/ # FastAPI app, database models, services, scripts
│ ├── alembic/ # Database migrations
│ └── scripts/ # Helper scripts (e.g. seed data)
├── frontend/ # React + Vite SPA for orchestration UI
├── infra/ # Docker compose and devops helpers
├── .env # Local secrets (never commit)
├── .env.example # Template for required configuration
└── README.md
```
### Backend Highlights
- `/api/calls/launch` kicks off Vapi outreach or booking calls.
- `/api/metadata/*` serves venue data and session summaries (backed by Postgres).
- `/api/booking/{session_id}/confirm` persists a booking, records mock payment + door code, and updates the session snapshot.
- `/api/booking/{booking_id}/door-code` regenerates access codes; `/api/booking/recent` lists the latest reservations for the owner dashboard.
- `/api/events/{session}` exposes SSE stream for live status (stub).
### Frontend Highlights
- `CallBriefForm` captures the intent + context for each call.
- `CallDashboard` displays status and streaming transcript messages.
- `BookingModeToggle` lets users switch between Vapi voice and Realtime chat booking