Support

Quick guides to help you get started.

Track manager how-to

Upload your track calendar via CSV

Manage your schedule in a spreadsheet, then export it as a UTF-8 CSV. Use all eight headers below and keep each event_id unique within your track and stable across uploads.

event_id,title,start_at,end_at,event_type,status,description,visibility
practice-2030-06-01,Open practice,2030-06-01T09:00:00-06:00,2030-06-01T12:00:00-06:00,individual_session,scheduled,Bring your kart.,public

Times must include a timezone offset (as above) or Z for UTC, and the end must be after the start. Files can contain up to 10,000 entries and be at most 5 MiB. Quote descriptions containing commas or newlines; a blank description is allowed.

  • event_type: individual_session, group_buy, private_event, or other.
  • status: scheduled or cancelled.
  • visibility: public or private.

Download a past-event example

This sample contains one event on October 27, 2026, from 9:00 AM to noon at UTC-05:00. The date is already in the past and should appear in a gray cell when viewing October 2026 in the manager calendar. Importing it still adds a real schedule entry to the selected track; it does not create a bookable date.

Download example CSV

event_id,title,start_at,end_at,event_type,status,description,visibility
example-practice-2026-10-27,Example past practice,2026-10-27T09:00:00-05:00,2026-10-27T12:00:00-05:00,individual_session,scheduled,Example event on a past date.,public

Optional track-specific types: Adams Motorsports Park

If your track has configured types, add an optional ninth column named trackday_type. Use the code, not the display label. This classification is separate from the generic event_type (individual session, group buy, private event, or other). The following types come from the Adams schedule; an administrator must configure them for your selected track before use.

Adams trackday type codes (holidays excluded)
Trackday typeCSV code
Arrive and Racearrive_and_race
Drift/Time Attack/Gripdrift_time_attack_grip
Grip/Time Attackgrip_time_attack
Parties and Corporate Eventsparties_corporate_events
Practice Schedulepractice_schedule
Racing Schoolsracing_schools

Existing eight-column files preserve assigned types when updating events and leave new events untyped. Include the ninth column with a blank value to clear an assignment. A code configured only for another track is rejected. Manual editing offers the same types in the Trackday type dropdown. Holidays are not included.

Download Adams-type example CSV

The six sample events and dates are illustrative, not the official Adams schedule. Importing the sample creates real schedule entries; replace the sample dates and details before using it.

Imported type codes may differ from these illustrative codes. Ask an administrator to check your track's Trackday types in Django admin, then update the example CSV to use those exact codes. For example, a fresh source import generates parties_and_corporate_events for Parties and Corporate Events; existing configured codes are retained.

Google Docs / Google Sheets

Use Google Sheets, not a Google Docs text document, to create your CSV. These steps use the desktop web version.

  1. In Google Drive, choose New > Google Sheets > Blank spreadsheet and give the spreadsheet a name.
  2. Select columns A through H and choose Format > Number > Plain text before entering data. This preserves event IDs and timestamps exactly as typed.
  3. In row 1, enter one header per cell, from A1 through H1: event_id, title, start_at, end_at, event_type, status, description, visibility. Do not put the entire comma-separated header line in a single cell.
  4. Starting in row 2, enter one event per row, with each value in its matching column. Type timestamps such as 2030-06-01T09:00:00-06:00, including the offset. Use the offset that applies at your track on that event date.
  5. If using configured trackday types, format column I as Plain text, enter trackday_type in I1, and enter each event's type code below it.
  6. With the calendar sheet selected, choose File > Download > Comma-separated values (.csv). Only the current sheet is exported. Keep the downloaded .csv file for upload.

Microsoft Excel

These steps use desktop Excel; menu wording can vary by version.

  1. Open Excel and create a Blank workbook.
  2. Select columns A through H. On Home, change the Number Format dropdown from General to Text before entering data. This prevents automatic date or number conversions.
  3. Enter the same eight headers in cells A1 through H1, one header per cell. Enter one event per row starting in row 2. Keep the complete ISO timestamps and timezone offsets as text, not Excel date values.
  4. If using configured trackday types, format column I as Text, enter trackday_type in I1, and enter the type codes below it.
  5. Save a working copy as an .xlsx workbook. Select the sheet containing the calendar, then choose File > Save As (or Save a Copy).
  6. Choose CSV UTF-8 (Comma delimited) (*.csv) as the file type, name the file, and save it. If prompted, confirm that you want to keep the CSV format; only the active sheet is saved. Upload the .csv, not the .xlsx workbook.

Enter descriptions normally in spreadsheet cells; the CSV exporter handles quoting commas and newlines. Before uploading, open the exported file in a plain-text editor and check that its first line matches the comma-separated headers above and its timestamps still include offsets. Some Excel regional settings export semicolons instead of commas; those files must be exported with a comma delimiter. Do not rename a document or workbook to .csv as a substitute for exporting it.

Upload the exported file

  1. Sign in with your approved track-manager account. Open Trackday, select your track's Manage track link, and open the Calendar tab.
  2. Choose Upload CSV, select your file, and click Validate and preview CSV.
  3. Review the create, update, and unchanged counts. Fix any reported validation errors or bookable-date conflicts and upload again.
  4. Choose Confirm import within 15 minutes to save, or Cancel preview to discard the upload.

Matching event IDs update existing entries; omitted entries are retained. Schedule imports do not create bookable dates or initiate payments. If the calendar changes after previewing, upload again for a fresh preview.

Add or edit an event with automatic booking

Set Facility timezone on the Calendar tab using an IANA name such as America/Chicago or UTC. All named tracks share this setting; facilities initially use UTC until changed. Choose Add event or open an event on the management calendar. New events inherit the facility timezone, shown read-only in the editor. Existing events keep their saved timezone even after the facility setting changes; no existing booking or customer reference is rewritten. Enter local start/end times in the displayed timezone. The event must have an end after its start. Nonexistent or repeated daylight-saving times are rejected; enter an unambiguous local time instead.

For a public, scheduled, future Individual Session or Group Buy event, booking is created automatically on save. Select a named track and one vehicle type; capacity comes from that track's configured vehicle-type maximum and cannot be overridden in the event editor. Set participant price and tax code; group buys also require a full-day rental price. Missing configuration or pricing rejects the whole eligible save. Other events remain schedule-only. Booking date, start, and mode are derived from the event. The event must fit within one local day, and there is one booking per facility per local date. Save event saves the event and booking together, enabling the existing $20 participant deposit selection without charging or reserving capacity.

The first dropdown controls Individual Session, Group Buy, Private Event, or Other behavior. Event type selects the facility's configured classification and badge color, such as Open, Race org, or Track org. These are separate selections; changing classification does not change the event's booking behavior.

Customer and management calendar entries show Date, Track, Event type, and the selected Vehicle type without expanding event details. Sold / max counts paid active participants against the saved booking capacity, not a later change to the track's configuration. Cart selections, unpaid checkouts, refunded, refund-pending, and cancelled participants are excluded. Group Buy counts only the winning proposal, or zero before a winner. Holding deposit / Total purchase shows the existing deposit and full purchase price per participant before tax, not the remaining balance. Missing configuration is labelled explicitly; private event details remain unavailable to regular customers. These values do not reserve places or change booking rules.

Other scheduled events still block that booking day. Cart, proposal, checkout, or participation references lock the linked event and configuration against editing/deletion, including CSV and admin edits. Before references exist, edit event times and booking values together. Remove booking keeps the event, and Delete event with booking removes both; each requires explicit confirmation and does not apply unsaved editor changes. Saving an eligible event again recreates booking after removal. Making a linked event incompatible requires explicit removal first. Track maximum changes alone do not rewrite saved booking capacity; explicit unreferenced event saves refresh it from current configuration. Cancelled bookings remain locked. Legacy standalone bookable dates remain editable without creating schedule events. Cancellation and refunds use the existing separate workflows.