Appearance
Importing Data
Admins can bulk import members and staff, vehicles, and bookings from CSV files on Settings → Import data.
Imports are create-only. Existing records are never updated, and no emails are sent during import.
Who can import
Only platform users with the Import data permission (typically your team's Admin role) can open the import page or merge CSV files.
Recommended order
Import in this sequence:
- Members & staff
- Vehicles
- Bookings
Booking rows reference members (by email) and vehicles (by registration) that must already exist in your team.
How the import page works
Each tab follows the same four steps:
- Download sample CSV — column headings the importer understands
- Fill in your spreadsheet — use Excel, Google Sheets, or LibreOffice Calc, then export as CSV UTF-8
- Upload CSV — we parse and validate every row
- Preview and merge — review errors, fix your file if needed, then merge when all rows are valid
Limits:
- Preview table shows up to 500 rows (the full file is still validated)
- Maximum 2,000 rows per merge
Members and staff
Required columns:
- name
- member_types — pipe-separated values such as
member,driver, orassigned_driver|volunteer_driver
Optional columns include email, phone, emergency contact details, and home address (text only — geocoding is not applied on import).
Imports are create-only:
- If a member with the same email already exists, the row is rejected
- If no email is provided, a member with the same name is treated as a duplicate
Vehicles
Required columns:
- registration — must be unique in your team
- vehicle_type — for example
minibusorwav - seat_capacity
Optional columns include fuel type, allowed booking types, and home address (text only).
Bookings
Supported booking types in CSV import:
internalblockopenone_to_one
Required columns:
- type
- starts_at and ends_at — use
YYYY-MM-DD HH:MMin your team timezone - vehicle_registration — must match an existing vehicle
driver_email is required for internal, open, and one-to-one bookings.
Optional columns include passenger emails (pipe-separated), status, name, and notes.
Use draft status unless you intentionally need confirmed bookings. Even then, import does not send booking emails.
Rows are checked for vehicle availability, driver eligibility, and other booking rules before merge is allowed.
Onboarding
During team setup, Import your data appears in the onboarding checklist. You can:
- Open Settings → Import data to import CSV files, or
- Choose Skip for now on the onboarding checklist and return later
The onboarding step completes after you successfully merge any import, or when you skip it from onboarding.
Troubleshooting
| Problem | What to try |
|---|---|
| Column not recognised | Download the sample CSV and match header names |
| Dates rejected | Use YYYY-MM-DD HH:MM text, not locale-formatted dates |
| Duplicate row | Imports are create-only — remove or change matching email/registration/name |
| Booking driver error | Import the member first with the correct member_types and email |
| Vehicle unavailable | Choose a time without conflicts, or import after resolving existing bookings |

