1. Set your availability
Choose your working hours, appointment duration and time between sessions.
Online appointment scheduling
Let clients choose an available time without the back-and-forth. Set your hours, share your booking page, and keep appointments and reminders in one place.
No card required to create a workspace. Explore the live booking page before signing up.
Confirmed
128
Revenue
$8,420
No-shows
3
Bookings · last 30 days
▲ 23%Built for service businesses of every kind
Features
Citafy is engineered around the failure modes that hurt real businesses: double-bookings, timezone bugs, unpaid no-shows and brand dilution.
Overlap protection lives in a PostgreSQL exclusion constraint — not in application code that can race. If two clients grab the same slot, the database itself refuses the second write.
EXCLUDE USING gist (host, tsrange(starts_at, ends_at) WITH &&)
Slots are computed in the host's local time and stored in UTC — daylight-saving transitions included. Your 9:00 is always your 9:00.
Charge at booking time with Stripe. Refunds, partial refunds and payouts — every state change confirmed by a signature-verified webhook.
Per-organization theming, your logo on every page, and custom domains with automatic TLS. On higher plans, Citafy disappears entirely.
Confirmations, cancellations, no-shows, lead times and revenue — rolled up daily and ready to act on.
A clean REST API with scoped tokens, plus HMAC-signed webhooks with exponential retries and dead-lettering. Build on Citafy the way we do.
Integrations
Native payments and calendar sync, an app marketplace, and webhooks + API for everything else.
Stripe
Payments & refunds
Google Calendar
Busy-time sync
Outlook
Busy-time sync
Webhooks
HMAC-signed events
REST API
Scoped tokens
Embed widget
Inline or popup
Automations
Confirmations, reminders and integrations fire automatically the moment a booking lands — idempotent, deduplicated, and retried until delivered.
Start automatingInstant confirmation
Branded email to the attendee, deduplicated per booking.
Day-before reminder
Scheduled automatically; cuts no-shows dramatically.
Last-call reminder
A final nudge right before the appointment.
Webhooks & calendar sync
Signed events fan out to your systems with retries + DLQ.
Northside Clinic
booking.northside.health
Avanza Consulting
avanza.citafy.me
Studio Legal
citas.studiolegal.do
Multi-tenant
Every organization lives behind PostgreSQL Row-Level Security — isolation enforced by the database engine itself, not by remembering a WHERE clause. Roles, teams and per-tenant branding come standard.
Use cases
Reminders that cut no-shows, buffers between patients, and per-practitioner availability.
Paid sessions charged at booking, minimum notice rules, and a booking page that sells you.
Round-robin demos across the team, embedded widgets on your site, webhooks into your CRM.
Group sessions with capacity limits, collective scheduling, and timezone-proof invites.
Choose your working hours, appointment duration and time between sessions.
Add your link to your website, email signature or client messages. Clients choose an available time.
Review upcoming bookings and manage confirmations, reminders and cancellations from your workspace.
FAQ
Overlap protection is enforced by a PostgreSQL exclusion constraint at the database level, not by application code. Two overlapping bookings for the same host are physically impossible to store — even under race conditions.
Yes. Citafy is white-label ready: per-organization theming and logo, and custom domains with automatic TLS certificates. On white-label plans, Citafy branding disappears entirely.
Yes. Stripe-powered charges tied to bookings, with refunds and partial refunds. Payment state changes are confirmed exclusively by signature-verified webhooks — the browser is never the source of truth.
Citafy is API-first: a REST API with scoped tokens, HMAC-signed webhooks with exponential retries and dead-lettering, and an OpenAPI description at /api/v1/openapi.json.
Every organization is isolated with PostgreSQL Row-Level Security enforced inside the database engine. Even a raw SQL query cannot read another tenant's rows.
Yes. Invite teammates with roles — owner, admin, scheduler, member — organize hosts into teams, and schedule round-robin or collectively across the roster.
Set up your services, share your booking page, and let Citafy handle the rest — timezones, reminders, payments and all.