HOD | Loot Goblins
Point of Sale System
Mode
Transaction Info
Add Items
Cart
ItemSkinPriceQtyTotal
Cart is empty
Total0
Receipt Note

Receipts are saved automatically. View & download them from History.

Quick Stats
Recent Transactions
Transaction History
Sales Reports

Dates are UTC, matching the transaction timestamps. Fixed ranges are compared with the period of the same length just before them.

Safe Sheets
Current week 1
Selected rows
#Order WeekOrder #In SafePicked-UpSafeTeddySurvivorNotesLast change
⚑ In the overflow locker ! From an earlier week, not picked up yet Faded = picked up 🧾 2/5 = added by the POS: 2 of its 5 items are packed — click for the order checklist and receipt Every cell saves by itself. Click a row number to select it (Shift-click for a range).
Notes
Admin Panel
Manage Users
Add New User

Goblin name and server fill in automatically on the POS when this person signs in. They can still change them for a single order.

Goblin Names

Names offered in the POS Goblin Name autocomplete. A name is added automatically the first time a sale is saved with it. Capital letters and extra spaces don't matter: slevin, SLEVIN and Slevin are one goblin, saved in the spelling shown here. Rename changes a name everywhere — the list, every past transaction and any account it is assigned to — and renaming a typo onto the right name merges the two. Deleting a name only removes it from the autocomplete — past transactions keep it. Names with 0 orders are usually typos.

All Transactions
Stock on Hand

Items set to Stock: Yes in Admin → Items are counted per server. A buyback adds to that server's count, a sale takes from it, and a sale is blocked when the server doesn't have enough. Skin variants share one count. Editing or deleting an order moves the stock back. Season Reset sets every count to zero. Use Adjust for starting counts and corrections.

Stock Movements

Latest 150 changes for the server picked above.

Transaction Export

Filter by server, mode, or keyword then download a .csv file of matching transactions (opens in Excel, Google Sheets, etc.).

Item Summary Export

Aggregates total quantities across all matching orders — grouped by category and item. Use date range to scope to a specific restock period.

Edit Items
Skin Lines

A skin line is a set of skins sold on many items: Achilles, Badmin, Wife521, Paragon. Which lines an item is sold in is set per item in Items → ⚙. A gun's or attachment's own colours (tan, camo…) are set there too, not here. Renaming a line here keeps it on its items.

Import Expansion Market Files

Choose market category files from the game server (profiles/ExpansionMod/Market/*.json). Nothing changes until you press Apply: first you see every price change, new item, skin change and item not in the files, and choose what to keep. Sell price = market minimum × markup. Buyback prices are never changed; new items start at 0. The item list and skin lines are backed up before every import.

Earlier Imports

Undo puts the item list and skin lines back as they were just before that import (later imports are undone with it).

—
Edit Servers

Server names listed here appear in every server dropdown (POS, History, Admin filters, Exports). Changes apply immediately — no rebuild needed.

Weekly Order Limit

Each survivor may place a set number of orders per week. When a goblin types a survivor name on the POS, a notice shows how many orders that survivor already has this week. At the limit, the order is blocked unless it is overridden with a reason. Overrides are recorded on the transaction and can be filtered in Admin → Transactions.

While the limit is on, orders of the counted kind need a survivor name. Names match ignoring capitals and extra spaces.

Order Numbers

When this is on, a goblin leaves Order # blank on the POS and the order is given the next number as it is saved. The number goes on the receipt and on the Safe Sheet row. Sales and buybacks are counted separately and never share a number: sales are numbered 1, 2, 3… and buybacks B-1, B-2, B-3… Each run covers every server.

A number a goblin types is kept as typed and does not move the count — but a sale cannot take a buyback number (B-…) or one already on a buyback, and a buyback cannot take a plain sale number or one already on a sale. A number already used on an order or a Safe Sheet row is skipped. Season Reset starts both counts again at 1.

Safe Sheets Setup

The choices in the Safe and Teddy dropdowns on the Safe Sheets page. One slot is one safe plus one teddy colour — + Week slots lays out a row for every slot, in the order listed here. The current week is changed on the Safe Sheets page itself.

Rows in the overflow locker are marked red. Rows already on a sheet keep the safe and teddy they were given, even if you remove that choice here.

When the POS adds rows, checking out an order puts a row on that server's sheet with the current week, the order #, the survivor and the POS note. The safe and teddy are left for the goblin who fills the safe. It needs a server and a survivor name or order # on the order; a goblin can untick it for a single sale.

Announcements

Messages shown in a banner under the top bar, on every page, to everyone signed in. Goblins can hide a Notice or Heads up on their own device; it comes back if you edit it. An Urgent message stays until you hide or delete it.

New announcement
Reset Season

Deletes every transaction so the new season starts from zero, with order numbering back at 1. Staff logins, items, skins, servers, the weekly-limit rule, notes and announcements are kept. Every stock count goes back to zero, and the Safe Sheets are emptied unless you untick the box below. Before anything is deleted, a full database backup and a season item-summary CSV are saved automatically (listed under Season Backups below).

Season Backups

Stored in the lgpos_db Docker volume under /data/archives. They survive rebuilds and restarts, but docker compose down -v deletes them — download anything you want to keep. Restoring a .db backup is a server-side job: see "Restoring a season backup" in Docs/Deployment.md.