Skip to content

The studio

The format of your data.

Your data belongs to you, and you must be able to take it elsewhere without us. Regulation (EU) 2023/2854 (the “Data Act”) asks a provider such as us to keep an up-to-date online register of the structures and formats in which your data is exported (Article 26). Here it is. It describes the service; the commitments are in the terms and conditions (§ 1, § 11 and § 12).

1The complete copy

The complete copy is a single JSON file holding all the data of an establishment for one line of business — tables, stays or appointments. The owner of the book downloads it themselves, at any time during the contract: “Toutes les données (JSON)” in the statistics of tables and stays, “Télécharger toutes vos données (JSON)” in the settings of appointments. At the end of the contract, or during a suspension for non-payment, the book is closed: we then hand over the same copy to you on written request, under the conditions of § 6 and § 12 of the terms and conditions.

Each download from the book — of the complete copy, or of one of its CSV exports (§ 6 below) — is recorded: when, what, from which account. It remains visible for twelve months to the administrators of your space, on the ‘Équipe’ (team) screen of convivos.be, and to our team.

2The envelope

The file is a JSON object, encoded in UTF-8, whose top-level keys are always the same:

format
the version of the format: convivos-copie/1 today.
module
the line of business copied: table, nuitee or rendezvous.
genereLe
the instant at which the copy was read, in UTC (see § 3).
etablissement
the establishment record: name, booking address, time zone, book settings.
donnees
the sections: each is an array of rows, described in § 4.
logo
your logo, if you have one: an object whose typeDeContenu gives its type (PNG, JPEG, WebP or GIF), taille its size in bytes, empreinte its fingerprint, and octets the file encoded in base64. Otherwise null.
nonIncluses
what the copy does not hold, and why, spelled out (see § 5).

The file is read in one go: all the sections describe the same instant, and a booking taken during the reading never appears in it by halves.

3How to read the values

  • Each row of a section is an object whose fields bear the name they have in our code, in English and in “camelCase” (for example startsAt, partySize). A missing value is null.
  • Rows have an identifier (id, a UUID), and sections are linked by these identifiers: a booking carries the identifier of the guest who made it. Three link sections have none: a row of tablesAttribuees, nuits or competences is identified by the pair it links (a booking and a table, a stay and its date, a practitioner and a service).
  • An instant — the time of a booking, a cancellation, a payment — is written in UTC, in ISO 8601 format: “2026-09-30T18:30:00.000Z”. To display it in local time, use the establishment’s time zone (timezone).
  • A calendar date — a night, a closure — is written “YYYY-MM-DD”, with no time or time zone. A scheduled time is in the establishment’s local time: “HH:MM:SS” for table services, “HH:MM” for the arrival and departure of stays (checkInTime, checkOutTime), and, for appointment practitioners (startMinute, endMinute), minutes since midnight: 540 means 9 am.
  • A day of the week (weekday) is an integer from 0 (Sunday) to 6 (Saturday). For stays, the arrival and departure days allowed for an accommodation are a seven-bit mask, bit 0 for Sunday: 127 means every day, 64 Saturday only.
  • An amount is a whole number of euro cents, in a field whose name contains Cents: 2500 means €25.00.

4The sections

Each section takes one table of our database, all its rows for the establishment, and all its fields except secrets (§ 5) — except messages, a log whose row names its fields. In this log, the state sent — and sentAt, for Tables and Appointments — says that our sending provider accepted the message, not that it was received; and, for Tables and Appointments, a message redone or withdrawn after a booking is moved keeps only its last row, or no longer appears. Section names are keys of the file: they are not translated.

4.1Tables

The sections of the copy of the Tables module
SectionSource tableWhat it holds
servicesservicerecurring services: day, hours, slot interval, capacity.
fermeturesclosureclosures, reduced capacities and private hire.
convivescustomeryour guests: name, contact details, language, no-shows, objection to no-show tracking.
reservationsreservationall bookings: instant, covers, status, origin, notes, cancellation.
tablesdining_tablethe tables of the floor plan and their place on the grid.
tablesAttribueesreservation_tablewhich booking is placed at which table.
paiementsreservation_paymentdeposits paid online: amount, state, refund — never a card number.
personnelstaff_userbook accounts created before the single convivos.be account, if any remain — without password.
smssms_usagethe SMS reminders sent, month by month (mois, envoyes, plafond): the basis of the option’s invoice.
messagesemail_outbox, sms_outbox (a log)the e-mails and text messages of your reservations and of the book: channel (email or sms), reservation (reservationId, empty for a message about none), type, state (status), attempts (attempts), queued, last changed and sent (createdAt, updatedAt, sentAt) — no recipient, no content (§ 5).

4.2Stays

The sections of the copy of the Stays module
SectionSource tableWhat it holds
logementsrentable_unityour rooms and accommodation: name, capacity, base price.
tarifsunit_rate_seasonthe rate periods of each accommodation.
voyageursguestyour travellers: name, contact details, language.
blocagesunit_blockaccommodation closed to booking, and why.
sejoursbookingall stays: arrival, departure, travellers, price, tourist tax, deposit, status, notes.
nuitsbooking_nightone row per night sold, with its price fixed at booking.
fluxIcalical_feedthe platform calendars connected: their name and their host (hote) — not their full address (§ 5).
conflitsIcalical_import_conflictoverlaps found between a platform and your book.
paiementspaymentdeposits paid online: amount, state, refund — never a card number.
personnelstaff_userbook accounts created before the single convivos.be account, if any remain — without password.
messagesemail_outbox (a log)the e-mails of your stays and of the book: channel (always email), stay (bookingId, empty for a message about none), type, state (status), attempts (attempts), queued and last changed (createdAt, updatedAt) — no recipient, no content (§ 5).

4.3Appointments

The sections of the copy of the Appointments module
SectionSource tableWhat it holds
praticiensresourcethe team members who take appointments.
horairesresource_hourseach practitioner’s working hours.
prestationsservice_offeringyour menu of services: duration, buffer, price, deposit, “at the client’s”, the vehicle asked for, and its section (sectionId, and its name in category).
sectionsservice_sectionthe sections of your menu, in their order.
competencesresource_servicewho can perform which service.
congestime_offpractitioners’ absences and leave.
clientssalon_clientyour clients’ records: name, contact details, establishment’s note, no-shows, objection to no-show tracking — and the shared walk-in record.
rendezVousappointmentall appointments: instant, service, practitioner, status, address where it is performed, vehicle, notes from the establishment and from the client.
acomptesappointment_paymentdeposits paid online: amount, state, refund — never a card number.
smssms_usagethe SMS reminders sent, month by month (mois, envoyes, plafond): the basis of the option’s invoice.
messagesemail_outbox, sms_outbox (a log)the e-mails and text messages of your appointments and of the book: channel (email or sms), appointment (appointmentId, empty for a message about none), type, state (status), attempts (attempts), queued, last changed and sent (createdAt, updatedAt, sentAt) — no recipient, no content (§ 5).

5What it leaves out, and why

What follows details the exclusions of § 12 of the terms and conditions:

  • Secrets, removed by the name of their field: cancellation and management tokens, fingerprints, passwords, notification subscription keys, payment addresses still open, idempotency keys. They are not data: they are means of acting — cancelling a booking, replaying a write, writing to a device.
  • The sending queue of e-mails and text messages, the “technical message sending queue” that § 12 of the terms and conditions excludes: its recipients, the content of the messages and the answers of our sending provider. Only its log is included (section messages, § 4). The queue erases a finished message ninety days after its last change — a text message at the latest ninety days after it was queued —: the log holds only what the queue still keeps.
  • Sessions and notification subscriptions of your staff’s devices: means of access.
  • For stays, the full address of a platform calendar: it carries a token that opens that calendar at the platform. You have it at the platform; the copy says which one it is.
  • Your team’s accounts and their access: they live on convivos.be, not in the book; the ‘Équipe’ (team) screen of your space shows them, but they are not part of the copy. Your account data and our logs are described in the legal notice (§ 4).

6The CSV files

Alongside the complete copy, the book exports two CSV files that open in a spreadsheet: your clients, in full, and your bookings — the last ninety days and everything still to come. For appointments, the establishment’s notes are not in them: they are in the complete copy and in each client’s file.

  • separator “;”, UTF-8 encoding with its byte order mark (BOM), lines ending in CRLF — what a spreadsheet set up in French opens without conversion;
  • the first line names the columns; a value containing the separator, a quotation mark or a line break is enclosed in quotation marks;
  • a value beginning with “=”, “+”, “-” or “@” is preceded by an apostrophe, so that a spreadsheet never runs it as a formula; this is why a phone number is written with “00” rather than “+”;
  • dates and times are in the establishment’s local time.

7A format that does not change without saying so

An addition — a section, a field — leaves the version number unchanged: a program that reads version 1 goes on reading it. If a field disappears, or changes its name or meaning, the number changes, and this page describes it. Our tests pin down the list of fields of each section: none changes without its version being decided.