Start a booking page or a poll from the calendar's New appointment menu. The menu holds New booking page and New appointment poll, each opening the panel on a fresh form. Doing that while an unsaved one is open asks before discarding it. 56a29f3
Share a booking page by email. The card's new Share menu holds Copy link and Compose email. Compose email opens a new mail with the subject and body already written, giving the page's duration and location and a Choose a time link. fa391d2
Share a poll by email. Poll cards carry the same Share menu. A closed poll's mail names the confirmed time and links to the result. fa391d2
The availability overlay previews the slots a booking page would offer. Each window splits into cards, one per slot, labelled with its start time. Times the owner's calendar is busy at get no card. 82c8d77
A booking page can offer single dates instead of a weekly schedule. The availability section now offers Repeat weekly, still the default, or Does not repeat, which replaces the weekday rows with a list of dates and their time windows. A date that has passed stops being offered on its own. bd56824
Lint rule against shadowing globals in ui-plugin 162d4ec
Deleting a poll asks first. The poll card's Delete opens a confirmation naming the poll, and the booking page's dialog names its page the same way. dd934a3
The appointment mails arrive as a card. All eight open with an illustration and a heading such as Your appointment is confirmed. The date, the time and the timezone each get a row of their own, and the card fits the width of the window, so these mails read on a phone. The owner's move notice no longer repeats the comment the booker left with the original booking, and a rescheduled appointment carries the timezone of its old time, so a move across a daylight-saving boundary shows both offsets. 22051f4
A booking page's appointments last at least five minutes. The duration field no longer takes a shorter length, and the editor asks an older page for a longer duration before it saves again.
A new availability window starts from your working hours. Adding a window to a day that had none inserted a fixed 9:00-17:00. Such a window now covers the working hours from the calendar settings, the same ones the rest of the form starts from. 2498c3d
The free/busy warning on a booking page links to the setting it names. The Calendar conflicts notice now offers Open calendar settings, which goes straight to the free/busy option. 4f8f0fd
Menus match the App Suite hover styles. Hovering an entry in a card's menu or a time dropdown tints it the way the rest of App Suite does, with the stronger accent kept for keyboard navigation. In dark mode those menus sit on the lighter panel App Suite gives them. 3689512
The booking page's calendar shows only the month on view. The neighbouring months' days sat in the grid greyed out and could never be booked there.
The panel's confirmation dialogs look like App Suite's own. They also keep the keyboard inside them while open and hand focus back to where it came from once closed.
The booking page's month calendar no longer collapses on a tablet. The appointment details now sit above it rather than beside it, so the grid keeps its full width. The day numbers used to pile on top of each other. b159874
A booking page with no free times says so. It offers to skip to the next month that has some, and when nothing is free at all the notice replaces the calendar. da5df5c
A booked appointment no longer arrives tagged with an internal id. The invitation carried the booking's id as a category, which calendars showed as a badge beside the appointment's title. 9cedee8
Appointment mails carrying a calendar invitation now show their content in Apple Mail. The invitation, reschedule and cancellation mails arrived blank there, because the invitation displaced the message itself. 7068dff
Times in the editors follow the App Suite time format. The poll and booking editors showed times in the browser's format rather than the one chosen in Settings > General. The public pages still follow the visitor's own browser, since they run outside a session. 4bba5bb
The availability preview in the calendar takes date overrides into account. An overridden date previews its own hours and a blocked date reads as unavailable. Only the panel can change such a date, so dragging over one in the grid is refused and says so. 58a2f95
Time fields no longer let a window end before it starts. Each field is now an editable box with a list of suggested times, and an edit that would invert a window moves its end forward instead of failing on save. 4bba5bb
Poll descriptions render in the page font. They appeared in a monospace font, as if they were code. The same applied to the description on a paused booking page. 1dc1df8
Blocking appointments stay visible while picking availability. Appointments that would really block a booking now render on top of the availability preview rather than behind it, and you can open them for their details. b101fe7
The empty states match the ones elsewhere in App Suite. The illustration no longer washes out on a photo background, and group polls have one of their own instead of the booking pages' calendar. 80066af 2a591ef
Separate the editor's availability rows and group them ba08067