One object, every calendar
Describe the event once.
A CalendarEvent carries the dates and everything optional around them. The Twig function turns it into one link per provider, and the buttons below are the real thing.
A simple event
Create a CalendarEvent with a title, a start and an end date, and optionally a location and a description.
Then call ux_calendar_links(event) in your Twig template to get one link per registered provider.
$event = new CalendarEvent(
title: 'SymfonyCon Warsaw 2026',
start: new \DateTimeImmutable(
'2026-11-26 09:00', $timezone,
),
end: new \DateTimeImmutable(
'2026-11-27 18:00', $timezone,
),
location: 'Hilton Warsaw Hotel',
);
Try the links it produces