Home / Help Center / pos-app-garment / garment / Garment Overview
📊 garment

Garment Overview

Garment Overview is the garment variant's home screen — it pulls open tailoring/alteration orders and saved customer measurements into one screen so you can start the day without opening two separate pages.

📍 Menu path: /garment/dashboard
👤 Who uses it: Owner,Manager,Staff

Overview

The page loads two data sources in parallel with Promise.allSettled — Tailoring Orders and Customer Measurements — so if one endpoint fails, the other still renders normally instead of the whole dashboard breaking.

Two banners at the top only appear when something genuinely needs attention: a green banner listing every order that is READY for pickup (with customer names), and a red banner counting orders whose delivery date has already passed.

Four stat cards (Open Orders, Due Today, Ready, Measurements) are each clickable and jump straight to Tailoring Orders or Customer Measurements.

An Order Pipeline strip shows a live count for PENDING, IN_PROGRESS and READY orders so you can see how work is distributed across the shop at a glance.

Below that, two side-by-side panels list up to 7 Upcoming Deliveries (any open order with a delivery date, soonest first since the underlying order list is already sorted by delivery date) and up to 7 Recent Measurements.

Before You Start

Step-by-Step Guide

1 Read the shop's status at a glance

  1. Look at the four stat cards: Open Orders (every order not yet Delivered/Cancelled), Due Today (open orders whose delivery date is today), Ready (orders in READY status), and Measurements (total saved measurement records).
  2. Click any card to jump to its source page — Open Orders, Due Today and Ready all navigate to Tailoring Orders; Measurements navigates to Customer Measurements.

2 Act on the alert banners

  1. A green banner appears listing the customer names of every order currently READY for pickup — check it each morning before opening the shop.
  2. A red banner appears counting orders whose delivery date has passed while the order is still open (not Delivered/Cancelled) — these need an apology call or a rushed finish.
💡 Both banners are purely conditional — if nothing needs attention right now, that banner does not render at all rather than showing an empty state.

3 Check the Order Pipeline

  1. The pipeline strip shows one pill per status — PENDING, IN_PROGRESS, READY — each with its live count, always rendered even at zero (unlike the electronics variant's pipeline, which hides empty statuses).

4 Review Upcoming Deliveries and Recent Measurements side-by-side

  1. The left panel lists up to 7 open orders that have a delivery date, each showing customer name, order number, garment type, and whether the delivery is Overdue, Today, or a future date with its status badge.
  2. The right panel lists up to 7 most-recently-saved measurement records, showing customer name, phone, and a short Chest/Waist summary where those values are set.
  3. Click "All →" in either panel header to jump to the full Tailoring Orders or Customer Measurements page.

Every Field & Button, Explained

Field / ButtonWhat it does
Ready-for-pickup bannerGreen banner listing customer names for every order currently in READY status; hidden entirely when there are none.
Overdue bannerRed banner counting open orders (not Delivered/Cancelled) whose delivery date has already passed; hidden entirely when there are none.
Open Orders cardCount of orders not in DELIVERED or CANCELLED status.
Due Today cardCount of open orders whose delivery date equals today's date.
Ready cardCount of orders currently in READY status.
Measurements cardTotal count of saved customer measurement records.
Order Pipeline stripOne pill per status — PENDING, IN_PROGRESS, READY — showing a live count; unlike the electronics dashboard's pipeline, statuses with zero orders are still shown rather than hidden.
Upcoming Deliveries panelUp to 7 open orders that have a delivery date, showing customer, order number, garment type, and Overdue/Today/date label with status badge; "All →" opens Tailoring Orders.
Customer Measurements panelUp to 7 most recently saved measurement records, showing customer name, phone, and a short Chest/Waist summary; "All →" opens Customer Measurements.

Tips & Best Practices

Troubleshooting & FAQ

The dashboard shows 0 for everything even though I have orders and measurements on file.
The dashboard only loads data once when the page opens — if you saved a new order or measurement in another tab, switch back to this page and reload it to see the update; there is no manual Refresh button on this screen (unlike the electronics dashboard).
One panel is missing data but the rest of the dashboard loaded fine.
Tailoring Orders and Customer Measurements are fetched independently with Promise.allSettled, so a single failing endpoint only empties that one panel rather than blocking the page — check your network connection and reload.
An order I marked Delivered is still counted in Open Orders.
Open Orders excludes only DELIVERED and CANCELLED statuses — confirm the order's status was actually saved as Delivered on the Tailoring Orders page, not left at Ready.
The Upcoming Deliveries panel is missing an order I expect to see.
It only lists open orders (not Delivered/Cancelled) that have a delivery date set, and shows at most the first 7 — an order with no delivery date, or one further down the list, will not appear; open Tailoring Orders directly to see everything.
I do not see any mention of Wishlist, Broken Size Sets or Markdown Rules on this dashboard.
This is expected — the dashboard only summarises Tailoring Orders and Customer Measurements. Wishlist, Broken Size Sets, Markdown Rules and every other garment feature (consignment brands, CMT challans, fabric bales, VIP tiers, etc.) have their own dedicated pages and are not reflected here at all.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/pos-app-garment/src/pages/garment/GarmentDashboardPage.jsx

Backend endpoints used:

  • GET /garment/orders
  • GET /garment/measurements

Related tables (db-core repositories):

  • GarmentOrder
  • GarmentMeasurement

Redux slices:

  • None — local component state only (useState/useEffect)

Feature flag key: billing

Both data sources are fetched with Promise.allSettled directly against /garment/orders and /garment/measurements (no separate /garment/dashboard endpoint exists). Notably this dashboard has no awareness whatsoever of Wishlist, Broken Size Sets, Markdown Rules, or any of the other 20+ garment-only endpoints registered in garment.routes.js (consignment brands, CMT challans, fabric bales, advance orders, size swaps, VIP tiers, season comparison, etc.) — a shop actively using those features will see none of that activity summarised here. This mirrors the same gap flagged in the electronics dashboard (which likewise ignores Trade-in and EMI data).