Every incident that blocked or degraded a customer cart since June, with an honest verdict on whose problem it was: Dutchie's, ours, or working-as-designed. Companion to the Dutchie Ticket Register. Updated August 15, 2026.
Pulled from our production order-error monitoring (same source as the Cart Health board). Window: Jul 16 - Aug 15, 2026.
| Measure | Count | What it means |
|---|---|---|
| Blocked checkouts | 32 | Carts where the customer tried to buy and could not complete. 31 of 32 are the Dutchie add-to-cart race (tickets 686841 / 687078); 1 was a resolution failure. Roughly one lost sale attempt per day, almost entirely Dutchie-side. |
| Rejected add attempts (incl. retries) | 286 / 3 wk | Every rejected add-to-cart attempt counted, including retries that later succeeded. Blocked checkouts (32) is the stricter, truer lost-sale number - many customers retry and get through. |
| Items flagged out-of-stock in cart | 610 | Caught before checkout because the item genuinely sold out. Inventory reality and the protection working - not breakage. |
| Legal-limit blocks | 8 | Cannabis Act 30g cap. By design. |
| Price re-confirms | 4 | Price changed between menu and checkout; customer asked to re-confirm. Friction, not a lost sale. |
Failures originating in Dutchie's systems. Tracked with them via the ticket register.
| When | What broke | Scale | Status |
|---|---|---|---|
| Jul 23 - ongoing | Add-to-cart rejections on in-stock items. Dutchie's API rejects adds with "Validation errors" (survives retry) or "Not Found" for products its own menu is serving. Strongest evidence: an identical request that failed twice succeeded hours later - non-deterministic on their side. Worst on last-unit items (inventory race). | 286 rejections, 37 stores, 3 weeks; ~3-8/day ongoing. Since the Aug 14 CEO escalation: 8 more blocked add-to-carts in the first 48h - unchanged. | Ticket 686841 - evidence pack in Dutchie's hands |
| Jul 23 - ongoing | Checkout price disagrees with menu price for the same product at the same moment (their two systems disagreeing). We absorb it by re-confirming with the customer. | 139 cases / 3 weeks | Part of ticket 686841 |
| Aug (reported Aug 14) | "No inventory available" in COVA at the register when ringing up a web order - the POS-side symptom of the same inventory-sync race. Register staff cannot complete the sale. | Reported at Etobicoke (Albion); likely wider | Ticket 687078 (CEO-escalated by Darryl); linked to 686841 |
| Jul 18-20 | Store menu briefly showed wrong / missing products (transient Dutchie data window). Self-healed. | 1 store, ~2 days | Ticket 678128 - closed |
| Jul 16 - | Timmins delivery orders bounced as "pickup only" despite delivery enabled - store config in Dutchie's back-end. | 1 store | Helpdesk #11052 - status being reconfirmed |
| Jun 4 - Aug 14 | Server allowlist never applied (their side) - worked around architecturally on ours, so customers never saw it; the request itself sat unresolved for 10 weeks. | No customer impact (mitigated) | Ticket 663272 - verified working Aug 14 |
Failures we caused and fixed ourselves. Listed with the same honesty we expect from Dutchie.
| When | What broke | Scale | Status |
|---|---|---|---|
| Aug 10-15 | Store-finder crashed for long-named products. Our database layer rejects search patterns over 50 characters; products with long names (e.g. a BOXHOT vape) made the "which stores carry this" lookup fail on every attempt, and the page retried endlessly. | 1 product's store-finder dead 5 days; 111k error events | Fixed + verified; long names now degrade gracefully |
| Aug 12-13 | Sorting by price blanked the shop at every store (a code error in a shared helper shipped with an unrelated update). | Fleet-wide, 23 hours, 598 recorded crashes | Fixed; price-sort added to post-deploy checks |
| Jul 28 | 14-minute checkout outage: a transport change stripped authentication on checkout calls. | 70 real checkouts blocked, 5 stores, 14 min | Fixed; mandatory post-deploy checkout canary created from this incident |
| Jul (River Bend launch) | River Bend checkout dead from day one - our store-ID mapping passed the wrong identifier to Dutchie, which read as "products unavailable". Dashboards showed healthy because they used a different ID. | 1 store, from launch until found | Fixed + ID map audited fleet-wide (helpdesk #11062 closed) |
| Jul (Orillia) | Discounted items blocked at checkout - our price check compared against pre-discount totals. | 1 store pattern, several carts | Fixed; net-of-discount comparison |
| Jul (specials) | Price-drop items wrongly interrupted checkout - we treated any price change as suspicious; drops now proceed (customer pays less), only increases re-confirm. | False blocks on specials | Fixed |
| Aug (SESH BITES) | In-stock item flagged "no longer available" - a false positive in our availability re-check, plus a legal-equivalency display error (7.5g shown vs 0.27g actual). | 1 product class | Fixed |
| Jul (Timmins) | Checkout blocked at the 5th item - our stale-cache handling reported in-stock products as unavailable instead of re-checking. | 1 store pattern | Fixed; "a cache miss must never block a sale" is now a design rule |