Web-based booking schedule for Always Classic Cars.
  • TypeScript 97.7%
  • Shell 2%
  • JavaScript 0.2%
Find a file
2026-08-09 08:59:13 +10:00
docs Bump to v1.89.0 — Rename ONEDRIVE_SYNC_PATH/ONEDRIVE_PHOTOS_PATH env vars 2026-08-09 08:51:07 +10:00
plans Bump to v1.61.0 — Send chauffeur offers as editable branded HTML emails 2026-07-10 19:48:21 +10:00
prisma Bump to v1.88.0 — Add Auto/Ask/Off mode for chauffeur job-change emails 2026-08-08 20:43:35 +10:00
scripts Bump to v1.85.4 — update.sh can test a branch before it's merged to main 2026-08-08 08:09:53 +10:00
src Bump to v1.89.0 — Rename ONEDRIVE_SYNC_PATH/ONEDRIVE_PHOTOS_PATH env vars 2026-08-09 08:51:07 +10:00
.gitignore Bump to v1.82.0 — Special Instructions is now a rich-text field 2026-07-15 20:00:20 +10:00
auth.config.ts Bump to v1.53.0 — Per-section read-only for admin roles 2026-06-30 18:49:06 +10:00
auth.ts Bump to v1.53.0 — Per-section read-only for admin roles 2026-06-30 18:49:06 +10:00
CHANGELOG.md Bump to v1.89.0 — Rename ONEDRIVE_SYNC_PATH/ONEDRIVE_PHOTOS_PATH env vars 2026-08-09 08:51:07 +10:00
docker-compose.yml Update docker-compose.yml 2026-05-04 09:24:14 +10:00
Dockerfile Bump to v1.85.0 — Upgrade to Next.js 16 and React 19, move deployment to Node 24 2026-08-07 20:25:09 +10:00
eslint.config.mjs Bump to v1.85.0 — Upgrade to Next.js 16 and React 19, move deployment to Node 24 2026-08-07 20:25:09 +10:00
next-auth.d.ts Bump to v1.53.0 — Per-section read-only for admin roles 2026-06-30 18:49:06 +10:00
next.config.mjs Bump to v1.86.0 — Remove PDF booking-sheet import and dead code 2026-08-08 19:25:08 +10:00
package-lock.json Bump to v1.86.0 — Remove PDF booking-sheet import and dead code 2026-08-08 19:25:08 +10:00
package.json Bump to v1.89.0 — Rename ONEDRIVE_SYNC_PATH/ONEDRIVE_PHOTOS_PATH env vars 2026-08-09 08:51:07 +10:00
postcss.config.mjs Build ACC booking management system v1.0 2026-04-28 05:43:06 +10:00
prisma.config.ts Build ACC booking management system v1.0 2026-04-28 05:43:06 +10:00
README.md Bump to v1.89.0 — Rename ONEDRIVE_SYNC_PATH/ONEDRIVE_PHOTOS_PATH env vars 2026-08-09 08:51:07 +10:00
tailwind.config.ts Build ACC booking management system v1.0 2026-04-28 05:43:06 +10:00
task.md Bump to v1.84.9 — Schedule search now includes postponed bookings 2026-07-29 15:00:24 +10:00
tsconfig.json Bump to v1.85.0 — Upgrade to Next.js 16 and React 19, move deployment to Node 24 2026-08-07 20:25:09 +10:00
vitest.config.mts Bump to v1.86.0 — Remove PDF booking-sheet import and dead code 2026-08-08 19:25:08 +10:00

ACC System

Web-based booking schedule for Always Classic Cars, replacing the Excel-based wedding booking spreadsheet.

Features

  • Schedule — bookings grouped by date with inline editing, search and filters (source/type/status), month/year navigation, VIC public holiday badges, date labels, "no more bookings" toggle, a print-ready date-range view, and a Postponed toggle for bookings moved off their date (with or without a new date yet)
  • Bookings — multi-car jobs with per-car chauffeur, pickup time, duration, route, and night transfer flag; client, partner, wedding, and flight details; unsaved-changes protection
  • Pricing — date-effective price lists (Settings → Pricing) with a 3-hour base per car, extra-hour rate, flat night rates, public holiday and after-midnight surcharges; Car Cost and Surcharge pre-fill automatically on the booking form and on website bookings, and each booking keeps the price list that applied when it was created
  • Payments — Waiting Deposit / Deposit Paid / Cash on Day / PIF / Hold tracking, individual payment records with live balance, discount and surcharge, automatic status updates
  • Fleet & chauffeurs — full CRUD with soft-delete protection, availability calendars for cars and chauffeurs, double-booking and unavailability warnings, CPVV DC licence verification, portal access badges
  • Chauffeur portal — chauffeurs see their own jobs, record overtime with client signature (cost auto-calculated), manage availability, view pay (configurable hourly rate with per-job breakdown), subscribe to a personal iCal feed
  • Contract offers — send offers to chauffeurs by email with Accept/Decline buttons; responses update the schedule, notify the office and the chauffeur, and unassign on decline; chauffeurs are emailed again if an already-accepted job's details later change
  • Emails — all system emails (chauffeur offer, portal welcome, password reset, accept/decline notifications, job-updated notifications) editable as branded templates in a WYSIWYG editor (Settings → Email Templates)
  • PDF booking sheets — client and chauffeur PDFs generated on save and webhook import, stored via OneDrive sync; office signatures and T&C pages
  • Website intake — WPForms webhooks auto-create priced bookings from the Wedding, General, Airport Transfer, and Transfer website forms
  • Admin — role-based section permissions with per-section read-only mode, reports dashboard, full activity log with field-level diffs, Traccar GPS integration with day-limited share links
  • Mobile friendly — responsive layout with card views throughout

Tech Stack

Documentation

Doc What it covers
docs/installation.md Production quick-install, Docker, and local development setup
docs/deployment.md Full production deployment — Proxmox LXC, Node.js + PM2, Docker, Nginx, updating
docs/environment-variables.md Every environment variable the app reads, in one place
docs/email-smtp.md SMTP setup, including the Microsoft 365 / Exchange Online OAuth2 guide
docs/database-schema.md Entity relationships and what each Prisma model is for
docs/project-structure.md Where things live in the codebase
docs/onedrive-sync.md Syncing booking sheet PDFs from OneDrive to the server
docs/wpforms-webhooks.md Website form → booking webhooks: setup and field mappings

Version

v1.89.0 — see CHANGELOG.md for the full version history. The authoritative version number lives in package.json.