Issue Description
Apple Calendar usually supports Scheduling and Principal Queries when creating events for a CalDav Calendar (I have a working example with OX).
According to the documentation and the CalDav endpoints, Stalwart should also support the whole scheduling and availability stuff, but Apple Calendar does neither query the users nor show the “Show Availabilities” button for my Stalwart CalDav.
In case this helps somebody, I can share the DAV Headers and report sets from OX - to me it seems like the feature is just not listed in the capability checks, because per documentation stalwart should support exactly this feature.
Expected Behavior
Scheduling view of invitees calendars and availabilies
Actual Behavior
Feature not available
Reproduction Steps
- Setup Stalwart
- Connect in Apple Calendar
- Try to create event and invite people
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
The code confirms that calendar-user-address-set, schedule-inbox-URL, and schedule-outbox-URL are all implemented in Stalwart’s DAV layer. This means the scheduling infrastructure is present. Let me check what the actual propfind handler returns and look for any known Apple Calendar specific quirks.
Based on my research, here is what can be confirmed:
Stalwart does implement the CalDAV Scheduling Extensions (RFC 6638), including calendar-user-address-set, schedule-inbox-URL, schedule-outbox-URL, and free/busy support at the protocol level. The fact that Apple Calendar is not showing the “Show Availabilities” button or querying users is most likely a capability advertisement issue – Apple Calendar is very picky about how servers advertise scheduling support in their PROPFIND responses, and a mismatch or missing property can silently disable the entire scheduling UI.
A few things worth checking and providing in your report that will help diagnose this:
-
Sharing the DAV headers/PROPFIND response from your Stalwart server – as you mentioned you have a working OX example, a diff of the two OPTIONS / PROPFIND responses (especially the DAV header capability tokens and supported-report-set property) would be very valuable for narrowing down exactly which capability Apple Calendar is looking for but not seeing.
-
Verify scheduling is enabled – in the WebUI under Settings › Calendar & Contacts › Scheduling, confirm that the enable field is true (it should be on by default).
-
Verify user permissions – ensure the account has the calendarSchedulingSend and calendarSchedulingReceive permissions granted. These can be scoped per-account and may be missing if permissions were customized.
Sharing your DAV capability headers from both OX and Stalwart here would be very helpful for the community to compare and identify the gap. The scheduling docs are at Scheduling | Stalwart and the relevant permissions are listed at Permissions | Stalwart.
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.