Seafood & Fish Market POS: Ice Cases That Ring by Weight, Whole-Fish Orders That Settle on Pickup Day, Live Tanks That Bill Themselves, and Closes That Beat the Melt
Run a seafood counter where every fillet rings at its true weighed price instead of a yesterday sticker, every whole-fish and catering-boil order carries a deposit and a pickup tide instead of a handshake, every live-tank lobster and steamed dozen bills its fee instead of leaking, and boat lots, shrink, and retail settle from the same numbers.
The NoPOS developer relations team writes practical guides for building on the NoPOS REST API — from first smoke test to production POS.
Saturday-morning eight is the whole reality of the category. The ice case holds forty feet of salmon, halibut, snapper, day-boat scallops, and head-on shrimp with doorbusters on whole branzino while the ticket spike already holds six fillet-to-order requests, the pre-order sheet shows two whole tunas for sushi families with pickup windows today plus a fifty-pound crawfish boil split across neighbors who paid separately, the live tanks hold lobsters and Dungeness that need turning before the weekend while the lunch crowd asks for a steamed dozen that nobody weighed, a wedding raw-bar tower for two hundred needs labeling by table before the four o'clock pickup, and the drawer holds the morning's pre-order balances, a stack of wholesale restaurant-route deposits, a charter-boat tag with a balance due, and a shelf of cocktail sauces plus draws plus seasoning blends that all ring on a different scrap than the fish. A generic register treats every sale like a fixed-price box, so the scale stickers drift from the actual weight while the line stacks, the whole-tuna deposit never ties back to the two pickup tickets, the steamed dozen nobody logged becomes Monday-morning shrink nobody can explain, and the day's cash splits into a spreadsheet nobody trusts. Build the flow around the single truth of the counter — every dollar belongs to a fish, a weight, and a pickup tide — and the market collects at full margin instead of melting its way to close.
Ring the ice case by weight, don't guess the sticker
Fresh weight is the inventory, and it dies on the pre-printed sticker. Hold every case sale as a weighed ring — scale integration with per-SKU per-pound prices that pull the exact weight at the moment the fillet lands instead of yesterday's rounded sticker, tare rules with per-tray and per-wrap offsets that subtract the ice and paper before the price instead of charging the customer for the bed it sat on, catch-weight handling with per-package actuals that ring the 1.42-pound salmon at its true price instead of a 1.5-pound fiction, and ice-case markdowns with per-tray timed rules (cook-today shrimp, sell-tonight whole fish, freeze-by scallops) that move aging product at the right price instead of full-price shame or total loss — so no ounce goes free and no pound goes phantom. Handle the counter reality: fillet, portion, and pin-bone-out upcharges with per-cut fees that price the extra knife work instead of absorbing it, shucked, peeled, and deveined lines with per-dozen and per-pound counts that settle at the bench instead of a second guessed ticket, special-request cuts (sashimi blocks, poke cubes, ceviche dice) with per-order notes that fire the right knife instead of a shouted reminder, and retail-attach lines (sauces, butters, seasonings, crackers, wine) with per-item rings that sell the second item at the decision moment instead of never. Every fish belongs to a weight on a dated ticket, and when the scale rings itself, the case turns instead of melting.
Book the whole fish, don't handshake the boat
Custom orders are the annuity, and they die on the handshake. Ring every whole fish — tunas, salmon sides, and striped bass issued per customer per order sheet with starting whole weight logged at intake, cut instructions (fillet versus steak, head-on versus dressed, portion counts, packaging) locked to the order instead of remembered at the board, ice-hold and cooler dates with per-order pickup windows that stage the wrap the morning of instead of the night the customer never comes, and split-party billing (three neighbors, one boil) with per-share balances that settle separately instead of one neighbor covering the rest — so no fifty-pound boil leaves the cooler unbilled. Handle the order reality: deposit rules with per-order minimums and balance-due-at-pickup dates that hold the Christmas Eve whole salmon before December fills instead of during, no-show and late-pickup rules with per-day cooler fees that recover the space instead of absorbing the spoilage, charter and dock pre-orders with per-tag intake weights and per-trip fees that bill the angler's ticket instead of the market's generosity, and holiday and event pre-sales (Thanksgiving oysters, Super Bowl shrimp platters, wedding raw bars) with per-event counts and cutoff dates that cap the promise before the ice runs out instead of after. When every whole fish has a sheet, a weight, and a settle, the cooler pays rent instead of collecting melt.
Sell the tank live, don't leak the steam
Live and cooked-to-order is the margin, and it dies at the verbal counter. Ring the tank the moment the customer points — live lobster, crab, and oysters with per-pound tank prices and per-animal actuals that charge the 2.3-pound lobster instead of the 2-pound hope, steaming, boiling, and frying with per-order fees and per-batch capacity caps that sell the Saturday boil before noon instead of during the line, shucking with per-dozen fees that stop donating the shucker's hour instead of hiding it, and seasoning, butter-poach, and sauce-cup lines with per-order counts that price the finish instead of giving it away — so no claw goes free and no steam goes uncharged. Handle the tank reality: restaurant wholesale routes with per-account standing orders, per-delivery weights, and per-week invoices that bill the raw-bar account from actual pounds instead of last month's guess, catering boils and raw-bar towers with per-head counts, per-table labels, and deposit dates that hold the wedding date instead of hoping it, subscription and standing orders (every-Friday two pounds of shrimp, monthly oyster rotation) with templates that fire automatically instead of re-keyed, and mortality and cull logs with per-tank daily counts that write the dead loss down to the tank instead of the mystery. When every lobster carries a weight and every boil carries a fee, the tank compounds instead of evaporating.
Trace the boat, settle the day before the melt
Provenance and shrink are the trust lines, and they die in the spreadsheet. Trace every pound — dock and distributor receiving with per-delivery weights and per-invoice costs that tie the case price to the actual boat cost instead of last month's guess, lot and tag logs with per-batch source boats and per-day timestamps that answer the recall question in minutes instead of panic, temp and ice-bed checks with per-case two-hour logs that pull the scallops before they turn instead of after, and fillet, trim, and shell yields with per-species tracking that show the halibut's true cost after trim instead of the invoice fantasy. Handle the money reality: cash-handling discipline with per-register banks counted in and out that end the rumor about the missing twenties, card-batch reconciliation including pre-order deposits and wholesale-route invoices settled days early, fee-clean attribution with per-service lines (fillet fees, steaming fees, shucking fees) that land on the right ticket instead of the house pocket, and shrink snapshots with per-category actuals (finfish, shellfish, live tank, prepared, retail) that show which case ate the margin instead of one lump. When every fish carries a boat, a weight, and a settle on the same numbers, close takes minutes and tomorrow's tide starts from facts.
Build from the current contract
Open the gateway for OpenAPI, Swagger, AGENTS.md, llms.txt, and the first X-API-Key smoke test.
More from NoPOS Blog
Funeral Home & Memorial Services POS: Arrangements That Itemize to the GPL, Merchandise That Tracks to the Vault, Chapels That Schedule Without Doubles, and Trusts That Reconcile
Run a funeral home where every at-need arrangement itemizes to the General Price List instead of a bundled guess, every casket and urn tracks from selection room to committal instead of a memory, chapel and visitation rooms never double-book, and pre-need contracts, insurance assignments, and trust deposits reconcile from the same numbers.
Industry GuideParking Lot & Garage POS: Transients That Price to the Gate, Monthlies That Renew Themselves, Validations That Clear the Lane, and Event Nights That Don't Jam
Run a lot or garage where every transient ticket prices from the gate timestamps instead of the attendant's memory, every monthly permit renews and enforces itself instead of a hangtag hunt, every merchant validation clears the exit lane in seconds instead of a backup to the street, and EV charging, oversize stalls, and event pricing settle from the same numbers.