Booking Link Schema
Felder
Booking Link Schema
Schema for validating booking link entities
name
slug
assignedUserIds
technicianMode
all_required = alle Techniker müssen frei sein (1-to-many), any_one = ein verfügbarer reicht (1-of-many)
all_requiredany_oneassignmentModeOverride
Only relevant when technicianMode=any_one
any_availablecustomer_choosessmart_assignnulldurationOverride
1530456090120nulldescriptionOverride
Per-link description, mirroring booking_service.description. Same override pattern as durationOverride/locationOverride: the booking page and the created calendar_event take this value over service.description; null (the default, and the value on every link created before this field existed) falls back to the service. Needed because the system services behind the Vorgangs-Links are tenant-wide singletons — editing one link must not rewrite the text shown by every other link on the same service.
priceOverride
Per-link price in cents, mirroring booking_service.price. Falls back to service.price when null. Currency and priceDisplayMode stay on the service — they are presentation, not amount.
availabilityWindows
mode
recurring = weekday-based, fixed = specific date or date range
recurringfixedlabel
weekdays
ISO weekdays (1=Mo, 7=Su). Required for mode=recurring, empty for mode=fixed.
fixedDate
Specific date (YYYY-MM-DD). Required for mode=fixed.
fixedDateEnd
Optional end date for a date range. Only for mode=fixed.
startTime
endTime
validFrom
validUntil
schedulingPolicy
minLeadTimeHours
maxLeadTimeDays
slotIntervalMinutes
153060maxBookingsTotal
maxBookingsPerCustomer
linkedPartyId
Pre-selected company (Firma). When set, a booking made through this link stamps the created calendar_event with this partyId as linkedPartyId (takes precedence over the party derived from the customer email).
linkedContactPartyId
Pre-selected contact person (Kontakt, a PERSON party — usually an employee of linkedPartyId). When set, a booking made through this link adds this person as a type=party participant on the created calendar_event.
linkedProjectId
When set, a booking made through this link stamps the created calendar_event with referenceType=PROJECT / referenceId=linkedProjectId so it appears in the project Termine tab. Legacy shortcut for linkedReferenceType=PROJECT — still written by the project meeting link (project-booking.routes.ts) and honoured as a fallback; the generic pair below wins when both are set.
linkedReferenceType
Vorgang ("Auftrag") the booking belongs to. A booking made through this link stamps the created calendar_event with this referenceType/referenceId pair, so the appointment shows up on the ticket/project/task/asset it was booked for. Values mirror calendar_event.referenceType.
TICKETHR_TICKETPROJECTTASKCONTACT_PERSONASSETOPPORTUNITYnulllinkedReferenceId
Id of the linked Vorgang. Only meaningful together with linkedReferenceType.
eventTitleOverride
Optional title for the created calendar_event (e.g. project context). Falls back to "service.name — customer" when null.
locationOverride
Per-link location, mirroring booking_service.location. Set when the appointment type differs per link — a ticket link is booked on site, by phone or remote depending on the case, while the shared system service can only carry one. The created calendar_event takes this value over service.location; null (the default, and the value on every link created before this field existed) keeps the previous behaviour of falling back to the service.
expiresAt
isActive
customWelcomeMessage
customConfirmationMessage
branding
Keine Felder passen zum Filter.
Standard-Endpoints
Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:
GET /api/v1/booking_links— Liste, paginiert + filterbarGET /api/v1/booking_links/<id>— Einzelne EntityPOST /api/v1/booking_links— AnlegenPATCH /api/v1/booking_links/<id>— Teil-UpdateDELETE /api/v1/booking_links/<id>— Soft-DeleteGET /api/v1/booking_links/<id>/timeline— Audit + Aktivitäten