GuidesVenues
Import format
The JSON Lines format for moving spaces, hours, prices, members and bookings from another booking system into Mouve. A v2 preview.
Preview: not yet available. Import is planned for v2. The format is published now so tools can target it early.
An import file is JSON Lines: one JSON object per line. Each line is checked against venue-import-v1.
Rows
type | Holds |
|---|---|
space | A court, room, zone or lane |
hours | Opening hours for a weekday, for one space or the whole venue |
price_rule | A price for a time window |
member | A venue customer record |
booking | A future booking |
Every row has an external_id: the row's stable id in the old system. Run the import again and Mouve updates the row. It does not add a copy.
Rows refer to each other by external id: a booking has space_external_id and member_external_id.
Rules
- Times are
HH:MMlocal time. Booking times are RFC 3339 with an offset. - Money is an integer in minor units with an ISO 4217 currency.
- Members are customer records of the venue. They are not Mouve users, and they get no email unless the owner chooses to invite them.
- Never put the old system's password or API key in the file. Mouve does not need them.
Example
{"type":"space","external_id":"c1","name":"Court 1","kind":"court","sport":"padel","indoor":true,"capacity":4}
{"type":"price_rule","external_id":"p-evening","name":"Weekday evening","weekdays":["mon","tue","wed","thu","fri"],"from":"16:00","to":"23:00","amount_minor":3600,"currency":"EUR"}
{"type":"booking","external_id":"b-5521","space_external_id":"c1","starts_at":"2026-12-01T18:00:00+02:00","ends_at":"2026-12-01T19:00:00+02:00"}