ReSlot
ReSlot autonomously turns last-minute cancellations into confirmed bookings—recovering revenue before the clock runs out.
Inspiration
For appointment-based businesses, time is perishable inventory. When a customer cancels, the employee is still working, the rent is still due, and that empty hour can never be sold again.
Most scheduling software simply records the loss. Meanwhile, front-desk teams scramble through waitlists, call customers one by one, and manually reorganize the calendar.
We wanted to build something that would not just detect a cancellation, but take responsibility for recovering it. That became ReSlot: an autonomous scheduling operator that finds the right customer, starts a real conversation, safely updates the calendar, and keeps working until the opportunity is recovered.
What it does
ReSlot is an AI-powered revenue-recovery platform for appointment businesses.
When an appointment is cancelled, ReSlot:
- Identifies the service, employee, time, and revenue at risk.
- Searches later appointments, the active waitlist, and eligible past customers.
- Filters candidates using consent, availability, service compatibility, staff preference, and outreach history.
- Ranks the eligible candidates and contacts one person at a time.
- Calls through an ElevenLabs voice agent or messages through Telegram.
- Interprets the customer's response and requires explicit confirmation.
- Revalidates the slot and commits the schedule change safely.
- If the move creates another opening, launches a new recovery job automatically.
Our demo begins when Josh cancels his 1:00 PM haircut. ReSlot determines that Sarah, booked for 2:00 PM and opted into earlier openings, is the strongest candidate. It calls Sarah, she accepts, and her appointment moves to 1:00 PM. That creates a new 2:00 PM opening, so ReSlot contacts Alex from the waitlist through Telegram and fills it.
One cancellation becomes two successful conversations, a repaired calendar, and recovered revenue—with no front-desk intervention.
How we built it
Cancellation → Recovery Job → Candidate Ranking → Voice/Telegram
→ Guarded Tool Call → Transactional Booking → Live Calendar Update
We deliberately separated AI reasoning from business authority.
- Gemini through Backboard handles natural-language conversations, customer-specific context, and typed tool selection.
- ElevenLabs and Twilio power outbound AI voice calls.
- Telegram handles real-time customer messaging, account linking, and replies.
- A custom TypeScript scheduling engine is the only layer allowed to change appointments. It validates identity, consent, working hours, employee qualifications, offer expiry, availability, and conflicts before committing anything.
- A persistent recovery worker leases jobs, ranks candidates, sends offers, retries failures, expires stale offers, and creates successor jobs when moving one appointment opens another.
- MongoDB Atlas stores appointments, customers, offers, waitlists, conversations, audit events, and recovery jobs using transactional updates.
- Fastify, Zod, and Node.js power the API, provider webhooks, validation, and background runtime.
- React, Vite, Tailwind CSS, and TypeScript power the Calendar, Agent, Customers, and Settings workspace.
- Server-Sent Events notify the frontend whenever authoritative scheduling state changes.
The AI can understand a customer and propose an action, but it cannot directly edit the database. Deterministic code remains responsible for identity, consent, scheduling integrity, and money-related policy.
Challenges we ran into
Making autonomy safe
Allowing an LLM to directly modify appointments would make stale availability, duplicated callbacks, or hallucinated identifiers dangerous. We solved this by giving the AI narrow, typed tools while keeping every real mutation behind a deterministic policy and transaction layer.
Managing cascading openings
Moving Sarah does not finish the workflow—it creates another opening. We had to model recovery as a chain of persistent jobs while preventing infinite movement, repeated outreach, expired offers, and multiple customers claiming the same slot.
Coordinating real providers
Voice calls, Telegram updates, webhook signatures, delayed transcripts, MongoDB connectivity, retries, and local development all behave differently. We normalized every channel into the same conversation and event model so the scheduling engine sees one consistent system.
Keeping the interface focused
Our early dashboard tried to show everything at once. We redesigned it around four clear surfaces—Calendar, Agent, Customers, and Settings—so operators can understand what ReSlot is doing without being overwhelmed by infrastructure details.
Accomplishments that we're proud of
- Completing a real cancellation-to-rebooking loop across voice and Telegram.
- Building a deterministic safety layer beneath the conversational AI.
- Preventing double bookings through transactional validation and idempotent provider handling.
- Creating persistent, restart-safe recovery workflows with retries and worker leases.
- Unifying customer context, waitlists, transcripts, offers, and appointment history in one operational workspace.
- Making every important agent action visible through live calendar updates and an auditable activity timeline.
The moment Sarah accepted by voice, moved into Josh's opening, and automatically triggered Alex's Telegram offer felt less like watching a chatbot—and more like watching a real operations employee work.
What we learned
We learned that the most useful AI agents do not just answer questions—they own outcomes.
We also learned that reliable autonomy requires strong boundaries. AI is excellent at understanding people and navigating ambiguous conversations, but deterministic software must remain in charge of identity, consent, availability, and scheduling state.
Most importantly, a schedule is not a list of isolated appointments. It is a connected system where one change can create an entire chain of recoverable opportunities.
MongoDB
MongoDB became ReSlot’s operational memory because our data is deeply connected but highly unstructured: Telegram chats, voice transcripts, customer CRM profiles, booking history, preferences, consent, waitlists, offers, and recovery events. ReSlot transforms that context into a continuously evolving candidate profile, applies hard eligibility rules, and ranks the customers most likely to fill a newly opened appointment. MongoDB’s document model lets these profiles evolve naturally, while transactions and unique indexes protect the critical booking path from partial updates and double bookings. This data model is also designed for MongoDB Atlas Vector Search, allowing conversation and CRM embeddings to support semantic candidate matching alongside our deterministic scheduling rules.
ElevenLabs
ElevenLabs was indispensable because messaging alone excludes customers who do not use Telegram, Instagram, or other booking apps—and a last-minute opening often requires the fastest, most natural channel available. According to Pew Research Center, 98% of American adults own a cellphone, while only 78% of adults aged 65 and older own a smartphone, making ordinary voice calls one of the most universally accessible communication channels. ElevenLabs allows ReSlot to place personalized outbound calls, understand natural responses, answer questions, and obtain explicit confirmation before the deterministic scheduling engine changes anything. It transforms ReSlot from a notification tool into an AI operator capable of holding the real conversation required to recover revenue. (Pew Research Center: https://www.pewresearch.org/internet/fact-sheet/mobile/?pubDate=20260115)
Gemini API
Gemini provides ReSlot’s conversational reasoning layer. It interprets unstructured Telegram messages and voice transcripts, combines them with the customer’s active offer and scheduling context, and determines the customer’s intent, even when the response is informal, ambiguous, or conversational. Through typed tool calls, Gemini can propose actions such as checking availability, cancelling, rescheduling, or accepting an offer, but it never modifies the database directly. Every proposed action passes through ReSlot’s deterministic scheduling engine, which revalidates identity, consent, availability, staff compatibility, and booking conflicts before committing it. This separation gives ReSlot Gemini’s natural-language intelligence while preserving the reliability required for real appointments.
What's next for ReSlot
Next, we want to expand ReSlot with:
- Integrations with existing salon, clinic, and booking platforms
- SMS, WhatsApp, email, and web-chat outreach
- Deposits and payment-backed slot holds
- Predictive cancellation and no-show detection
- Multi-location and multi-employee optimization
- Human approval rules for high-value or sensitive decisions
- Recovered-revenue analytics and shareable recovery receipts
- Broader applications across clinics, repair shops, wellness, and other appointment businesses
Our long-term vision is an AI workforce that continuously protects business utilization.
Scheduling software records empty time. ReSlot fills it.
Base44 link: https://reslot.base44.app/
Built With
- ai-agents
- backboard.io
- elevenlabs
- fastify
- gemini-api
- generative-ai
- luxon
- mongodb-atlas
- node.js
- react
- server-sent-events
- tailwind-css
- telegram-bot-api
- twilio
- typescript
- vite
- vitest
- zod
Log in or sign up for Devpost to join the conversation.