Bookings
High-level description
Section titled “High-level description”Booking content adds calendar context to a document. Set type to booking
and include a booking object so Kivra can present the appointment details and
offer calendar-related actions to the recipient.
Sub-types
Section titled “Sub-types”booking is the booking content type; it has no additional sub-types.
Common payload
Section titled “Common payload”Every booking request needs a recipient identifier, subject, type, and
usually one or more PDF parts. The booking object is required when
type is booking.
| Field | Purpose |
|---|---|
ssn, email, or vat_number |
Identifies the person or company recipient |
subject |
Short inbox title; never include personal or sensitive information |
type |
Must be booking for a booking experience |
parts |
Contains the complete appointment information as a PDF |
generated_at |
Optional timestamp used for inbox sorting |
booking |
Supplies the title, time, location, and optional appointment details |
retain and retention_time |
Not supported for booking content |
{ "ssn": "YYYYMMDDNNNN", "subject": "Appointment confirmation", "type": "booking", "parts": [ { "name": "appointment.pdf", "content_type": "application/pdf", "data": "BASE64_ENCODED_PDF" } ], "booking": { "title": "Dental check-up", "start_time": "2028-06-19T11:00:00Z", "end_time": "2028-06-19T12:00:00Z", "location": "Example Clinic, Stockholm", "description": "Please arrive 10 minutes early.", "info_url": "https://example.com/appointments" }}Booking metadata
Section titled “Booking metadata”The booking.title and booking.start_time fields are required. The start
time must be in the future. You can also provide an end time, location,
description, and an HTTPS URL with more information. Do not put personal or
sensitive information, such as the reason for a healthcare appointment, in
the title or description.
Other information
Section titled “Other information”See the Send content endpoint for the complete field definitions.
Retained delivery: Not supported. Enabling retain returns HTTP 422.