We’ve restored the feature to the Manage Participant Notes modal that allows users to create the same note for all Participants assigned to an Appointment
with a single action. Participant Note
records are only created for Participants
where the Delivery Activity
is not Cancelled.
This significantly improves workflow efficiency for group appointments, where the same note content applies across multiple Participants.
New "Create Note for All Participants" Checkbox: A checkbox has been added to the Participant Note
creation UI. When enabled, the Participant
lookup is cleared and disabled & Maica automatically creates a separate Participant Note
for each Participant on the Appointment.
Note Cloning Logic: When the note is saved the base note is cloned for each Participant
, including any content and related values & each Participant
receives their own individual Participant Note record, fully linked and managed separately.
UI Enhancements: Client Goal
lookup is hidden when the "Create for All" checkbox is selected, since it cannot be filtered without a selected Participant. The new checkbox is shown only when creating a new Participant Note, not during editing, to prevent confusion and incorrect record updates. The "Close" button in the modal is now labeled "Done" for clarity.
Post-Creation Display: After saving, all newly created Participant Note
records are immediately displayed in the modal. Each note is editable individually, ensuring flexibility even after bulk creation.
Edge Case Handling: If a note was created with the checkbox ticked, it cannot later be used to create more multi-participant notes (i.e., no “re-triggering” the clone).
Fixes and Stability: Several bugs related to record deletion, cancellation logic, and unsaved change warnings were identified and fixed. Improvements were made to ensure proper deletion logic and list management inside the modal.
A user edits an existing Note: ❌ The "Create for All" option is hidden to prevent unintended cloning or overwrites.
A user opens the modal, writes a note, enables the checkbox, and saves: ✅ All participants receive their own note; each is displayed in the modal after save.
A note is deleted and the user clicks Undo, then deletes again: ✅ Correct record is deleted and removed from the UI (bug fixed)
We’ve introduced robust timezone management capabilities for Appointments
in Maica, allowing users to specify a target timezone at the time of booking. This ensures Appointments
are created and viewed correctly regardless of the user’s local timezone, improving clarity for distributed care teams and enabling better cross State scheduling.
Appointment Timezone Support: A new Time Zone field has been added to the Appointment object. The timezone is set automatically based on the selected Location using Google’s Time Zone API. If no Location is selected, users can manually select a Time Zone from a picklist.
Time Zone Detection & UI Enhancements: When a Location
is selected, Maica uses the Location’s latitude and longitude to call the Google Time Zone API and determine the correct zone. A confirmation modal appears if the selected timezone differs from the existing one, allowing users to confirm or override the adjustment.
Example modal content includes: “The time zone for this Appointment
differs from the time zone of the selected Location.” It displays both current and proposed timezones and offers options to Cancel or Update.
Visual Display & Conversion: Scheduled Start
and End
Times are displayed in the Appointment records Time Zone when managing or creating the record. Users will still see the adjusted times in the Planner and other parts of the UI in their own timezone, maintaining usability.
Timezone Info in the Planner: A new world icon has been added to the Planner control center that displays the user’s current browser timezone. Tooltips provide context (e.g., “Your current timezone is Sydney”).
Quick Info and Record Display: When the Appointment
timezone differs from the browser’s, the time display includes the target timezone in this format: (GMT+11) Australia/Sydney
Flexible Logic & Support for Edge Cases: The timezone can be overridden in border cases (e.g., towns that operate on neighbouring timezones). If the Appointment starts and ends in different zones, Maica allows the user to choose which one applies.
User creates an Appointment for 9:00 AM in Perth: ✅ Appointment shows as 9:00 AM in Perth timezone, but 11:00 AM for users in Sydney.
A border Location causes conflicting timezone logic: ✅ User is shown a confirmation modal and can override the timezone if needed.
A new Appointment is created with no Location: ✅ User can select the timezone manually via picklist.
A user views an Appointment created in a different zone: ✅ Maica shows the time adjusted to the viewer’s local timezone (e.g., Planner, Quick Info).
Location is updated post-save: ✅ System re-evaluates and prompts to apply new timezone via modal.
We’ve reinstated the Appointment Service
field on the Participant Note
modal when the Billable toggle is OFF, allowing teams to record the service context of a note even when it is not billable. This change ensures improved reporting, clarity, and consistent Delivery Activity
creation across all Appointment
-linked notes—whether billable or not.
Appointment Service Field Reinstated: When the Billable toggle is OFF, users can now still select an Appointment Service
to indicate which service the note is related to. The Appointment Service
field is not mandatory in this state but is available for reference and reporting.
Delivery Activity Behaviour for Non-Billable Notes: When saving a Participant Note
marked as non-billable, a Delivery Activity
is created with Billing Status
= Do Not Bill & Quantity
= 0. This ensures the record is tracked but not included in billing or claiming flows.
UI Logic Enhancements: If the note is non-billable then the Quantity
field is hidden and locked at 0 and the Claim Type
field is hidden entirely. The UI adjusts dynamically based on User permission set (Create Billable Participant Notes) & state of the Billable toggle
Permission-Based Visibility and Behaviour:
Users with the permission set: Can toggle between billable and non-billable, must select an Appointment Service
for billable notes and can optionally select it for non-billable notes.
Users without the permission set: The billable toggle is disabled and set to false by default. The Appointment Service
field is visible but optional. Cannot access Quantity
or Claim Type
fields.
Validation & Submission Logic Improvements: When the Billable toggle is OFF the system no longer performs funding validation for the Participant
and the Quantity
and Claim Type
values are reset to null or 0 on submission. The logic to reset fields moved to Apex for consistency and auditability.
A user creates a non-billable Participant Note and selects a Service: ✅ A Delivery Activity
is created with Billing Status
= Do Not Bill, Quantity
= 0, and a linked Service
A user creates a billable note: ✅ Quantity
is calculated and required; Claim Type
and Appointment Service
are mandatory
A user without permission accesses the note modal: ✅ Billable toggle is OFF and disabled; Service
field is optional
User enables the Billable toggle, then disables it again: ✅ Quantity
is reset to 0 and locked; Claim Type
is hidden; validation bypassed
Legacy clients rely on Appointment Service for reporting: ✅ They can now resume using this field even for non-billable notes
We’ve improved the workflow for creating Participant Notes
directly from the Contact
record, ensuring that the Participant
lookup field is pre-populated when launched from the Participant’s page. This mirrors existing behaviour for Appointments
and saves time when recording notes.
New Autofill Logic for Participant Notes: When users click “New Participant Note” from the Participant
(Contact
) > Notes related list, the Participant
lookup field now auto-fills with that Contact
. This applies to all scenarios where the modal is opened directly from a Contact
detail or related list view.
Consistent Behaviour with Appointment Creation: This enhancement brings the Participant Note creation flow into alignment with how Appointments behave—where the Participant is also auto-populated
We’ve introduced a new feature that adds a relationship between an original Appointment Schedule
and the new Schedule
that replaces it when recurring appointments are modified. This ensures better auditability and historical tracking of schedule changes—particularly useful when applying updates to future appointments from a non-master record.
New “Previous Schedule” Field on the Schedule Object: A Lookup field called Previous Schedule
has been added to the Appointment Schedule
object. When a user applies changes to an Appointment
in a recurring series (selecting “Apply changes to all future Appointments”), Maica now: Ends the original schedule, creates a new schedule and links the new schedule to the previous one via the Previous Schedule field
Reverse Relationship for Visibility: A related list on the original schedule called “Current Schedules” displays all new schedules that stem from it. This mirrors how Service Agreements track changes in Price Lists, providing a familiar experience for users.
Field Metadata & UI Configuration: The Previous Schedule field is: Read-only at both the field level and on the page layout, included in the Lightning Record Page and relevant page layouts, displayed in the new Schedule tab for easier access and labeled with tooltips and descriptions.
Applicable to Appointments and Unavailability: The same logic will be extended to Manage Unavailability, where the split schedule pattern is also used.
Field Naming and UX Design Finalised:
Related List Label: Current Schedules
Field Label: Previous Schedule
A user edits an appointment mid-series and chooses to “Apply changes to all future appointments”: ✅ A new Schedule
is created, and the Previous Schedule
field is populated
A user edits the Master Appointment: ✅ No split occurs, and the Previous Schedule
field remains blank
A user reviews a schedule that has been updated multiple times: ✅ The related list shows all subsequent schedules linked to the original
We’ve updated the Manage Travel modal to remove the default value of 0 KM
from the Kilometres (KM) field, following feedback that users found this default confusing. The field now appears blank (null) by default, helping distinguish between no entry and a deliberate zero.
KM Field Now Defaults to Null (Not 0): The Kilometres input field in the Travel Management modal no longer displays 0 by default. The value is still stored as 0 under the hood if left empty, to maintain existing logic, but the user experience now treats it as a blank input.
Improved Visual Clarity: This change makes it clear that a field showing 0 has been deliberately entered, vs a field that is blank and needs user input.
Updated Modal Labels: An asterisk (*) has been added next to the Minutes field label to indicate it is required, improving form clarity. This change was implemented following further feedback during QA.
Applies Across All Entry Points: The null default logic for KMs now applies across all Appointment-based actions: Quick Complete, Manage Appointment > Travel & Recurring Appointments
No Impact to Calculations or Stored Values: If the user enters a value, it behaves exactly as before. If the field is left blank, Maica internally treats it as 0 to ensure no downstream logic breaks.
User opens the Travel modal and sees a blank KM field: ✅ User can enter a value or leave it empty (system stores 0 silently)
User explicitly enters 0
: ✅ Value is stored and displayed as 0
Minutes field is required: ✅ Label now shows Minutes*
, guiding the user correctly
Travel modal launched via Quick Complete or Manage Appointment: ✅ The KM field is now blank by default in all cases
We’ve introduced a flexible new feature allowing users to define exactly which attributes from the Master Appointment
are inherited when generating recurring Appointments
or Shifts
. This supports edge cases where the Master is created without Participants
or Resources
, and allows for finer control of recurring scheduling behaviour across complex care delivery scenarios.
New “Inherit Attributes” Checkboxes on Schedule: The Schedule
object now includes new checkboxes that determine which data is cloned from the Master Appointment
to each generated Appointment
: Inherit Participants, Inherit Resources & Inherit Checklists. These options are visible in the Schedule section of the UI when setting up Recurring Appointments.
Default Behaviour Preserved: The default values for these checkboxes match existing system behaviour to ensure backward compatibility. A post-install script is included to update all existing Schedule
records to reflect the current system default for each attribute.
Checklist Logic Now Included: Previously, Checklists
were not copied from Master Appointments
. This enhancement allows users to explicitly include Checklists when generating recurring appointments.
Flexible Use Cases Supported: Users can now create a Master Appointment
with no Participants
or Resources
and choose to add them individually to scheduled appointments later. Maica will only inherit the selected attributes from the Master, allowing mixed or staged setups.
Shift-Specific Adjustments: For Shifts
, the Participants
checkbox is hidden, since Shifts
do not support Participants
. The descriptive header dynamically changes based on the Record Type:
Appointments: “When generating Appointments”
Shifts: “When generating Shifts”
A Master Appointment has a Resource and Service, but no Participant: ✅ If “Inherit Resources” and “Inherit Appointment Services” are checked, these are applied to future Appointments
A user disables “Inherit Participants”: ✅ Scheduled Appointments are created with no Participants, allowing assignment later
A user enables “Inherit Checklists”: ✅ Checklist templates on the Master are applied to each Appointment in the series
A Shift is created: ✅ UI hides the “Inherit Participants” checkbox to avoid confusion
Client wants to manage future Appointments without cloning Resources: ✅ Can disable “Inherit Resources” to retain manual assignment control
We’ve enhanced the Participant Note
modal to automatically pre-populate the Participant
lookup when a user opens the modal from an Appointment
that has only one Participant
assigned via Delivery Activity
. This simplifies workflows and reduces manual input in common one-to-one care scenarios.
Participant Field Now Auto-Fills: If an Appointment
has exactly one Delivery Activity
, Maica now: Detects the associated Participant
and automatically sets this Participant
as the default value in the Participant
lookup when launching the New Participant Note
modal.
Improved Quick Action UX: This behaviour applies when the Participant Note
is created via the Quick Action on the Appointment
. Maica confirms only one Delivery Activity
(and therefore one Participant
) exists.
No Change for Multi-Participant Appointments: If multiple Participants
are associated with the Appointment
then the Participant
field will remain blank. Users must manually select the correct Participant
.
Appointment has 1 Delivery Activity (1 Participant): ✅ Participant Note modal auto-fills the Participant field
Appointment has 2+ Delivery Activities: ✅ Participant field remains blank — user must select
User clicks "New Note" from the Quick Action: ✅ System checks for Participant count and auto-fills if only one
We resolved a defect where users who were not assigned the “Create Billable Participant Notes” permission set encountered errors when creating Participant Notes
. Specifically, Maica incorrectly populated the Appointment Service
field, triggering funding validations—even when the note was meant to be non-billable.
Billable Toggle Now Defaults to False and Is Disabled: If a user does not have the Maica Client Care - Create Billable Participant Notes
permission set: The Billable toggle is now set to FALSE by default and is disabled. This prevents Maica from attempting to validate against Participant funding rules.
Appointment Service Field Is No Longer Auto-Populated: Previously, the Default Appointment Service
(set in Participant Note Settings) was auto-filled even for users without the permission. This now only applies to users with the permission set. For users without the permission, Appointment Service
= null by default.
Fixes Two Related Defects:
Issue #1: A user without the permission set receives a validation error when selecting a Participant
without a valid Service Agreement
. ✅ Resolved by not auto-filling Appointment Service
when Billable = false.
Issue #2: A user without the permission could create a note that appears to be valid (if the Participant
had funding), but this conflicted with the user’s access level. ✅ Resolved by locking the form into a non-billable state, preventing unintended delivery activity creation logic.
User without permission tries to create a note for Participant without an active Agreement: ✅ Note can be saved successfully with no Appointment Service selected
User with permission creates a billable note: ✅ Appointment Service is required and validations apply
User without permission opens New Note modal: ✅ Billable toggle is off and disabled; Appointment Service is left blank
Default Appointment Service is configured in Settings: It is only applied for users with appropriate permission set
We’ve updated the Participant Notes
accordion header to replace the internal record ID with a clearer, more meaningful label: Participant Name – Note
text (truncated). This improves readability, especially when reviewing multiple notes for group Appointments
.
New Accordion Header Format: Accordion headers in the Manage Appointment > Participant Notes
modal now display: The Participant Name
, followed by a truncated preview of the Note content, stripped of rich text formatting.
Example format: Lee Bailey – Had a great session …
Removal of Auto-Number Field from Header: The previously displayed record ID or auto-number field has been removed to reduce clutter and confusion.
Length Limit & Ellipsis for Truncation: Note text in the header is limited to 100 characters. If longer, it is automatically truncated with an ellipsis (…).
We resolved a usability issue where the Notes
field in the Participant Note
modal was collapsed by default on mobile devices, making it difficult for users to locate and open the input. The Notes
field is now expanded by default across all platforms, ensuring a smoother user experience on mobile.
We’ve made two usability enhancements to the Participant Note
modal: replacing the unclear tick icon with a “Save” button, and adding a confirmation warning when closing unsaved Notes. These changes help prevent accidental data loss and improve clarity when interacting with Notes on desktop and mobile.
New “Save” Button Label and Styling: The modal's old tick icon button has been replaced with a branded blue “Save” button featuring: White text for clarity & prominent placement in the header. This update improves visibility and better aligns with Maica’s UI standards.
Confirmation Prompt on Unsaved Close: When users click “Close” without saving their Note a modal now appears with the message: “You have unsaved changes, are you sure you want to close?”
Users must confirm before their unsaved work is discarded. This logic applies whether there are new notes or edited notes in the list.
CC-524: Post-Install Script to set default values of the new fields on Schedule. Please check a couple of schedule records and make sure the new Inherit fields got default values.
CC-530: In Maica Settings under Participant Notes tab ensure the Default Appointment Type value is selected.