Booking Agent — Data skill for Claude Code
Conversational appointment booking in .NET 10: Claude Haiku tool-calling agent that can propose but never confirm, zero double-booking via Postgres exclusion constraints, outbox reminders, real-time c.
How to install Booking Agent
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open Juxn89/booking-agent and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Booking Agent does
Conversational appointment booking in .NET 10: Claude Haiku tool-calling agent that can propose but never confirm, zero double-booking via Postgres exclusion constraints, outbox reminders, real-time calendar, agent evals.
Alternatives in Data
- Data Contract — This document defines which files belong to the system (auto-updatable) and which belong to the user (never to 32.5k ★
- Azure Document Intelligence .net — Document text, table, and data extraction 1.8k ★
- Postgres Wizard — 🗄️ PostgreSQL Wizard 96 ★
README
booking-agent
**Work in progress.** Appointment booking for small businesses: customers book by chatting with an assistant built on Claude Haiku, a person confirms every booking with a button, and a Postgres exclusion constraint makes double booking impossible.
So far:
- Availability (
src/BookingAgent.Domain/Scheduling): weekly hours per professional, on the business's clock, with NodaTime. Slots are laid out on the local clock and last real time, so the daylight-saving transitions behave as a receptionist would expect: a skipped hour is never offered, a repeated hour is offered once. Taken periods, time off and a minimum notice are honoured. - Use cases
FindAvailableSlots,HoldSlot,ConfirmHold,CancelBooking,RescheduleBookingandExpireHolds: what the form and the assistant's tools will share. - Holds and confirmation: a slot is held for five minutes and comes with a one-time token; only the token confirms it, and the assistant never gets one (ADR 0003). Holds that run out stop counting at once and are swept every 30 seconds (ADR 0002).
- No double booking: a Postgres exclusion constraint on
(professional_id, period), with new bookings of a professional saved one at a time; fifty simultaneous requests for one slot give one hold and forty-nine 409s in about a second (ADR 0001). - API:
GET /v1/professionals/{id}/availability,POST /v1/holds,POST /v1/holds/{id}/confirm. Errors are Problem Details with a stable code (`docs/errors.md`). - Demo data: "Clínica Demo" in Managua with three professionals and five services, seeded in Development.
- AppHost (.NET Aspire): Postgres 18, Mailpit, the API and the web app.
(cd web && pnpm install) # once
dotnet run --project src/BookingAgent.AppHost # Postgres, Mailpit, API
Related Skills
Hotel Booking Agent
Conversational hotel booking agent: Claude (tool use) + SQLite room database. Checks availability, confirms ex
Jev Hook Guard
What a Claude Code hook must do before it sends text to an external judgment API: mask secrets and personal da
Copilot Scope
Observability for AI copilot sessions; OpenTelemetry collector, Postgres store, and Blazor dashboard with real
Pulse Usage Monitor
Local, zero-dependency usage dashboard for Claude Code, OpenAI Codex and other coding agents. Spend, limits, m
Burnglass
Local, zero-dependency usage dashboard for Claude Code, OpenAI Codex and other coding agents. Spend, limits, m
AI Visibility Framework
An open source Agentic Engine Optimization (AEO) and Generative Engine Optimization (GEO) framework. Engineere
Related Agents
Gili
Travel and holiday planning agent - destinations, flights, hotels, school break windows, booking reminders. Us
Email Copywriter
Writes and revises the outreach email copy for this freight-brokerage tool — cold intros, follow-ups, breakup
Opentable Agent
OpenTable-specific agent. Handles venue search (live via browser automation) and hand-off to the OpenTable boo