All help articles

Setup & admin

Importing Past Visits

Importing historical appointment records from a CSV file.

In addition to importing clients, you can import your historical appointment records so that past visits show up on each client's profile and in the calendar.

When you switch booking systems, you lose the story of your client relationships — how many times someone's been in, what services they've had, who served them. Importing that history means you carry it forward instead of starting from zero.


Before You Start

  • Import clients first. Visit records are matched to client profiles by email address. If the client doesn't exist in BukaTime yet, the import will fail for that row.
  • Make sure your services exist in BukaTime. Appointment rows reference services by name or ID, and mismatches are flagged during the import.

Two Ways to Import Appointments

If you're coming from Timely, the Timely import flow handles both clients and appointments at the same time:

  1. Go to Studio Configuration → Data Import.
  2. Click Timely.
  3. Upload your Client overview CSV — exported from Timely Reports → Clients → Client overview.
  4. Upload your Day sheet CSV — exported from Timely Reports → Appointments → Day sheet. Set the date range to cover all your history plus any future bookings.
  5. Click Continue. BukaTime checks both files before starting.

Both files must be detected as valid before you can proceed. The importer shows a green "Detected" badge when each file is recognized.


Option 2: Generic CSV Import

Use this if you're not on Timely, or if you want to add appointments separately from clients.

Step 1: Download the Template

  1. Go to Studio Configuration → Data Import.
  2. Click Generic.
  3. Under Upload Appointments CSV, click Download template.
  4. Open it in a spreadsheet app.

The template columns are:

ColumnRequiredNotes
emailYesMust match an existing client's email in BukaTime
visitTimeYesDate and time of the appointment (e.g. 2024-03-15 10:00)
serviceVariantIdNoID of the service variant (most reliable match)
serviceNameNoExact service name as it appears in BukaTime
staffIdNoID of the staff member
staffEmailNoStaff member's email address
staffNameNoStaff member's name
notesNoAppointment notes
statusNoe.g. completed, cancelled

Use serviceVariantId when you have it — name-based matching requires an exact match and is reviewed before import.


Step 2: Prepare Your Data

  1. Fill in the appointment records using the template columns.
  2. Make sure each row has a client email that already exists in BukaTime.
  3. Format date/time consistently throughout the file.
  4. Save as CSV with UTF-8 encoding.

Step 3: Upload and Monitor

  1. Go to Studio Configuration → Data Import → Generic.
  2. Under Upload Appointments CSV, click the file picker and select your file.
  3. BukaTime checks the column headers. A green tick means the file is ready.
  4. Click Import.
  5. You're taken to the job detail page. When the import finishes, a summary shows how many rows succeeded and how many failed, with reasons listed for failures.

After Import

  • Imported appointments appear in the Appointment History table on each client's profile.
  • The import log under Studio Configuration → Data Import shows the success and failure breakdown for every past job.

Related