v1.0 is live — try the real product below

Appointments that run themselves.

Bookwise is a booking platform for UAE service businesses: a timezone-safe scheduling engine, policy-aware cancellations, and a workspace your whole team can run — without double bookings, ever.

30unit tests, all green
0double bookings by design
UTCstorage, IANA display
3roles with real permissions

Don't take our word for it — use it

Every surface below is the actual running product, not a screenshot.

Built like infrastructure, not a toy

The hard parts are handled server-side, where they belong.

Timezone-safe scheduling

Timestamps stored in UTC, boundaries computed in the business's IANA timezone. DST changes can't corrupt your calendar.

No double bookings

Every booking re-validates interval overlap inside a database transaction, so two simultaneous clicks can't steal one slot.

Policy-aware lifecycle

Cancellation and reschedule windows, minimum notice, booking horizons and temporary closure — all enforced per business.

Real roles

Owner, manager and staff see different navigation and, more importantly, different API permissions. Invite-only accounts.

Reports that add up

Revenue per day, top services and staff load computed from the same appointments your calendar shows. No vanity numbers.

Owner-only audit trail

Every sensitive mutation is recorded with actor and timestamp. When something changes, you can prove who changed it.

How a booking flows

Three steps, all validated server-side.

STEP 01

Customer picks a slot

Availability is generated from business hours, staff shifts, breaks, holidays, time-off and buffers — never from a static list.

STEP 02

Engine re-validates

On submit, the server re-checks notice windows, closure days and overlap inside a transaction before inserting anything.

STEP 03

Everyone stays in sync

The workspace calendar updates instantly, the customer gets a manage link, and the event lands in the audit trail.

Security is a layer cake, not a checkbox

We don't trust the UI. Every route, procedure and mutation is guarded server-side, and the limitations we haven't solved yet are documented honestly in the repository.

  • Invite-only authentication — strangers can never obtain a session
  • Server-side membership gate on the entire workspace
  • Role guards on every admin read and write
  • Rate limiting on public booking mutations
  • Security headers and a live /api/health probe
  • CI runs typecheck, tests and lint on every push