Tenant guide for Support → Help — report bugs, send feature requests, and track My Tickets — so Academy docs and What's New stay aligned with product feedback.
NewPlatform
Academy topic — Support Tickets (report a bug, request a feature, track My Tickets).
Status reference — friendly bug and feature labels (Reported, Under Review, Shipped, Declined).
Explanation — when to file a bug vs a feature so triage and release notes stay accurate.
Method A screenshots — real Support pages with fixture tickets (My Tickets, forms, detail, nav).
ImprovedAcademy
Platform sidebar includes Support Tickets next to product versioning and Cloudflare routing.
Known issues. Full detail: docs/release-notes/2026-08-support-tickets-academy-v1-0-0.mdx.
1.5.0
“Claims Management Academy”5 August 2026
Claims Management joins Ailaaj Academy — operator guides for the corporate benefits console (dashboard, claims queue, adjudication, members, and organizations) with real UI screenshots.
NewClaims Management
Academy guide — dashboard triage, claims list filters, claim detail, create/process claim, members, organizations, plans, and panel hospitals.
Setup tutorial — create organization → panel hospitals → benefit plan before enrolling members.
Method A screenshots — real corporate pages rendered with deterministic fixture data.
ImprovedAcademy
Browse-by-module and sidebar include Claims Management alongside Clinic, POS, OMS, and WMS.
Known issues. Member onboard wizard detail screens will get dedicated how-tos in a follow-up. Full detail: docs/release-notes/2026-08-corporate-claims-v1-0-0.mdx.
1.4.9
“Auto missed sales at checkout”21 July 2026
When checkout clears out-of-stock items from the Smart Counter cart, those lines are automatically recorded as missed sales — the same demand log as the Missed dialog. Academy guides cover the new flow and reinforce intent-navigation paths.
NewSmart Counter
Auto missed sale at checkout — out-of-stock cart lines removed before payment are logged as missed sales (demand only; no stock change).
Toast confirms how many missed sales were recorded; review under Sell → Exception → Missed Sales.
ImprovedAcademy
Missed sale and checkout how-tos document the auto-record path alongside the Missed dialog.
Docs authoring rule: customer-facing paths use Intent → Section → Leaf from navigation_items / intentNavConfig.
Known issues. Manual Missed (M) is unchanged for notes or logging demand without checkout. Partial quantity caps (reduce qty to available stock) are not missed sales. Full detail: docs/release-notes/2026-07-smart-counter-auto-missed-sale-v1-4-9.mdx.
1.4.8
“Faster images & smoother busy hours”16 July 2026
Product photos and attached files now load through a faster global image network. The system handles busy periods more reliably, so staff are less likely to get locked out when many people use Ailaaj at once. Invoice uploads and a storefront product-loading issue are fixed.
ImprovedPlatform
Faster photos and files — product images and uploaded documents are delivered through a global content network, so pages feel snappier and put less load on the main system.
Smoother busy hours — when many staff and customers use Ailaaj at the same time, the system is less likely to slow down or block sign-in.
ImprovedPIMS
New product photos are stored with clear, readable names based on the product — easier to manage and better for the website.
Existing Ailaaj catalog photos were moved onto the new faster image network.
ImprovedStorefront
Online store product photos load faster for shoppers.
ImprovedGoods Received Notes
Supplier invoice and attachment uploads are stored on the new file network (more reliable opening and sharing).
FixedGoods Received Notes
Uploading a GRN invoice no longer fails with a confusing network error in some cases.
FixedPlatform
Online store product pages no longer fail to load when a system setting was left blank by mistake.
Known issues. Older on-server file storage is turned off but kept for safety if we ever need to roll back. Full detail for support teams: docs/release-notes/2026-07-platform-cdn-stability-v1-4-8.mdx.
1.4.7
“Clinic ops & notify-me”15 July 2026
Clinic CMS adds tag reports, patient-instruction presets, and a per-doctor SOAP section toggle on Configure fields, plus sequential MR numbers from practice codes. CS Command Center ships a Notify Me waitlist for out-of-stock storefront SKUs and a WhatsApp inbox with unread tracking. Login is fixed when browser storage is full, and storefront checkout blocks notify-only or discontinued products.
NewClinic CMS
Tag reports — filter visits by doctor tags with age bands and CSV export from Reports and Clinical Fields.
Patient instruction presets — reusable instruction snippets on Configure fields, applied in consultation with one tap.
SOAP section toggle — doctors can show or hide Visit summary (SOAP) from Configure fields without admin help.
Permissions no longer flash empty while rehydrating after tab return or navigation.
FixedAuth
Login when storage is full — signing in reclaims react-query cache and other regenerable local data so sb-api-auth-token can save; logout clears volatile caches to prevent recurrence.
FixedClinic CMS
Clinic access spinner no longer flashes on browser tab return.
Header quick actions respect subscription modules (clinic vs retail).
Legacy consult completion flags map correctly for New vs Follow-up visits.
FixedStorefront
Checkout blocks notify-only and discontinued SKUs; credit sale hidden where not applicable.
FixedPOS
Sale return dialog accepts POS return permissions.
FixedPIMS
Putaway page layout refinements.
Notify-only product toggle stays in sync after save.
FixedReports
Reorder suggested quantity uses remaining cycle days only.
FixedCS Command Center
WhatsApp and CS routes handle object-shaped role permission payloads.
Known issues. Notify Me requires storefront notify-requests migration on each environment. MR reseed is a one-off legacy migration — new practices allocate from practice code automatically. SOAP and voice dictation defaults are per-doctor settings on Configure fields.
1.4.6
“Catalog & transfers refresh”9 July 2026
Clinic CMS ships as the outpatient module with dashboard, appointments, queue, consultations, OPD billing, and a full Academy guide. Categories gets a KPI strip, five-column tree, and CSV import with a full Academy guide; large taxonomies load past 1,000 rows. Products list and editor are redesigned with async KPIs, Quick Add, sidebar-tab editor, and a new Products guide. Stock Transfers is action-first with Needs your action, triage pills, attention-only review, quick date filters, and a new guide.
NewClinic CMS
Outpatient module — dashboard, appointments day board, queue, consultation workspace, OPD invoices, and token/Rx printing under Clinical → Clinic CMS.
Practice setup — Settings clinic practices, locations, staff assignment (doctor/reception), Rx templates, consultation slots, fees, and OPD procedures.
Doctor tools — clinical fields, tags & favourites, diagnostic presets, and procedure suggestions in consultation.
Clinic CMS Academy guide — Diataxis tutorials, 22 how-tos, reference, and 30 screenshot scenes.
NewCategories
CSV category import — page-header Import wizard for up to four hierarchy levels with preview and validation.
Categories Academy guide — Diataxis how-to, tutorial, reference, and screenshot gallery.
ImprovedCategories
Categories page redesign — KPI rail, five-column tree, status filter, and kebab row actions aligned to the handoff.
Accurate product counts on tree rows and delete dialog via paginated aggregation.
FixedCategories
Large category trees — tenants with 1,000+ categories load fully (PostgREST pagination fix).
NewProducts
Products Academy guide — list, Quick Add, editor, filters, export, hub sync, and Sticker Printer screenshots.
ImprovedProducts
Products list redesign — compact header, async KPI strip, toolbar/filters card, status pills, and sticky table header.
Quick Add — sectioned dialog with margin badge, Save & add another, and Create & continue.
Product editor — sidebar tabs, completeness ring, metadata chips in header, full-width layout; tab builder on Storefront tab.
Row actions streamlined — catalog view via product name; Quick edit, Edit, and Delete remain.
NewStock Transfers
Action-first layout — Needs your action (open transfers) and All other transfers (closed) with independent pagination.
Triage bar — Awaiting dispatch, In transit / receiving, and Needs review pills with live counts.
Attention-only view — Needs review and Filters toggle show flagged mismatches only; open-action section hides.
Stock Transfers Academy guide — triage tutorial, how-tos, and screenshot gallery.
ImprovedStock Transfers
Quick date presets — Last 7 / 15 / 30 days chips beside active filters; Last 15 days added inside Filters.
Locations and Filters popovers — source/destination by store, status, type, product, attention, and custom date range.
Active filter chips with session + URL persistence; Review primary action on any attention-flagged transfer.
Known issues. Products list pagination remains 20 rows per page; KPI counts are tenant-wide. Sticker preview/print requires allowing browser popups. Stock Transfers dispatch/moving triage pills focus loaded rows; Needs review uses a server filter. Clinic OPD billing is separate from retail POS/FBR; doctors need clinic role plus practice assignment.
1.4.5
“GRN quick filter”6 July 2026
GRN processing adds an inline filter to narrow loaded line items by product name or SKU, and defaults quantity entry to Pack with per-row Unit/Pack toggles unchanged.
ImprovedGoods Received Notes
Inline item filter — search box above the items table filters already-loaded lines by name or SKU; shows visible vs total count while filtering.
Pack entry by default — PO-loaded, draft-restored, and new rows start in Pack mode; each row keeps its own Unit/Pack toggle.
Known issues. Filter matches product name and SKU only, not batch number.
1.4.4.1
“PO pricing parity”6 July 2026
Purchase Order line pricing is consistent across create, edit, view, and print — cost-based discount drives totals, margin shows two decimals, and discount % no longer drifts when focus leaves the rate field.
FixedPurchase Orders
Discount % drift — entering 5% and tabbing away no longer rewrites to 5.002% when the rate column displays two decimals.
Line totals with discount — items table uses cost × (1 − discount%) so tax, margin, and line total match GRN-style pricing.
View and print — PO view and list print use the same pricing helpers as the form.
Margin on PO lines displays two decimal places.
1.4.4
“KPI cadence alerts”4 July 2026
Reports v2 KPI cadence breaches now reach staff in the notification bell and by email (SMTP), with a tenant-scoped Recipient & Escalation Library. Goods Received Notes processing is clearer and stricter on quantities and payment filters.
NewReports
KPI cadence alerts — when a KPI breaches its threshold, admin-assigned recipients get an in-app notification (KPIs chip in the bell) and optional email via the shared SMTP relay.
Recipients per KPI — assign a tenant role or user with In-app and/or Email channels from the KPI Recipients tab (same roles as Admin → Access → Tenant Role Management).
Drill-through from the bell — open the KPI’s report route or Exception Center from the alert.
ImprovedReports
Recipient & Escalation Library — lists only this tenant’s roles, shows members from User Role Assignment (users_roles), and which KPIs use each group.
KPI email delivery runs on a 30-minute schedule (in-app alerts are still immediate).
Operational KPIs — HMS demand hour row and hospital orders label renamed to Orders.
ImprovedGoods Received Notes
GRN processing UI refinements — clearer Save-GRN flow and Goods Received guide updates for staff.
FixedGoods Received Notes
Bonus and quantity validated as whole units with pack preview so partial packs are not saved incorrectly.
Payment mode filter on the GRN listing applies correctly when narrowing the list.
Known issues. KPI email may arrive up to 30 minutes after a breach while the dispatch cron runs; in-app is immediate. WhatsApp KPI alerts and escalation tiers remain out of scope.
1.4.3
“Purchase return reliability”23 June 2026
Large purchase returns complete reliably — batched stock lookups, all-or-nothing validation (including reserved qty), highlighted problem rows, and a save progress dialog so staff see validating, saving, and stock-update steps.
FixedPurchase Returns
Batched inventory lookups — completing 100+ line returns no longer hits gateway 502/CORS failures from oversized stock queries.
All-or-nothing stock validation before complete — available qty includes reserved stock; duplicate lines on the same batch are aggregated; no partial quantity_out updates when validation fails.
Problem rows highlighted on edit with per-product stock messages; WMS error toasts restored when save fails.
ImprovedPurchase Returns
Save progress dialog on create and edit — phase label, X / Y counter, percentage bar, and step message (e.g. Saving item 45 of 139…); non-dismissable while save runs.
Save button shows Saving… and stays disabled until the operation finishes.
Known issues. Very large completes (100+ unique batches) can still take about a minute — progress is visible but total time is unchanged until stock updates are batched server-side.
1.4.2
“Stock transfer attribution”23 June 2026
Stock transfers now record who cancelled an STR on the transfer record — same pattern as created, dispatched, and received — with a staff activity timeline on the view page, order-view attribution after cancel, and a four-column print layout.
ImprovedStock Transfer
Cancelled By and Cancelled At on every STR — manual cancel, zero-stock dispatch, and rider zero-confirm all persist the acting user on the parent transfer row.
Transfer activity timeline — (i) icon on the STR view page shows who created, dispatched, received, or cancelled the transfer and when.
Order view STR list shows who cancelled a transfer and when after cancel from the order page.
Print layout — Created, Dispatched, Received, and Cancelled attribution boxes print on one row.
FixedStock Transfer
Historical cancelled STRs backfilled from audit logs where a cancel transition was logged; new cancels from the STR view or listing always set cancelled_by.
Known issues. Very old cancelled STRs with no audit log may still show Cancelled By as blank until manually corrected.
1.4.1
“Dispatch badges & polish”22 June 2026
Printable Dispatch Station rider badges from tenant_riders, Orders Management product-picker filters, Ailaaj One invoice address on Bill to, and Academy link fixes so /docs/ cross-guides resolve.
ImprovedDispatch Station
Printable rider badge card — name, phone, vehicle, warehouses, Ailaaj logo, and dispatch QR; opens from Admin → Operations → Shipping Methods (Riders tab) and loads live data from tenant_riders for a 4×6″ print layout.
FixedDispatch Station
Rider badge reprint reflects the latest Edit Rider row — badge fields are fetched from the database each time you open Rider QR.
ImprovedOrders Management
Product picker filter on the Orders list — select a catalog product by UUID instead of free-text search; removable chips for every active filter and aligned compact toolbar controls.
FixedOrders Management
Product filter matches order_items by product_id when a catalog product is selected, with SKU fallback for legacy lines.
ImprovedAilaaj One
Platform billing invoice print — Bill to can include the tenant primary store address alongside name and admin email.
ImprovedAcademy
Docs build rewrites and validates relative guide links after Astro build so /docs/ cross-links resolve on deploy.
1.4.0
“Dispatch Station”19 June 2026
A public dispatch kiosk for hospital runners — scan a badge, claim packed bags from the rack, start an own-fleet trip with a thermal sheet, and close at the warehouse wall QR with ward delivery credit and Ref# on every line.
NewOrder Management
Dispatch Station at /dispatch — three-step kiosk: identity → claim → start trip; works as a standalone URL or Sell → Dispatch inside the app.
Live Dispatch Board — Reports v2 supervisor view: rack backlog, trips out for delivery with wards, STAT pressure, On the rack supervisor tab, 7-day date range + search + pagination, and returned trips.
Academy screenshots for Dispatch Station and Live Dispatch Board use real shipped components with demo fixture data in the docs gallery (no live tenant data).
Rack claim board — Yours / Available / Taken tiles with Ref# (source reference), patient, MRN, ward · bed, and cold-chain markers.
Trip sheet — thermal print + preview lists each picklist; TRIP-XXXX label and CODE128 barcode for re-entry.
End trip — warehouse wall QR closes the run; picklists marked delivered with Handed to {ward} and exact delivery timestamp.
Dispatch APIs — identify, packed-picklists, resolve-picklist, start-trip, end-trip under api/dispatch/.
ImprovedOrder Management
Scanner vs Camera mode remembered per kiosk browser; Scan another bag focuses the picklist input.
Clear errors when a bag is already on another runner's trip (not "not packed yet").
Known issues. Kiosk PC needs a default receipt printer for trip sheets. Re-entry only works while the trip is still active.
1.3.5
“Stage heatmap”18 June 2026
Operational KPIs gains an hour-of-day heatmap — see load and crew by stage and hour, open hour detail, and export Load / Crew / Load·op views to Excel or PDF.
NewOrder Management
Stage ledger heatmap on Operational KPIs — 24-hour grid with shift colours, Load / Crew / Load·op views, and click-through hour detail.
Heatmap export — Excel workbooks and PDF with view picker; row reorder and hide with saved layout.
ImprovedOrder Management
Crew day totals use distinct operators across the filter period (footer and row Day column), not a sum of hourly headcounts.
Invoice creation and refunds attribute operators in Crew view; refunds hourly load repaired when compact RPC omits buckets.
FixedOrder Management
Heatmap footer Day operator total no longer double-counts the same person across hours when the period unique count is available from the API.
Known issues. Hourly footer cells still show distinct operators for that hour only; Day column shows period-unique staff. Apply four heatmap SQL migrations on dev and prod after deploy.
1.3.4
“Operations Intelligence”17 June 2026
Two new Reports v2 screens for ops managers and warehouse leads — see how much work flows through each fulfilment stage by warehouse and hour, and which staff handled punch, pick, pack, dispatch, and delivery.
NewOrder Management
Operational KPIs — a fulfilment pipeline (punch → pick → pack → dispatch → deliver), hourly and daily load charts by store/warehouse, and Excel export for shift planning.
Operator Productivity — a staff × stage matrix with order or SKU view, role colours, idle filter, and PDF/Excel export for shift reviews.
Dispatch and delivery credit on picklists — who handed off to the rider and who delivered is stored going forward; historical picklists were backfilled where the system had enough data.
ImprovedOrder Management
Picking load on Operational KPIs now matches real picking activity (picked lines), not an unused picklist timestamp.
Operational KPIs and Operator Productivity use the same stage definitions so volume and staff credit tell one story.
Hover hints on pending lines and pipeline stages explain what is being counted.
FixedOrder Management
Operational KPIs no longer showed zero for picking when picklists were actively being picked.
Operator Productivity no longer crashed on load when summary totals were still fetching.
Known issues. Some manual/HMS steps (SKU mapping review, ward liaison, QC sign-off) still show as Not tracked until those workflows are wired. One very old picklist may lack a dispatcher when no pack note exists — new dispatches record the signed-in user.
1.3.3
“Purchase Orders”15 June 2026
A major upgrade to Purchase Orders on the Replenish Stock module — a redesigned list, create, and view, plus demand projection that suggests what to buy, in-platform send to suppliers over WhatsApp or email, and CSV bulk import.
NewPurchase Orders
Demand projection suggests order quantities from the forecasting engine's seasonality-aware sales velocity, combined across the stores and warehouses you choose.
Send to supplier over WhatsApp (click-to-chat) or email, or download the supplier PO as a PDF — no integration to set up.
Bulk import — create many purchase orders at once from a CSV (one per supplier).
ImprovedPurchase Orders
Redesigned list, create, and view — a KPI strip, status pills, and a Draft → Pending Approval → Approved → Completed timeline; the KPI tiles follow the active store, warehouse, supplier, and date-range filters.
Editable line pricing — Discount % and Purchase Rate stay in two-way sync; net margin follows the pharmacy convention (trade margin + supplier discount).
Approving is now a two-click action from the list — open the inline editor, then Save and approve.
FixedPurchase Orders
A purchase order can't be approved until it has at least one line item, and an approved PO is locked from editing to protect receiving.
Number inputs no longer keep a stuck leading 0, and clearing a line's quantity no longer deletes the row.
Known issues. Only products with sales velocity get a projection suggestion (new SKUs have none); a well-stocked product suggests 0 until its cover falls below your target days.
1.3.2
“CS Store WhatsApp”12 June 2026
CS Command Center staff message customers on the linked store WhatsApp line; platform admins connect Evolution per store; tenant owners toggle notifications — with calmer background queue sync.
NewOrder Management
Per-store Evolution WhatsApp inbox — platform admins link an instance to each storefront store.
CS Command Center human chat sends and receives on the linked store WhatsApp inbox — not the Ailaaj One AI Bot used for marketing automation.
Tenant store settings — turn WhatsApp notifications on or off per store without exposing API credentials.
ImprovedOrder Management
CS Command Center queue sync runs about once a minute while idle; tab switches no longer trigger a full reload.
Storefront warehouse and domain lookups are cached locally after first load.
FixedOrder Management
L1 admin CS chat auth resolves tenant from the active store.
WhatsApp chat history loads on Evolution instances where per-thread message filters return empty.
Known issues. Link the store in Admin → Tenant stores before CS chat uses that inbox; first open may take 1–2s while the thread is resolved.
1.3.1
“Smart Counter”12 June 2026
A polish pass on the in-store sale screen — clearer till picker and End Session flow, a tidier cart and checkout, calmer out-of-stock handling, and fixes for session state after close.
ImprovedSmart Counter
Till picker — clearer store and warehouse selection, till cards with Open · your session, Free, In use, or Maintenance, and one-click resume or join on shared tills.
Opening balance pane — pre-filled from that till's last closing balance, with quick-amount chips and an optional opening note.
End Session cash reconciliation — clearer ledger, count by denomination or enter a total, Smart Validate, and ± Rs 10 balanced tolerance.
Focus mode — hide app chrome for high-volume cashiering (F11 or Ctrl/Cmd+Shift+F).
Check other warehouses — on an out-of-stock line, see which peer locations still have stock.
Show / Hide Counsellor — collapse the AI panel to give the cart more room; preference is remembered.
Cart and quick-add bar — cleaner line layout, trade-up ribbons, and keyboard navigation (⌘K command palette).
Out-of-stock lines — calmer styling with a Counsellor-forward substitute prompt instead of a hard dead-end.
Checkout, hold sale, coupon, customer search, recent sales, and returns — restyled to match the counter chrome.
Customer attach — search, select, or create a customer inline in the order summary row.
After End Session — return to the till picker with refreshed till cards instead of a stuck or blank screen.
FixedSmart Counter
Till picker no longer stays on Open · your session after a close, and resume no longer loops when the session has ended.
End Session no longer flags an exact cash count as over/short because of rounding.
Check other warehouses now excludes the active till's warehouse instead of repeating it.
Known issues. Classification runner v2 ships separately for suggestion quality; no cashier workflow change required.
1.3
“Smart Counsellor”8 June 2026
The AI selling layer on the Smart Counter — margin-ranked up-sell with clinical safety locks, a counter-wide substitution menu, “frequently bought together” cross-sell, and a way to report a wrong suggestion.
NewSmart Counsellor
Trade-up ribbon surfaces a higher-margin equivalent under a cart line, with a ranked “+N options” popover and a Best-value pick.
Substitution menu turns an out-of-stock line amber and offers in-stock equivalents, ranked same molecule → different strength → same class.
Cross-sell rack surfaces “frequently bought together” items from the pharmacy’s own 90-day sales.
Report a recommendation lets a cashier flag a wrong suggestion without ever affecting the sale.
ImprovedSmart Counsellor
Up-sell ranks by gross margin, not the cheapest price — no ribbon shows unless the pharmacy earns more.
Clinical safety locks added: route/form and immediate- vs sustained-release are never relaxed.
FixedSmart Counsellor
Out-of-stock items are no longer suggested as trade-ups.
Misclassified products no longer pollute suggestion groups.
Known issues. Combo-drug secondary strength is not yet locked.
1.2
“Order Management”4 June 2026
Order-to-cash for every channel — capture orders from the counter, phone, WhatsApp, hospital, your own website and Shopify, then confirm, reserve stock, pick, pack, dispatch and invoice from one pipeline.
NewOrder Management
Multi-channel orders — counter, phone, WhatsApp, hospital, your own website and Shopify all land in one Orders list.
Execution: book stock (earliest-expiry first), reserve it against the order, and generate picklists.
Fulfillment pipeline — pick, pack, dispatch, then raise the sales invoice.
Pendings tracker splits unfilled lines into items already on the way (a transfer) vs. items that still need purchasing.
ImprovedOrder Management
Auto stock-transfer raises a transfer automatically when the fulfilling warehouse is short.
Incoming purchase stock can auto-transfer toward warehouses that have orders waiting on it.
Known issues. Stock transfers are created automatically, but a warehouse still dispatches and receives them by hand. Customer confirmation is by WhatsApp and email (no SMS yet).
1.1
“Smart Counter”3 June 2026
The in-store point of sale — search, cart and multi-payment checkout, till sessions, returns, FBR fiscal invoices, and the Rack Campaigns engine for promoting products at the counter.
NewSmart Counter
Smart Counter sale screen — product search and barcode, cart, and multi-payment checkout (cash, card, credit) with discounts and coupons.
Till sessions with opening and closing balances and cash in/out.
Hold and resume sales, a returns flow, and a missed-sales flow.
FBR fiscal invoicing when the pharmacy’s FBR is configured, with thermal and A4 invoice printing.
Rack Campaigns — promote chosen products at the counter with staff incentives, audience rules, and Commercial Selling reports.