← Back to Karfis How it Connects

How your website and backend connect

Your website and embedded booking widget aren't bolted onto your reservation system — they're part of it. Here's the architecture, the data flow, and the security that carries a booking into the backend your team runs on.

Four layersFrom click to drop-off
LiveUpdates without refreshing
One databaseIsolated per company
JWT + rolesAuthenticated, validated, rate-limited
Architecture

Four layers, one connected system

Your website and booking widget sit on top, the API layer sits in the middle, and the reservation backend your team logs into — with its isolated database — sits underneath. Bookings flow down from the widget into dispatch; live status flows back up to your team.

01

Your website

The public frontend — what riders see

  • Marketing pages
  • Embedded booking widget
  • Branded confirmations

Hosted on your domain. The booking widget is a drop-in script that calls the API directly over HTTPS — it never touches your database.

WIDGET CALLS THE API OVER HTTPS
02

API layer

The bridge between site and backend

  • REST over HTTPS
  • JWT auth & sessions
  • Role-based access
  • Validated & rate-limited

Every request is authenticated, role-checked, and validated here. Roles cover Rider, Driver, and Admin (with Admin sub-roles: Owner, Dispatcher, Accountant). The website never reaches the database directly.

VALIDATED · AUTHENTICATED · RATE-LIMITED
03

Reservation backend / admin dashboard

Your back office — what your team logs into

  • Live dispatch board
  • Rates & zones engine
  • Fleet & driver records
  • Corporate billing
  • Reports

Your team logs in at yourcompany.karfisllc.com. The dispatch board updates in real time over a server-sent-events stream — no manual refresh.

04

Your isolated database

One source of truth — never shared with another company

  • Every reservation, rider, driver, vehicle, invoice, and rate rule lives here

The backend reads and writes to it; the website only ever reads back what the API allows.

Data flow

A booking, start to finish

Follow a single reservation from quote request through pricing, dispatch, status updates, and into your reports.

WEBSITE

Rider books on the website

A visitor enters pickup, drop-off, date, and vehicle class in the booking widget and requests a quote.

API + BACKEND

Backend prices the trip

The API validates the request, the rates engine computes real driving distance, and your rates, zones, and vehicle multipliers are applied.

BACKEND + DB

Dispatch board updates live

On confirm, the reservation is saved, a branded confirmation email goes out, and the ride appears on your dispatch board in real time.

DISPATCH + DRIVER

Ride is assigned & worked

Your dispatcher assigns the ride. The driver updates status — assigned, en route, arrived, in progress, completed — live on the board.

BACKEND → REPORTS

Completed ride flows into reports

The trip flows into revenue summary, revenue over time, ride status breakdown, and driver performance reports.

Security & auth

Six layers between the user and the data

The website never touches the database directly. Every request is encrypted, authenticated, role-checked, validated, and rate-limited before it reaches your data.

JWT auth & sessions

Every request carries a signed token scoped to the user's role. The website never touches the database directly.

Role-based access

Rider, Driver, and Admin (with Admin sub-roles: Owner, Dispatcher, Accountant) see only what their role permits — enforced server-side.

Server-side validation

Every write is validated at the API layer before it reaches your data — no client can write something the backend does not allow.

Rate limiting

Abusive traffic is throttled at the API before it ever reaches the core, keeping your backend responsive.

Optional two-factor auth

Staff accounts can enable TOTP with backup codes. Account setup is email-verified, with self-service password reset.

Isolated database

Your data lives in a single isolated database — never shared with another company, one source of truth.

In action

The connection, in real scenarios

Everyday moments where the connected website and backend do work that separate tools simply can't.

Airport pickup booked at 2am

A traveler books an airport ride outside business hours. The quote is instant, the reservation is captured, and your team sees it on the board the moment they log in — no missed leads.

Website quoteAPI validatesReservation savedDispatch board lights up

Corporate account repeat booking

A corporate client books through your site under their standing account. The ride attaches to the right corporate profile and a net-terms invoice is generated for it.

Corporate rider booksAPI attaches to accountNet-terms invoice generated

Dispatcher assigns and tracks

A new ride lands on the live dispatch board the moment it is booked — no refresh needed. The dispatcher assigns it to a driver and watches the status update in real time.

New ride on boardDispatcher assignsStatus updates live

Driver updates status from the road

The driver uses their authenticated API access to move a ride through each status as the trip happens, and the board reflects it instantly for the whole team.

Driver marks en routeBoard updates liveRider sees status
From the Journal

Related field notes

Get started

Want this backend wired into your company?

Tell us about your fleet and current setup. We will walk you through exactly how this connects your website, drivers, customers, dispatch, and billing.