ILOS

SSL Service Manager

Enter the password to continue

SSL Service Manager – Decisions Register v0.1

Consolidated decisions from the 10 Service Manager comparison meetings (13 May – 2 Jun 2026), the working meeting notes, and the SaaS4 customer review. Each decision is traceable to its source. This register is the single backbone for the SSL Service Manager specification and wireframes.

Artifacts: 00 Register · 01 Shell · 02 Module spec · 03 Wireframes · 04 Build spec · 11 Dashboard spec · 12 Dashboard wf · 13 Requests spec · 14 Requests wf · 15 Referrals spec · 16 Referrals wf · 17 Scheduling spec · 18 Scheduling wf · 22 Inventory spec · 22 Inventory wf · 24 Reports spec · 24 Reports wf

Source meetings

RefDateDurationMain topics coveredTranscript file
M113 May 20264h 00mKick-off, Home & Dashboard, tickets/incidents consolidation, rosterService Manager Feature Comparison.docx
M215 May 20262h 00mIncidents→Requests, Referrals, Service Agreements, Quick Agreement, Workspace… (1).docx
M318 May 20261h 00mService Agreements (deep dive)… (2).docx
M419 May 20262h 42mRequests & tasks lifecycle, service agreements continued… (3).docx
M520 May 20262h 05mOperational Reports (largest), stock reports, referral/request reports… (4).docx
M621 May 20261h 25mInventory: stock, stores, manufacturers, goods in… (5).docx
M722 May 20261h 10mInventory continued: stores, stock processes… (6).docx
M826 May 20261h 25mScheduling, tasks & requests workflow… (7).docx
M927 May 20261h 07mStock/stores wrap-up, agreements (Ivan-led)… (8).docx
M102 Jun 20261h 30mAdministration, tasks, referrals wrap-up… (9).docx
Status note. Source attribution is based on the consolidated meeting notes and a topical index of each transcript. During each module phase, the relevant transcript(s) are read in full and every decision for that module is verified and refined – verified items will move from v0.x to v1.0. Items marked TBD are explicitly open and belong on the Tunstall question list.
IDOld SM feature / screenDecision for SSL Service ManagerTypeSource
Global structure & terminology
G-001Incidents (OSM) / Tickets (ILOS ARC)Consolidated into Requests. Requests can be technical, personal or environmental; incidents become urgent requests. "Ticket console" becomes "request console". Requests are pulled from both the ARC and local SM.CHANGENotes; M1, M2, M4 · build
G-002Tasks (Scheduling)Tasks are follow-on actions from a request. Each request may have multiple tasks.KEEPNotes; M4 · build
G-003Inbound alarm callsAlarm calls live exclusively in the ARC – out of scope for the SSL Service Manager.REMOVENotes; M1 · build
G-004Main menu (9 sections)New main structure: Requests · Referrals · Scheduling · Inventory · Reports · Administration. Service Agreements is no longer a separate section – reached via global search (see G-005).CHANGENotes; M2 · spec · build
G-005Service Agreements → SearchGlobal combined search bar (as in Mark's prototype), visible on every page; advanced field-level search opens from the bar. Searching a service user opens their Service User Profile.CHANGENotes; M2, M3 · spec · build
G-006Quick AgreementRemoved as a separate flow. Originally bypassed stock management for hospital discharges – no longer needed. Becomes a simpler referral form. Details to be confirmed.REMOVENotes; M2 · spec · build
G-007Service Agreements → WorkspaceWorkspace moves out of Service Agreements into Tasks. (Customer review: "the workspace is over complicated".)CHANGENotes; M2; SaaS4 · spec · build
G-008KeywordsKeep "Keywords" terminology (= tags in ILOS). Colour handling: any colour in PNC vs 3 colours in ILOS – decide whether the full colour set can be kept or partitioned into the 3 ILOS colours. PNC coloured borders: ideally keep.TBDNotes; M2–M4 · spec · build
G-009Roles / Work Groups (Admin)Teams must be assigned to a pre-defined category (e.g. Responder, Administrative, Engineering). Add a "Responders" group; split "responder" into role groupings for technical staff. Roles in the new SM need amending.CHANGENotes; M1 · build
G-010Multi-tenancyRemove multi-tenancy: each client gets their own config (global static data, custom client data, potentially others). New static data must remain visible at the right level.CHANGENotes; M6 · build
G-011Login (SaaS4 feedback)Single sign-on + MFA strongly requested by nearly all customers (logging-in scored 3–6/9). Auto-save when leaving a page / on timeout also widely requested.NEWSaaS4 review · build
G-012Global units & time formatAdministration → Platform settings holds a global distance unit (miles by default, switchable to km) and a 24-hour vs AM/PM time-format setting – applied everywhere distances/times are shown (planner, My Work, calendars, reports).NEWIvan, 02 Jul 2026 · wf
G-013Leaver data retentionA leaver's roster and activity data is kept only as long as permitted (configurable, default 12 months after leaving) and then redacted – the same model as service-user redaction (S-003): names removed from roster history, task activity and handover logs; anonymised aggregates remain.NEWIvan, 02 Jul 2026 · wf
Home & Dashboard
D-001Dashboard operatorsOperators are responders/installers etc. per roles set in Administration. "Agents available" per roster; "On-shift responders" = agents from all teams with the Responder category on shift (e.g. North/South responder teams).CHANGENotes; M1 · spec · build
D-002"Average time to answer"Rename to "Average time to accept". A supervisor can assign a request; a responder can accept it.CHANGENotes; M1 · spec · build
D-003Active jobs"Active jobs" = jobs being delivered = "In progress" status from the ARC.KEEPNotes; M1 · spec · build
D-004Dashboard widgets (Mark's)Graphs: remove. Alerts & messages: remove. Staff online panel: remove – instead, clicking the "on-shift responders" stat opens the detail. Weather: remove for now (nice-to-have only).REMOVENotes; M1 · spec · build
D-005Vehicles (Mark's)Vehicle data may need to come from a vehicle tracking system; how vehicle location is obtained must be defined.TBDNotes; M1 · spec · build
D-006Ad-hoc phone numberAd-hoc number must not appear – requests are sent to responders and the number is picked from the responder's data.REMOVENotes; M1 · spec · build
D-007"Calls this shift"Tasks assigned to agents on this shift (to confirm against roster).TBDNotes; M1 · spec · build
D-008Home launcher tilesThe old SM "Home" tile-launcher page is removed – the persistent left menu already gives direct access to every section ("nice left menu to directly access key functions", X-002). The Dashboard becomes the landing view: opening the app or clicking Home lands on the operational dashboard.REMOVEM1; review 16 Jun · spec · wf
D-009Refresh frequency controlThe dashboard auto-refresh control is retained (Off / 1 / 5 / 15 min, default 5 min) with a manual refresh and an "as of" timestamp; persisted per user. No auto-refreshing graphs (graphs removed, D-004); auto-refresh respects prefers-reduced-motion.KEEPCurrent SM; review 16 Jun · spec · wf
Referrals
R-001Referrals sectionMaps to ILOS "Intake". Default referral forms combine the NSM form with the old SM form, with "pick stock" removed from the old form.CHANGENotes; M2 · spec · build
R-002Referral templatesNew templates = surveys; links saved in the system. Surveys can be published as a public page with an obscure URL so third parties can fill them in. Requester name is compulsory.NEWNotes; M2 · spec · build
R-003Referral editingA personalised survey URL is sent to the person filling it in; they can return and edit details until a formal service agreement exists – after that, edits only via the Friends & Family app.NEWNotes; M2 · spec · build
R-004Referral organisationOrganisation = the logged-in user's organisation; an "External" organisation exists for public referrals. (Greg Mason to provide sample referrals.)CHANGENotes; M2 · spec · build
R-005Duplicate detectionOn referral creation, search matches address/phone number against existing agreements at the same address and asks whether the user should be added to the existing agreement. (Moved here from the agreement actions.)NEWNotes; M2, M3 · spec · build
R-006ARC-created usersUsers created directly in the ARC must be visible in the Service Manager; SM holds richer data – users with an SM licence should be encouraged to use the SM page instead of the ARC page.NEWNotes; M2 · spec · build
R-007Referral sources (SaaS4)Ability to have different referral types (Public, GP, Hospital discharge, Social Services) and to import electronic requests from websites/emails/MS Forms.NEWSaaS4 review · spec · build
R-008Referral locking, reassignment and unlockOpening a referral locks it to that user so two people never triage the same case; the holder is shown in a styled tooltip on the list. The lock is not a dead end: a referral can be reassigned to another person or team (the lock transfers with it, or is released to the team queue), and a privileged "unlock referral" action force-releases a lock stranded on someone who is off sick, has left it open, or has left the organisation (confirmation + mandatory reason + audit). Marking a person sick on the roster surfaces the referrals locked to them alongside their booked tasks, so both are cleared in one pass.NEWIvan, 13 Jul 2026 · spec · wf · roster
R-009Referral intake data rulesThe new-referral form opens completely blank (no sample data). Title/salutation and at least one contact telephone number are mandatory alongside surname. A referral keyed in by staff defaults to "no referral – created in the system"; a source (GP, hospital, Social Services…) can be selected, and then who referred it must be recorded – the case where the referrer phoned in because the survey link was not available. Referrals accept multiple attachments, restricted to Word (.doc/.docx), PDF and image files. Once a referral is converted to a service agreement it becomes read-only (no edit button) – it is a historical record and the live data lives on the agreement.NEWIvan, 13 Jul 2026 · spec · wf
Service Agreements → Service User Profile
S-001Service Agreement summaryRenamed Service User Profile – it is about the user, not the agreement (cf. ILOS customer page). Details data carried over as-is from old SM. The overall agreement has no pre-defined end date; it runs until terminated.CHANGENotes; M2–M4 · spec · build
S-002Client photographDo not use a photograph of the client – use the logo of the organisation being monitored.CHANGENotes; M2–M4 · spec · build
S-003Information boxDisplay service agreement no. and customer reference number. Pencil icon = dwelling colour; heart = risk colour. Equipment block shows primary equipment contacting the ARC with model number and telephone number. Remove the two "unassigned" icons on the left.CHANGENotes; M2–M4 · spec · build
S-004Suspend / Resume actionsRemove both. Suspend isn't processed anywhere so it means nothing (check whether the ARC does this).REMOVENotes; M2–M4 · spec · build
S-005Decommission actionNew workflow: create equipment-recovery activity → schedule recovery task → on completion ask where equipment goes → archive client data and remove records from the ARC. Dual occupancy: only remove the involved resident's data; shared equipment not removed or partially recovered (confirmed by the person processing). Auto-cancel all live requests on decommissioning.NEWNotes; M2–M4 · spec · build
S-006ReactivateReverse decommission within 3 months: restore client data only. Former equipment from the closed agreement is surfaced as installation tasks to create (pick-stock → install), not auto-restored (revised 22 Jun 2026, item 31 – supersedes the earlier "restore equipment if already removed").CHANGEDNotes; M2–M4; item 31 · spec · build
S-007Add user to agreementQuickly add a new user onto an existing agreement (same address / shared equipment); no validation needed since the underlying agreement is already valid. Address matching at creation time moves to the referral page (R-005).KEEPNotes; M2–M4 · spec · build
S-008Redaction (1am job)Redaction happens automatically per agreed dates (typically 3–7 years per agreement), with a flag to stop it. Terminated agreements stay visible until redacted; a new page lists terminated agreements (verifies redaction). Terminated agreements excluded from live search unless a linked agreement is live.CHANGENotes; M2–M4 · spec · build
S-009Zoom/Teams callsAbility to call via Zoom/Teams (general calls, not under a service user). Log the fact a call was passed to Zoom/Teams and its status; call details not stored. Teams/Zoom calls also stored in call history (Delta requirement).NEWNotes; M2–M4 · spec · build
S-010Recent activity buttonsButtons next to recent activities removed – they are about requests or duplicate existing tabs.REMOVENotes; M2–M4 · spec · build
S-011Contacts tabStays; syncs with the ARC (= NSM "Circle of Care"). Categories: Primary, Emergency, Keyholder, Next of Kin (one per contact), Power of Attorney (multiple). Store availability windows per contact (per-day from/to, repeatable; short-term e.g. on holiday). Search existing contacts within the user's organisation. Each contact stores their relation per service user. Multiple phone numbers with type + icon.CHANGENotes; M2–M4 · spec · build
S-012Requests tabQuery of the resident's requests with tasks displayed beneath each request (no separate tasks tab). Filter defaults to live requests; can show closed. Multiple requests may be open simultaneously (OSM allowed only one). NEW: any request can have a follow-on request saved with it – the request can close while the follow-on stays open, auto-scheduled for its date.NEWNotes; M2–M4 · spec · build
S-013Incidents tabRemoved – incidents become urgent requests. Keep (for all urgent requests): respondent receives a text message; the incident is visible in the ARC with colour-coded status.REMOVENotes; M2–M4 · spec · build
S-014History tabRemoved; the functionality becomes part of advanced search. Audit must be available showing what changed (SaaS4: full edit history from→to).REMOVENotes; M2–M4; SaaS4 · spec · build
S-015Call historyQuery on ARC call history (+ Zoom/Teams per S-009). Most recent call history should also surface in the responder/engineer app.KEEPNotes; M2–M4 · spec · build
S-016Assessments tabHistory of completed surveys (risk assessments). Editable while in draft status (correct mistakes / add info); locked once published – a new assessment is then required. A request cannot complete until its assessment is published (prevents eternal drafts). On publish, auto-create a review request 12 months out, managed independently like any request but viewable with the assessment.CHANGENotes; M2–M4 · spec · build
S-017Equipment tabQuery on installed equipment; live shown by default with option to show decommissioned. Device detail view; button to fetch device data from DMP. NEW: link to initiate an equipment-assignment request from this tab.CHANGENotes; M2–M4 · spec · build
S-018Medication / Health Events (NSM)Medication: out until an NHS records link exists. Health Events tab: to discuss (SNOMED? NHS records?).TBDNotes; M2–M4 · spec · build
S-019Notes / Messages tabsNotes categorised into temporary and permanent; pull from the ARC where available; merge with PNC data. Messages filtered to those relevant to the user.CHANGENotes; M2–M4 · spec · build
S-020Print to PDFSummary of the client's data; prettify the old SM's existing output.KEEPNotes; M2–M4 · spec · build
S-021ServicesServices sit under an agreement: type, start date, end date, cost, payee; may run for a pre-defined period (e.g. regular calls while family on holiday). Services auto-cancel when their end time comes; users see a report of agreements expiring within 7 days. SaaS4: export service level/cost to finance for billing is a recurring demand.CHANGENotes; M2–M4; SaaS4 · spec · build
S-022Agreement cancellationUsers can create tasks to close off an agreement. Once stopped, the agreement is frozen – no further edits.CHANGENotes; M2–M4 · spec · build
S-023Print / export a completed assessmentA published (completed) assessment can be printed or saved as a PDF – the copy that goes to the GP, the funder, the family, or into an evidence bundle. Printing is scoped to the assessment: the app shell and modal chrome drop away and a print header carries the service user, the version, the assessor, the publication date and a "printed on / by" stamp. Published versions are locked (S-016), so the printed copy is a faithful record. Drafts cannot be printed – publish first.NEWIvan, 13 Jul 2026 · spec · wf
S-024Active incident visible at first glanceWhile an urgent request is live on the agreement, the ARC response timeline (sent → accepted → en route → arrived → completed, with ETA) leads the profile's Summary tab in a red-accented "Active incident" card – previously it only existed inside the Requests tab, so you had to go looking for it. The card is not rendered when there is no active incident. Extends S-013.CHANGEIvan, 13 Jul 2026 · spec · wf
Requests (creation, detail, cancellation)
Q-001Request typesFour types: installation, change, decommissioning, custom task. Change requests selectable only after installation completes. Multiple simultaneous requests allowed; conflicting combinations left to user judgment – no system validation.CHANGENotes; M4 · spec · build
Q-002Request completionA request completes only when all its tasks complete. NEW: when the last task completes, alert the user and prompt to close the request (same user can do both); request stays open only if explicitly chosen.NEWNotes; M4 · spec · build
Q-003Default task setsEvery request type carries an auto-added default task set, configurable per client in Administration together with an SLA per task. Custom tasks can be added; non-applicable defaults can be immediately marked complete.CHANGENotes; M4 · spec · build
Q-004Pick stock / installer flowInstallation requests add a "pick stock" task. Process rethink: pick stock first; when an installer is picked, a stock transfer request is auto-initiated if their van (secondary store) lacks the item. Stock is reserved on pick (preventing allocation conflicts) and assigned to the client only on task completion.NEWNotes; M4, M8, M10 · spec · build
Q-005Assigned / Responsible"Assigned" = person doing the job; "Responsible" = department manager. Ghost persons (e.g. "installation team") no longer allowed – a real responsible person is assigned and the system stores their user group/team (chosen from all groups the person belongs to). NEW: each task type maps to a single role, filtering who can be assigned.CHANGENotes; M4 · spec · build
Q-006Next action date / Cause"Next action date" becomes an SLA-derived window – not user-picked; show the latest date. "Comment" is just notes. "Cause" removed ("we already know!").CHANGENotes; M4 · spec · build
Q-007Request detail wording"Allocated" stock → "reserved". "Task history" → "Tasks". Notes move to the task level: a task may have multiple notes (different people may work it); notes record creator/editor.CHANGENotes; M4 · spec · build
Q-008On hold (task-level only)On-hold extended to all tasks, with reason, person, date placed and a review date. Hold is task-level only (revised 02 Jul 2026): a request is never held on its own – holding a task automatically puts its whole request on hold and pauses the SLA; only a task can be resumed, which takes the request off hold. A query lists all on-hold tasks; My Work shows the user's holds with review dates.CHANGENotes; M4 · spec · build
Q-009Task linksAbility to store third-party URLs against a task.NEWNotes; M4 · spec · build
Q-010Complete / cancel reasonsComplete reason optional or free-form (omit for completed requests); cancellations require a predefined reason. Admin: cancellation reasons must map to standard categories so the system "knows" the reason (cost / gone into care / no longer required / …).CHANGENotes; M4, M5 · spec · build
Q-011Request cancellationOn cancel, stock is automatically disassociated from the customer and becomes spare (possibly in a secondary store). Completed requests cannot be cancelled – create a change request instead. Partial removal of stock supported (incomplete installations release unused items). Full cancellation process: to discuss.TBDNotes; M4 · spec · build
Q-012"Change equipment" renameThe Change request type is renamed Change equipment across the New-request form, type filters and request detail – clearer that the type covers equipment exchange / add / remove / battery, not a generic change.CHANGEIvan, 19 Jun 2026 · spec
Q-013New-request form: Type+Priority first, progressive disclosureType and Priority are the first two fields. For a new request only Type, Priority, Title and Details show initially; the type-specific fields, default task set, channel and cross-user option are revealed once a type is chosen. No type is pre-selected.NEWIvan, 19 Jun 2026 · spec
Q-014Requester from contacts or free-formThe Requester can be selected from the service user's contacts (Circle of Care, S-011) or entered as a free-form name + phone for a one-off caller. Replaces the bare Mark-flagged text field.NEWIvan, 19 Jun 2026 · spec
Q-015Day-aware assignment, schedule picker & what3wordsAvailable assignees are filtered to who is on shift the selected visit day. The operator can open the schedule and assign a person directly from their free slots; the booked date/time is then shown under the assignee. what3words can be picked from the property's saved squares or chosen on a map. (Full distance-ranked / route assignment returns with Scheduling, C-004.)NEWIvan, 19 Jun 2026; M4 (what3words) · spec
Q-016Unified request detail; tasks delete/reassign/reschedule; SLA & bookingOne canonical request-detail layout – the detail opened from a profile's Requests tab is identical to the one from the all-Requests console (file 14). "Next action by" is replaced by the SLA target plus who the work is booked on and when. Tasks can be deleted, reassigned and rescheduled (audited) from the detail and the task panel.CHANGEIvan, 19 Jun 2026 · spec · spec2
Q-017Links: Tunstall reference library + auto-suggestBeyond third-party URLs (Q-009), a link can point to an existing document/guide in a Tunstall reference library (searchable picker, type filter). Relevant guides are auto-suggested from the request type and affected equipment.NEWIvan, 19 Jun 2026 · spec
Q-018Cross-service-user / linked-agreement requestsMultiple requests may exist for the same property or via a linked agreement. These linked requests are indicated within each service user's request details (Requests tab + detail). On creation, an option applies the request to all service users involved, creating the paired linked request.NEWIvan, 19 Jun 2026 · spec · spec2
Scheduling
C-001Scheduling sectionKeep the section name (replace "bookings" wording). Adopt NSM functions/look. Home page of the section = the bookings page. Subpages: Roster, Daily Planner, Daily Planning (consider combining the last two).CHANGENotes; M8 · spec · wf · build
C-002Roster changesWhen a roster changes (e.g. sickness), workflow pages help reassign all affected tasks – the "Reassign affected work" flow lists each affected task with its own assignee selector (plus set-all / auto-distribute by travel).NEWNotes; M8 · spec · wf · build
C-003Scheduler filteringFilter the scheduler by task type (e.g. assessments only).NEWNotes; M5, M8 · spec · wf · build
C-004Scheduling (SaaS4)Weakest-scored module (2–4/9). Demands: recurring tasks; sick/holiday/training entries; shift-pattern integration (MS Teams/O365); outfield staff access with accept/reject + push notifications; route planning by priority and travel time; full client name/address in planner. Treat as priority backlog for this module's design.NEWSaaS4 review · spec · wf · build
C-005Per-job-type durationsConfigure how long each job type should take (and per T-shirt size, C-006). The scheduler uses it to lay out lanes and pre-fill the visit duration. Configured per organisation in Administration.NEWClient (major), 23 Jun 2026 · spec · wf
C-006T-shirt job sizingClassify jobs by size – S / M / L / XL – for the Tunstall team. Size combines with the job type to set the expected duration (C-005) and shows as a badge in the queue, board and outfield app.NEWClient (major), 23 Jun 2026 · spec · wf
C-007Tray aging / wait timeShow how long a job has been sitting in the tray; escalate its colour (green → amber → red if not accepted within an hour) so stale, un-actioned work surfaces.NEWClient (major), 23 Jun 2026 · spec · wf
C-008Available-jobs pool (self-accept)Jobs can be offered to a shared pool; any on-shift team member can accept one, which moves it into their own queue (pull model alongside dispatcher push).NEWClient (major), 23 Jun 2026 · spec · wf
C-009Self-service reassignmentAssignees can reassign / hand over their own jobs to another on-shift colleague themselves – no dispatcher needed; the colleague is notified.NEWClient (major), 23 Jun 2026 · spec · wf
C-010Recurring appointmentsRepeat an appointment or a whole week's schedule (e.g. the same schedule again next week); each occurrence is auto-created. Extends the recurring-tasks ask in C-004.NEWClient (major), 23 Jun 2026 · spec · wf
C-011Microsoft Teams integrationRequired: sync shifts & bookings to Teams / Microsoft 365 calendars, push jobs as Teams notifications, and accept/reject from within Teams. Strengthens the shift-pattern sync in C-004.NEWClient (major), 23 Jun 2026 · spec · wf
C-012Gender-restricted visitsService users can carry the keyword "Visits by females only" or "Visits by males only" – their tasks may only be assigned to staff of that gender. The Scheduling board marks restricted tasks; assigning a mismatched responder raises an explanatory popup that still lets the planner proceed (override audited). Auto-schedule respects the restriction, and the schedule/reassign/add-task people lists make only allowed-gender staff selectable (refined 02 Jul 2026 PM); the drag-drop override popup remains for edge cases.NEWIvan, 02 Jul 2026 · spec · wf
C-013Responder pairing (bind two schedules)Administration can bind two Responders for a period (shared van, partnership or training) and later unbind them (confirmation popup, audited). While bound their schedules stay aligned; the Daily-Planning board shows the pair as one shared lane ("A + B" with a Paired chip), booking on it books both, and the Roster shows a Paired chip on both people. Binding now checks for time-overlapping bookings – a popup lists them and offers "Unschedule those & bind" or cancel; each pair records a home-base address (where the shared day starts/ends); the Calendar shows the pair on one double-height row; a partner on leave is shown crossed-out on the shared lane (refined 02–03 Jul 2026).NEWIvan, 02 Jul 2026 · spec · wf
C-014Multi-person tasksTask creation gains a "People required" field. A multi-person task must align all attendees: each can reach the address at ~the same time (the latest natural arrival sets the shared start; earlier arrivals wait), each is available for the full duration, and travel is calculated to/from each person's own separate other tasks. The board flags tasks still short of people and offers a second-responder picker with per-person arrival estimates.NEWIvan, 02 Jul 2026 · spec · wf
C-015Handover – next-shift orientationHandover moves under My Work. Each entry carries a toggle: "Inform next shift" (shown prominently to the incoming team) vs "Log for everybody"; a To do contribution type is added. The previous-shift summary has an Acknowledge button (inactive once pressed, audited); until acknowledged the nav shows an unread indicator and Home + My Work show a warning linking to the Handover. The page is two equal columns: left = previous shifts (each shift's summary on top of its issues; the latest carries the Acknowledge button, older ones show who acknowledged them); right = Current shift (issue logging, the End of shift Summary with autosave – no draft button – the shift's logged issues with per-entry delete-with-confirmation, and Finalise below). Formatting bar: bold/italic/bullets. (Refined 03 Jul 2026.)CHANGEIvan, 02 Jul 2026 · spec · wf
C-016Rotating schedules (up to 4 weeks)A person's custom schedule is built as week blocks: the filled-in week is "Week 1" and an "Add a week" button appends Week 2–4; the whole set repeats indefinitely as an N-week rotation (weekly for a single week), so rotating shift patterns roster in one step. The Roster's person popup offers a matching "Personal Schedule" type (no fixed start/end – hours come from the rotation). (Refined 02 Jul 2026 PM.)NEWIvan, 02 Jul 2026 · wf
C-017Roster access privilegeViewing and editing the roster are separate privileges: everyone signed in can view; only authorised roles (Administrator always; Supervisor/Dispatcher/Team leader configurable) can edit. A person can also be removed from the roster from the shift-pattern popup (confirmation; booked work released for reassignment).NEWIvan, 02 Jul 2026 · wf · wf
C-018Uncompleted-task release timingAn admin setting controls when uncompleted tasks are released back to Unscheduled after a shift ends – immediately / at midnight (default) / 24 h / 48 h – rather than always immediately at shift end. Released tasks carry the existing "Released" badge and reason.NEWIvan, 02 Jul 2026 · wf
Inventory
I-001Stock itemsQuery lists all possible stock items regardless of stock level. Ability to define new product definitions. Use NSM pages for creating manufacturers and stock items (single page each). Static data creatable in place, visible at the correct level. Same stock associable with different part numbers.CHANGENotes; M6 · spec · wf
I-002Barcode scanningRead barcodes/QR codes (Tunstall or third-party stock) and map the data to database fields automatically; generic mapping functionality for manufacturers' tags; manual population fallback. (SaaS4: barcode via mobile phone, by outfield staff, strongly requested.)NEWNotes; M6, M7; SaaS4 · spec · wf
I-003Stock transferBetween any two stores of the same organisation. Transfer reasons addable in place (not only admin). Scan one or multiple products; search by name and serial number; further filter by serial. "View basket" shows count + list (fixes current bug where not all items display). Confirm transfer at the bottom of the basket; success message shown.CHANGENotes; M6 · spec · wf
I-004Receipt confirmationReceiving store confirms receipt (Goods In lists items due); unconfirmed items return to the original store; stock unusable until confirmed. NEW: per-secondary-store flag requiring receipt confirmation; primary↔primary transfers always require it.NEWNotes; M6 · spec · wf
I-005Stock takeNEW: simple stock-take process – scan stock in a store; report shows correct items, missing stock and overstock (catches wrongly installed items).NEWNotes; M6, M7; SaaS4 · spec · wf
I-006Goods InScanning auto-populates item data (currently doesn't). Stock arrives into primary stores only – but the single-primary-store limitation is removed (multiple primary stores allowed). Secondary stores can't receive goods directly; transfer is a separate step. Bulk goods-in from delivery notes requested (SaaS4).CHANGENotes; M6, M7; SaaS4 · spec · wf
I-007Store types & hierarchyNEW: introduce store types (van, maintenance, scrap, …) – currently names are plain text. Primary stores send/receive to manufacturers (incl. cleaning/maintenance and scrap stores); secondary stores send/receive to service users and primary stores; sub-stores supported; secondary stores map to engineers who may only use their own store's equipment. Clients receive stock only from secondary stores.NEWNotes; M6, M7 · spec · wf
I-008Returned / decommissioned stockFlow: customer premises → secondary store → quarantine store (clean/check/reprogram, with tasks for cleaning/reprogramming/servicing) → primary stock or scrap. Decommissioned equipment flagged and unusable until serviced. Programmatic state flags ("outgoing", "incoming", "cleaned", …).NEWNotes; M7, M9 · spec · wf
I-009Faulty item exchange / manufacturer returnsFaulty items exchanged with good ones immediately, then sent for repair from a primary store; on return they join the new/refurbished pool. Items with a manufacturer are flagged as such; replacements come in as new items.KEEPNotes; M7, M9 · spec · wf
I-010Scrap storeCurrent scrap store = ghost stock piling up 4+ years. Need purge capability and visibility of scrapped stock value over the past 6/12 months.NEWNotes; M7; SaaS4 · spec · wf
I-011Task allocation vs stockWhen tasks are allocated, tie requests to the stock availability of the engineer's store. (To define – links to Q-004.)TBDNotes; M6 · spec · wf
Operational Reports
P-001Report scopingAll reports scoped to the logged-in user's customer level: authority, ARC, region, global (multi-customer logins for engineers/support). Confirm what multi-tenancy PTL delivered in the ILOS ARC (26 May).CHANGENotes; M5 · build · spec · wf
P-002Report platform featuresSchedule reports for a date and email users a link. Search "as of" a date (requires change dates on everything). Key requirement: custom reports per customer querying any data. Column show/hide starts from most-used; browser remembers per-user selections.NEWNotes; M5 · build · spec · wf
P-003Assessment Next Review DateAids planning – possibly moves to Scheduling/planning. Click through to the previous assessment. NEW: search a date range around expiry (week/month planning); search the auto-generated review tasks. If moved, keep an exportable report and ensure the scheduler can show assessment schedules only.CHANGENotes; M5 · build · spec · wf
P-004Cancellation Reasons reportNot needed as-is – split into two: a Referral report (referrals received / converted / rejected with reasons) and a Request report.REMOVENotes; M5 · spec · build · spec · wf
P-005Request report (new)Merges 4 reports: request cancellations, Request Cause & Resolution, Requests vs Targets, Incidents. Shows original request and final outcome (resolution from admin-defined list); filter by request type (e.g. urgent); SLAs shown where set up.NEWNotes; M5 · build · spec · wf
P-006Service agreements report (new)One flexible query over agreements + their services, replacing Flexible Services History, Flexible Services Trouble Shooting, Service Agreement reports up to Services Active Between Given Dates. Filter service users by feature (e.g. responder service, private pay). Design TODO – maybe sub-queries. Addresses customer complaint: too many reports merged manually in Excel.NEWNotes; M5; SaaS4 · build · spec · wf
P-007Stock report (new)Merge of all stock reports. Shows what's in stock, where, expiry dates (battery/warranty), current stock value. NEW: generate a battery-replacement change request from the report. Recommended re-order level from min/recommended levels, weekly usage and delivery time (SaaS4: with manager approval). Missing-stock view included.NEWNotes; M5; SaaS4 · build · spec · wf
P-008Stock transfer history / Task SLA / Termination reasonsStock transfer history → replaced by a new Audit report (all tracked activities). Task SLA and Termination Reasons reports absorbed into the Request report.REMOVENotes; M5 · build · spec · wf
P-009Copy the whole dashboard as one imageEvery report keeps its per-chart "Copy image" action and gains a "Copy dashboard" action that renders every KPI card and every chart on the report into a single shareable image – with the ILOS header, the filters actually applied, and the values baked onto the charts. Copies to the clipboard where the browser allows it, otherwise downloads a PNG. For pasting a whole report picture into a board pack or an email in one action rather than chart by chart.NEWIvan, 13 Jul 2026 · spec · wf
P-010Popups must survive in-app zoomDefect. The report Export menu did not open where the button was (and so appeared not to work) whenever the page was zoomed in. Root cause: the in-app text-size control sets zoom on the root element, so client rects come back in visual pixels while the popup lays out in unzoomed ones. Fixed centrally in shell-a11y.js (uiRect/uiVW/uiVH); the same bug affected the shared Columns popups and the styled tooltips on every page, and all are now zoom-aware. Standing rule: never position a popup from a raw getBoundingClientRect() – always go through the shared helpers.CHANGEIvan, 13 Jul 2026 · spec · wf
Cross-cutting customer asks (SaaS4 – secondary input)
X-001RAG/SLA status colouring is liked – keep and extend (push/notification when SLA approached or breached; prompts for incomplete steps before proceeding).KEEPSaaS4 review · build
X-002Left menu with direct access to key functions is liked; breadcrumbs/path-tree requested over the back button.KEEPSaaS4 review · build
X-003Friends & Family app: contacts self-manage their data (phones, address, availability) and view history overview. Referenced by R-003 (post-agreement referral edits).NEWSaaS4; Notes M2 · build
X-004Integrations repeatedly requested: DMP (view data / suspend SIM on scrap/loss), Power BI / raw data access, Mosaic, Liquid Logic, CM2000, finance export. Mobile app for outfield staff (notes, signatures, offline).TBDSaaS4 review · build
OQ-SH1Open question – roles & menu visibility. The wireframes demo a menu-level role model (Coordinator, Dispatcher, Responder, Assessor, Store keeper, Admin) via the drawer’s "View as role" control. Tunstall to confirm the role list and the section mapping before build; per-widget permissions are out of wireframe scope.TBDIvan, 10 Jul 2026
OQ-MSG1Open question – bulk SMS guardrail (proposed, to confirm). When a message goes to a team or a large audience over SMS, the compose flow shows a live recipient count and estimated cost, and swaps Send for Request approval above a platform-set threshold (configured in Administration). Prompted by the M4 Dumfries note on accidental bulk sends. Tunstall to confirm the threshold and the approver.TBDM4 · Ivan, 10 Jul 2026