Changelog
Update September 2026 (2)
Published in September 2026 as version 1.7.7.
Shift plan and duty roster
Planning and staffing
- View switch "Week | Day | List" in the function bar of all three shift plan views. Filters and period are remembered per view.
- New page "Week status" in the shift plan menu: crafts × calendar weeks (4/8/13/26 weeks, craft filter) with a status per cell (open, requested, partially committed, committed, rejected), unconfirmed changes, open rule violations, open slots and the request deadline (yellow when due soon, red when overdue). Clicking a cell opens the details with a jump to the week, "Submit request" or "Commit", "Go to request", "Open rule violations" and "Changes".
- Conflict check before assigning: When you drop a person onto a shift (week and day view), artwork checks for overlaps with other assignments, vacation and unavailability. If there are hits, a conflict list appears with "Assign anyway"; without hits nothing interrupts you.
- Staffing overview in the week grid: The craft row of the person area shows "staffed/required" per day with a traffic-light colour and the weekly total in the calendar-week column (tooltip: required, staffed, open). Click filters on open shifts of that craft, a second click resets. If you do not need the pills, hide them with the new display setting "Show staffing per craft"; the filter stays available in the filter popup of the person area.
- Shift dialog compact and reordered: one card without scrolling — template quick pick → craft (defines the function slots) → times and break with time templates → room → demand (functions of the craft, then global qualifications) → project (with tiles of recently opened projects), shift group and note. The shift history opens top right as an embedded window; a click next to it only closes the history. The explanation box on how a shift is structured moved to the help panel. Server errors are shown, required fields are marked consistently, the save button tells you what is missing. When editing, the dialog is now titled "Edit shift".
- Changing the project in the shift dialog is visible in the shift plan immediately — the shift used to sit under "without project" until you reloaded.
- Editing a shift saves again without an error message ("The PATCH method is not supported …"). The same cause was fixed in the team and person assignment of checklists.
- "Find replacement" after a decline: Declined assignments show a red decline icon in the tile (tooltip with comment) and a "Find replacement" button (also in the day view). The window lists suitable free people of the craft with the function of the slot, sorted by hours account, with hints such as "Already has a shift today". "Assign" swaps the assignment in one step.
- Breaks according to the Working Hours Act: In all break fields (shift, individual time, series, templates, time templates) an empty break is filled automatically with the legal minimum (over 6 h 30 min, over 9 h 45 min). Manually entered values are never overwritten silently — below the field you see whether the value is automatic or manual, with a reset button and a warning colour when below the minimum.
- Configurable night work period: In the shift settings you can maintain the time window for night hours (default 22:00–06:00). Shifts across midnight now count their night minutes completely.
- Day modal of a person in two columns: shifts, projects and individual times on the left; availability status, half day off, comment, rule violations, compensation day and registered availabilities on the right. New inside: each shift shows the accept/decline status as a pill (Requested / Accepted on … / Declined on …, with comment), and planners can record the reply on behalf of the person right there. The "Remove person from shift" button now shows the trash icon.
- Availabilities are reflected immediately: When someone enters, changes or deletes an availability or absence, the person row in the shift plan updates in every open window without reloading — also for the day status from the day modal and for multi-edit changes.
- The person area remembers its scroll position: After reloading, navigating dates or changing filters, the lower area returns to where you last scrolled.
- Expanding and collapsing crafts reacts immediately and no longer forgets filtered-out crafts while a craft filter is active.
- Person area optionally light: A sun/moon switch in the toolbar of the person area shows the lower area light or dark; the choice is saved per person. Plus/minus hours, availability, absence, compensation days and the staffing traffic light are easy to read in both modes.
- Day service balls in the person area are now filled with the day service colour; the icon is automatically white or black depending on the brightness of the colour.
- Person filters: "Include freelancers" in the filter popup of the person area now survives a reload. The filter "Only people with open rule violations" is a real toggle with a counter; while it is active, a notice bar offers "Clear filter" and an empty result is explained. The counter chip in the function bar was removed for that; in the day view the filter still sits in the filter window.
- Display settings only show what works in the current view ("Only settings that take effect in this view are shown."). "Show notes" is now "Show description" and shows the description of events and shifts in week, day and list view — in the week view the setting did not affect shifts before. "High contrast" now also affects the cards in the day view. The list view additionally offers "Show shift group tag".
- Function bar on narrow screens: compact scroll group, "Help & legend" moves into the more menu below 1536 px, the day view wraps cleanly. The tooltip of the multi-edit switch now describes what the mode does.
- Commit dialog only shows crafts you are allowed to commit, names the mode ("commit" vs. "submit for approval"), lists the approvers and reports the result with counts. Server errors are shown. Bulk committing a calendar week is blocked while the approval workflow is active, like single commits.
- Approval workflow: can only be activated with at least one approver (warning when active without a person). Requesters can withdraw a pending request and resubmit a rejected one with one click. In the review view, violation markers are clickable and open the edit dialog (with the "Edit rules" right). Approve, reject and revert are protected against double clicks. Statuses are consistent: Pending / Approved / Rejected.
- Help panel behind the info icon (legend, usage, workflow) instead of a permanent banner; empty states in the week and day grid with direct links; success message after drag & drop assignment. A global success/error toast now works on all pages.
- Calendar week 53 in years with 52 weeks is rejected when committing and in shift plan requests (previously week 52 was processed silently).
My duty roster and accept/decline
- New right "May accept/decline shifts" (shift plan module, requires the shift setting "Shift confirmation by employees"): accepting and declining is now an opt-in per person. Only people with the right see the buttons in their own duty roster; planners record replies on their behalf (duty roster, day view menu, day modal). Unanswered assignments show the new status "Requested" (blue). Accepting and declining is also possible on provisional shifts. In the person area of the shift plan the status appears as a coloured pill (blue/green/red). Externals do not take part in the flow. ⚠️ Note for admins: the right is not part of any role preset. Houses with active shift confirmation must grant it to their people once — until then they no longer see accept/decline buttons.
- "My numbers" in your own duty roster: the key figures window for your own person (season, compensation days, vacation, actual hours, overtime, your own open rule violations), read-only.
- Warning triangle on the day when you are scheduled despite an absence entry (yellow for absence, red for "not available" or a committed shift; hover text names the status).
- Duty roster card: shows function and break, a "Provisional" badge with dashed border for uncommitted shifts, a "Time changed – please accept again" badge when an acceptance was reset by a time change, a "Time adjustment requested" badge for an open request; labelled totals ("Work 32:00 h · Break 2:30 h") and a "Planned / Target" line. Toast after accepting or declining with the note that you remain scheduled until the plan is changed.
- Conflict notices name the right person: The notice for availability/absence conflicts used to name the committing person instead of the one who did the scheduling. Now it says who actually scheduled you, plus the new "Assignment made on …". Applies to the notification and the absence list in the profile.
- Notifications: "Your shift plan … week n has been committed" now also goes to every person with a shift in the craft of that week when the approval workflow is active. Mails contain the description (date, time, craft, project) and a direct link to the affected view. Changes after commitment only go to the affected person and the planners of the craft. Violation notifications link to the correct week and only go to people with shift plan rights.
- Time adjustment requests: the rejection reason is shown, status chips are consistent, the dialog is translated, filters by status and period.
- Calendar subscription: uncommitted shifts appear (with the instance setting active) with the prefix "[provisional]"; function and break are in the description; "Renew link" invalidates the old link.
Rules and violations
- Button "Create statutory default rules" on "Rules & violations": creates the default rules according to the German Working Hours Act (daily maximum 10 h, weekly maximum 48 h, rest period 11 h, max. 6 working days in a row, Sunday work with compensatory rest day, special day compensation, 15 free Sundays per year, weekly average 48 h over 24 weeks, night work maximum 8 h) and assigns them to the selected contract templates. Existing rules of the same type are only assigned, not duplicated.
- New rule types: "Work on Sunday" and "Work on special day" (document the entitlement to a compensatory rest day), "Free Sundays per calendar year", "Average weekly hours over period" (new field "Period (weeks)"), "Daily maximum on days with night work", "At least X whole free days per week", "Overtime reduction deadline" and "At least X free Sundays with Saturday/Monday per season half".
- Rule violations disappear on their own when the conflict is resolved by changing shifts. Processed, ignored and manual violations remain. Rule and contract changes trigger an immediate re-check of the affected people.
- Rules use the person's times: All checks use the person-specific shift times; daily and weekly maximum count shifts plus individual times; the night work rule evaluates shifts across midnight as a whole. The 9-hour edge case for breaks is now checked.
- Page "Rules & violations" (formerly "Shift warnings"): value field per rule type with unit, "By rule / By contract" switch, working user selection "Notify on rule violation" (recipients without shift plan rights are removed), contracts as a searchable multi-select. Manual violations also work without a rule ("Other" with its own title).
- Shift plan: at most two markers per cell — a warning triangle with the number of open violations and a check chip with the number of processed ones; the tooltip names rule, status and measured value ("17 h of max. 10 h"), click opens the day. Legend in the help panel.
- Edit violation: further editing is possible as long as no compensation day was granted; "History" tab; note "Processed by … on …"; deadline field with "Apply rule default".
- "Open violations" with filters and pages: period (max. one year, with a hint), crafts, person, rule, severity, status, sorting; counter chips; multi-select "Ignore" with reason.
- Compensation overview: filters by person, deadline and status, Excel export of the filtered list; dashboard lists with pages.
Contract, working time and key figures
- Contract & working time as a timeline: The "Employment contract" and "Working time pattern" tabs are now one tab. Contract assignments have "valid from/until" and form a history; "Plan change" sets contract and/or working time pattern from a date. Key figures, rules, the overtime run and the special-day switch read the contract valid on the respective day. Periods show the effective values (inherited template values marked "(template)"). The contract template opens by clicking into the field.
- The working time pattern is the only source for the target: The field "h/week according to contract" is gone. Without a pattern the target is "unknown" (no longer 40 h/5): the duty roster header and the calendar-week tile show "–" with a "Working time pattern missing" badge, the user list a warning badge.
- One calculation for target and actual: calendar-week column, actual hours tab, hours account and night booking use the same service; past days used to be counted twice in the calendar-week column. Sickness and vacation are neutral for the target; multi-day individual times no longer count twice. One hours format everywhere: signed "H:MM h" with tooltip "Planned · Target · Difference".
- Special days: one definition (flag "treat as special day") for rule checks, weekly target, hours account and night booking; school holidays without the flag never lower the target. The contract switch "Special day rule active" now takes effect. Special-day marker in the day header of the shift plan. Holidays now have a type (Statutory / School holidays / Custom entry) with a filter; shift planners can maintain the special-day checkboxes themselves (read-only access to the holidays page with usable checkboxes). ⚠️ Note for admins: the migration sets "Special day rule active" to "on" for all existing contracts and removes the special-day flag from imported school-holiday entries; check manually created entries once.
- Three-month average (contract option): target reduction by the average of actual hours of the same weekday over the three completed previous months, with a tooltip per day in the hours account.
- Key figures window: targets come from the person's assignment; actual hours tab with month navigation; tooltip per key figure with the counting rule; rows without a target hidden by default; "Last nightly calculation"; signed hours-account badge. New key figure "Whole free days"; "free whole/half days per week" on the contract are now key-figure targets per season half. The key figure "Free days in the first 26 weeks of the season" now counts from the season start — it used to be 0.
- The overtime account is kept when the overtime rule is switched off; unchecking used to delete all open and compensated overtime.
- Season fallback: If no or an invalid season is configured, the current calendar year applies everywhere — "My numbers" returns values instead of an error, BI dashboard and export use the calendar year when no dates are given. ⚠️ Note for admins: without a configured season, key figures and BI now calculate with the calendar year instead of not at all or across everything.
Exports
- Three new Excel exports in the export dialog and on the source pages: rule violations, shift history and change overview. Periods are limited to one year (the dialog blocks longer periods, the server message is shown); without dates the current month applies.
- ⚠️ Note for admins: shift plan PDF, project shift plan PDF and staff plan Excel now require "View shift plans".
Consistent terminology
- App-wide terms are now: "Shift plan" (menu, requests, exports), "My duty roster" for the personal view, "Function" instead of "Qualification" for the role in a shift, "Slot" for the position to be staffed, "commit" (planning) and "Approval / approve / reject" (second instance), "Accept / Decline", "compensation days" instead of days off in lieu, day status "available / off / not available", "Template group" and "Time template". Informal address and gender-inclusive spelling throughout. ⚠️ Note for admins: the status "Approved" replaces "Granted" also for CRM approvals and time adjustment requests; check training materials with old terms.
Calendar and filters
- Season schedule overview (PDF): If "Show calendar weeks" is unchecked, the week column disappears completely; weekday and day number share one column ("Mon 1") — the content column per month is about 25 % wider. The project name is colour-highlighted instead of preceded by a colour dot (option "Highlight project names in colour"). The font grows as far as row and column allow; the new setting "Characters always fully visible" (default 16) controls the trade-off between font size and untruncated text.
- Saved filters: The active saved filter is highlighted in green with a check mark in the filter window and has its own "Deselect filter" icon; the X still deletes the template. Applies to the calendar, shift plan (week/day/list) and the schedule.
- Schedule (appointment list): rows no longer have wrong spacing after height changes; the markers for recently edited and new appointments update immediately on save (also for description changes); rows no longer show through next to the function bar while scrolling.
User permissions
- New user permissions page: rights are grouped by module in the order of the main menu. Within a card there are levels (e.g. View shift plans → Plan shifts → Commit shift plans — a higher level automatically includes the lower ones) and additional rights. Every right has a one-sentence effect; a click opens the effect card (Unlocks / Allows / Requirements / Includes / Typical for / Note, "currently granted to n people"). Requirements are checked live. Search, "Only granted", confirmation prompts when removing a level and when granting the admin role, save status in the header, "Same rights as another person" with preview. The fine-grained shift rights sit in a collapsed section of the shift plan card.
- Apply role presets: Ten role presets are shipped (Basic, Production management, Disposition / room planning, Shift planning, HR administration, Accounting / controlling, Contract & document management, Warehouse / inventory, Artist care / CRM) and can also be applied later with a preview. Presets customised by your house are kept. New read-only page "Permissions explained" (printable) for training and acceptance. Every change to rights is logged with date, person and diff.
- New rights: "Calendar settings", "Funding source settings", "Budget settings", "Open trash", "Manage externals" (create, edit and delete freelancers and service providers including conditions and absences — without access to in-house colleagues), "May accept/decline shifts". ⚠️ Note for admins: whoever had "Manage external employee conditions" now gets "Manage externals"; non-admins who reached budget templates/account maintenance via direct links now need "Budget settings".
- Removed rights (holders are migrated automatically): "Global budget access without document access" → "Global budget access"; deleted: "May see all budget documents & contracts …", "Use to-dos", "Set up events for a new project", "Manage inventory stock", "Inventory planner".
- Planning calendar authorised separately: "Plan events firmly" no longer includes "Plan firmly in the planning calendar" as a level. Whoever only has "Plan events firmly" can only request planned events in the planning calendar. ⚠️ Note for admins: the migration grants the planning right explicitly once to all people, roles and presets with "Plan events firmly" so nothing changes silently for existing installations; afterwards it can be revoked independently.
- Behaviour changes ⚠️ Note for admins: "Be project management" no longer allows editing or deleting events of other projects — the write permission in the event's project counts instead. Other people's user profiles are now edited by "HR administration", no longer by "Team management". Working hours and overtime in the shift plan info window require "View hours accounts" or HR administration. The admin role can only be granted in the invitation dialog by artwork admins. The level ladder is enforced on save and once for existing data.
- Rights are now also checked server-side in many further areas (among others funding sources, rooms and areas, event master data, material issues, inventory trash and tag approvals, CRM, contract modules, project settings pages, budget verification and templates, to-do lists, Sage records, day service assignment, funding tasks). Module switches now also apply to sub-pages; cross-cutting endpoints stay reachable. ⚠️ Note for admins: whoever worked via direct links without the matching right now gets "No permission" — adjust the rights in the user permissions.
- The project team checkbox "Delete" now takes effect. Funding sources only show edit/duplicate/delete when the action is allowed. Material issues are visible to everyone with read access to the project; checklists in projects follow the project right.
BI module
- Key figures no longer show wrong values: "Performances", "Event days" and occupancy are only calculated when the BI tags are assigned to at least one event type; previously the system silently counted all events. Without assignment "—" with a hint is shown. Which tag controls which key figure is now chosen in the tag dialog under "Controls key figure" — renaming no longer breaks the key figure. ⚠️ Note for admins: after the update, check under "Events → BI tags" whether "Performance" and "Event day" are assigned to event types; the migration assigns the roles once via the previous names.
- Setup checklist at the top of "BI settings": seven steps with live status and direct link.
- Dashboard in two views ("Overview" and "Control"), the division filter as a real page filter, new "Recorded" tile, period sentence below the header, "—" instead of "0" for unrecorded values, legend for the colour logic, info tooltips on every key figure. Quick entry shows existing values pre-filled.
- Project tab: record first, then evaluate. The entry table shows only audience events by default; save feedback names the reason; all input fields use the standard components.
- One export dialog for all entry points with grouped column selection and search, visible waiting state with cancel, Excel file with frozen header row, auto filter, real date and percentage values and an info sheet. Templates with unique names. Files stay available for 24 hours. ⚠️ Note for admins: the page "System → Projects → BI export" is gone; the export sits in the BI dashboard and in the project tab. The scheduler must be running (daily cleanup job).
- Consistent language: "Revenue", "Tickets", "Cut-off date", "Target achievement", "Entry mode", "Share of paying guests", "Previous period".
Budget and funding
- Funding tasks: When creating, the people selected in the dialog are assigned (was ignored before); "My tasks" shows the avatars of the responsible people, the checkbox also reverts "done".
- Budget: The Excel export outputs account/cost centre/description as text (leading zeros like "04000" are kept). Drag & drop of positions shows "Order saved". Account search with at most 50 hits and a hint to refine.
Miscellaneous
- Missing permissions show an app error page on all pages instead of the bare server page.
- To-do lists: other people's lists are no longer editable by everyone; own, shared and assigned lists keep their access.
- Trash access follows "Open trash"; Sage records follow the respective scope right.