← All help topics

🧺 Dirty Queue

Count the dirty linen returning from each departure, then allocate it to your laundries.

The Dirty Queue is the backward twin of the Clean Queue. Both are driven by turnover check-outs: the Clean Queue looks forward (today + the next 7 days) so you pack ahead of each turnover, while the Dirty Queue looks back (today + the past 7 days) so you count the dirty linen after each departure has been made. Today’s check-outs match the Clean Queue exactly — on a turnover day you pack the clean bag (Clean Queue) and, once it comes back, count the dirty bag (Dirty Queue) for the same apartment. Earlier days are collapsed under Show earlier check-outs.

How to count a bag

  1. Click a property in the list to open its dirty bag.
  2. It’s pre-filled from the property’s In & Out list (assumed everything came back Dirty), plus any reservation extras (cot / high chair / extra bed, marked extra).
  3. For each item, use the −/+ buttons (or type) to set Dirty (what goes to the laundry), Damaged (worn/torn) and Missing (didn’t come back). Marking Damaged or Missing lowers Dirty automatically — the three always add up to the original count — and nothing ever goes below zero. Adjust Dirty up if more came back than expected, add any item, and type Notes for a claim.
  4. Choose the laundry for this bag from the Send this bag to dropdown below the item list — it defaults to the property’s usual laundry (learned from its last send), so most bags need no change; pick a different one per bag if you want. (The → Laundry column in the table just shows the net pieces that will actually go out — Dirty − Damaged − Missing.)
  5. Click ✓ Confirm count. The bag moves to Counted — ready for the laundry. Repeat for each departure.

Counting every bag at once

You don’t have to open every bag. Each row shows the property and its total piece count; when those pre-filled totals are right (the usual case), press ✓ Count all shown bags to accept them all at once — every bag turns green, counted. You then only open a bag with Count → for the exceptions: to record Damaged/Missing or fix a number (open the bag to see and adjust the item-by-item detail). Nothing is sent to a laundry until you press Send — Count all only saves you the per-bag clicks, it moves no stock.

Send

Every counted bag already carries the laundry you chose, so there is no end-of-day splitting to do. The Send card just shows the plan — how many bags and pieces go to each laundry — and one Send button hands them all off: each bag’s Dirty pieces move to At Laundries for its own laundry.

Note With property groups, the Dirty Queue is per group. Each group tab has its own _Send the dirty linen_ card and its own _Recent submissions_, showing only that group’s counted bags. Pressing Send on one group sends only that group’s bags — every other group’s counted bags stay counted and wait for their own tab, so nothing is ever swept up or lost. (The read-only Total tab has no Send.)
Note Which laundries service a group. On Settings → Property groups you tick the laundries that service each group. On a group tab the count then only offers those laundries — so you can’t assign a bag to a laundry that doesn’t collect from that group (for example a laundry you’ve deselected from Mellieħa won’t appear on the Mellieħa tab). Every laundry services every group by default, so nothing changes until you deselect one; if a group is ever left with no laundry, the queue falls back to showing all of them so a send is never blocked.
Note “Still clean” — unused linen straight back on the shelf (per group). Switch it on for a group under Settings → Property groups (tick Show a “Still clean” column) and that group’s count gains a Still clean column beside Damaged/Missing. Use it when linen comes back unused — e.g. a 6-bed apartment with only 2 guests, so 4 sheets were never touched. Still-clean pieces come off the amount sent to the laundry and go straight back On Shelf for the group (they never reached a guest, so they skip the wash): → Laundry = Dirty − Damaged − Missing − Still clean. Nothing is created or lost — every piece that came back is either sent to wash, logged as a loss, or returned to the shelf. Off by default; other groups keep the normal behaviour.

Damaged and Missing never go on the laundry list. They’re logged to the Damaged & Missing report with the property, guest, reservation, check-out date, quantities, estimated replacement cost and your notes — so you can track losses and claim from guests. With property groups, that report has a group / Total tab bar too — each tab scopes the month’s rows to one group (the groups always sum to Total), and switching group keeps the month you picked.

Note Equipment extras never go to the laundry. Items marked extra — cot, high chair, extra bed — are equipment, not washable linen, so they are never added to a bag’s → Laundry column, the Send plan or the Total to send. They stay listed on the bag for the packer, but the laundry only ever receives washable linen.
Note A departure older than 7 days, or an ad-hoc return, can be counted with Count a bag by hand — pick a PMS property or type any location, add the items, choose the laundry to send this bag to, and Confirm.
Note The Linen Schedule can add a collect bag here — a seasonal set being brought in at season end. It arrives as an ordinary to-count bag: count and send it like any other. (A season collect bag can’t be reopened or deleted, so the linen it represents can’t go missing from your totals.)
Note A due replacement swap belongs to ONE check-out — and shows identically on its clean and dirty bag. A swap waits for the property’s next check-out whose clean bag isn’t packed yet. That check-out’s clean bag shows the fresh set, and the same check-out’s dirty bag here shows the worn set as normal count rows (marked 🔁 swap), right beside the ordinary linen, with the same items and the same quantity. It is never shown on any other check-out. If a check-out’s clean bag goes out without the swap (removed, or skipped), the swap simply moves on to the next check-out on both queues, and that dirty bag doesn’t offer the worn set: the fresh set never went out, so the worn set is still on the beds. Nothing is ever counted or packed automatically: you count and send the worn set like any other linen. Counting a swap item on a check-out that isn’t the swap’s own is refused with a message. Once you count the bag the worn set keeps its 🔁 swap badge, so it still reads as scheduled linen.
Note Whichever bag is done first fixes the quantity of the other. A swap only balances if the fresh set goes out *and* the worn set comes back in the same number. Count the dirty bag first: the fresh set on that check-out’s Clean Queue bag becomes read-only at exactly your count (🔒 *matches dirty count*). For example, if you counted 3 worn runners, 3 fresh ones are packed, not the full set. To change it, undo the dirty count first. Pack the clean bag first: the worn set here becomes a read-only 🔒 “swap · matches clean pack” row, fixed to the number that was packed. It can’t be changed or removed. If a piece didn’t come back, mark it Missing, and it is booked as a loss. Either way you still count the worn set yourself; locked means the quantity can’t drift, not that it is filled in for you.
Watch out If you count the worn set first, pack the fresh set with the same check-out. The read-only lock keeps the fresh set on that check-out’s Clean Queue bag so you don’t forget it — complete that Clean bag the same day. A swap belongs to one check-out: if that clean bag goes out without the fresh set (On Shelf too short to pack it, or it was never packed that day), your dirty count is set aside instead of moving the swap to another check-out. The next check-out then shows the swap as 🔒 booked early — repair first (not packed), and the superadmin decides on the 🛠 Swap repair card: reverse it (the pieces were still on the beds) or keep it (they really were collected — the next check-out then packs the same number of fresh pieces). When shelf stock is low, the safe order is the other way round: pack the fresh set first (if the shelf is short it simply waits, nothing half-happens).
Note Superadmin: repairing worn sets booked on the wrong check-out. Older versions (before v1.46.24) offered a due swap’s worn set on the property’s first unsent dirty bag. That was often a check-out whose clean bag never carried the fresh set, so the worn set was booked to the laundry while still on the beds. The same applies to a worn set counted first on its own check-out whose clean bag then went out without the fresh set. Until it is repaired, the next clean bag shows 🔒 booked early — repair first (not packed): such a swap is not packed at all, so the booking stays visible to the repair. The built-in superadmin (codeb) fixes these on the Linen Schedule page with the 🛠 Swap repair card. It previews every such booking: the pieces come back off that laundry’s At Laundries as “never arrived, still at the property” (not a loss; anything the laundry’s own count already took off is not taken twice; a send the laundry hasn’t confirmed yet waits — confirm it on Linen Matching first), any missing/damaged booked for them is reversed, and the lock is cleared. If the worn pieces of a counted-first booking really were collected, tick keep instead: nothing is reversed and the next check-out packs the same number of fresh pieces. Early counts that were not sent yet are removed from the count. Tick the rows, type REPAIR and confirm. Every step is logged, and a second run never reverses the same pieces again.
Note 🍂 Seasonals — collect. At the season’s end the set is collected in the dirty bag of the property’s first check-out on or after the collect date — that bag is marked 🍂 Seasonals — collect. Count it with the rest of the bag; no fresh set goes out on that check-out.
Note Undo a swap you didn’t want — safely. A scheduled swap collect bag can’t be plain-reopened (its fresh half already left the shelf, so reopening only the worn count would leave your stock short). Instead it shows a ↩ Undo swap button (coordinator/admin): this reverses both halves together — the fresh set goes back On Shelf and the worn collect is cancelled — so nothing ever goes short, and the swap becomes due again (as if it never ran). Every return is logged. Two cases it won’t undo: a bag already sent to a laundry (recall it first) and a season-end collection (that one is sent or written off, not undone). Each property keeps one dirty collect bag, never many single-item ones.
Note Pack Missing Bag — recover linen you found again. At the bottom of the Dirty Queue, the Pack Missing Bag panel is collapsed by default — tap it to open. Use it when you find linen that was earlier counted missing: pick the property where you found it (so its origin is recorded), enter how many of each item you recovered — capped at what is still marked missing — and it re-enters the Dirty Queue as a bag to send. When sent, it is netted off the missing-linen statistics, so recovering never creates linen out of nowhere.
Note New to swaps? Read the simple guide. For a plain, step-by-step version of everything below — what the 🔁 tag means and exactly what to do — see [Linen swaps — the simple guide](/help/swaps).

Open the Dirty Queue

Open the Damaged & Missing report