Import services and appointments into Bookings
Moving your appointment book to Kluvan? Bookings imports your services and your upcoming appointments from a file that uses its template headings. Each row goes through the same checks as a booking made by hand.
Before you start
- Bookings must be switched on (pick your apps).
- Importing appointments needs the right to manage bookings.
- Bring services first, then appointments: an appointment names its service and its team member.
Steps
- Open Bookings, then View → Import bookings.
- Download the template you need: Services CSV or visits CSV.
- Fill one row per service or appointment under the template headings. Keep the headings as they are.
- Save the file as CSV, TSV or Excel (.xlsx).
- Under Resource kind, pick Services or visits.
- Choose the file under Spreadsheet. If the data is not on the first sheet, set Sheet number (first = 0).
- Press Preview.
- Read the state of each row: Ready, Needs correction or Retry after resolving the conflict.
- Press Apply or resume next 10 rows. Repeat until every ready row says Imported.
[SHOT migrate-bookings-import 1440x900]Screenshot to come: Bookings → Import bookings after a preview of a visits file: the rows table with Ready, Needs correction and Imported states and the 'Apply or resume next 10 rows' button
The template headings
| File | Headings |
|---|---|
| Services | name, name2 (name in the other language), duration, price_minor, resource_kind, online |
| Appointments | service_id, staff_id, start, customer_id, name, phone, notes |
Good to know
- Limits: up to 100 rows and 80 KB a file. Split a longer list into several files.
- Prices are written in the currency's smallest unit: 150.00 is written
15000. - Start times need a time-zone offset, for example
2026-10-08T10:00:00+04:00. - Preview does not reserve times. Each row is checked again when it is applied. A row whose time is taken by then says Retry after resolving the conflict: move the other booking or change the row, then apply again.
- Rows are applied ten at a time; the same file and sheet always open the same batch, so you can come back and resume. A row already imported is never imported twice.
- There is no column matching here: the file must use the template headings. For products, customers and suppliers, use Bring your data, which maps any columns.
- Past appointments are not imported; keep your old system for history.
Was this page helpful?
Thank you. Your answer helps us improve this page.
Still need help?
Chat with us on WhatsApp. Tell us what you were doing and, for an error, the code after the # in the link.