Update Jul/26
Free time slots for multi-resource services, an alignment setting, a custom payment description, resource manager permissions, and phantom warehouse balances fixed at source.
Free time slots for services with multiple resources
Previously, for services that occupy several resources at once (a specialist and a room, for example), free gaps between existing appointments could be left out of what the client was offered. Now slot generation accounts for the busy hours of every related resource, so those gaps are offered correctly.
New setting for free time alignment
If you use a custom alignment step and the "Flexible" free time format, the "Apply alignment to" setting is now available. It has two values: "Every slot" (the default) aligns every offered start time, while "Only the start" aligns just the beginning of the interval.
"Every slot" is already in effect, with no action on your part. Note the trade-off: with "Every slot", a genuinely free gap that does not start at an aligned time is no longer offered to the client, even if the service fits into it completely. This includes the gaps described above. To return to the behavior you had before this update, select "Only the start".
Custom payment description
A payment description setting has been added. Instead of the standard text, you can now set the description yourself: it is what the client sees on the checkout page and on their bank statement.
Membership freeze: correct limit calculation
On the membership freeze screen, the limit was counted together with unfreezes. Now only the freezes themselves are counted: one freeze-and-unfreeze pair counts as a single freeze against the allowed number of freezes, not two.
Read more about membership freeze
Resource manager role permissions
In several places the resource manager role received "Access denied" despite granted permissions. This has been fixed in the "Memberships", "Statistics" and "Mailing history" sections.
Cause of phantom warehouse balances fixed
In a warehouse document, a product line item could be assigned a warehouse different from the one on the document itself. Now the line item warehouse always matches the document warehouse.