Sessions Cannabis - for the Dutchie team

Sessions x Dutchie - Issue Log

One shared page for everything Sessions has raised with Dutchie: every ticket, every outage, every platform limitation we work around, with the evidence and the exact ask. Nothing caused by Sessions' own systems is counted here; those items are excluded on purpose so this page stays clean.

Updated September 13, 2026 (Toronto time). Maintained by Ravi, Ecommerce Digital Manager, Sessions Cannabis - ravi@sessions.ca

Latest: September 10, 2026 checkout outage - Dutchie side

Where things stand today

Customer-visible impact measured on sessions.ca from our order-error ledger and Google Analytics. "Dutchie-side" means the rejection came from the Dutchie API for an item Dutchie's own menu showed as in stock at the same moment. Purchase-limit blocks (legal 30 g cap) and anything caused by Sessions are excluded.

99.94%
August 1-31: checkouts that reached Dutchie cleanly. 173,805 sessions; 97 Dutchie-side blocked add-to-carts across 60 carts at 28 stores (0.056%); 2 blocks caused by Sessions.
99.76%
July 16 - August 15: 130,753 sessions; 188 Dutchie-side blocks at 28 stores; 124 Sessions-side (70 of them from one 14-minute outage on July 28 that was ours, and is listed on our own ledger, not here).
3-4 / day
August 16-31 run-rate of Dutchie-side blocked add-to-carts (54 across 21 stores), plus 91 rejections that cleared on retry and 30 menu-vs-checkout price disagreements.
2 open
Engineering items still with Dutchie: the add-to-cart / price family (686841, escalated as 687019, "engineering actively building a fix" on Sep 1) and the Sep 10 outage RCA.

Raw API rejections, month by month

Straight from our server ledger (every Dutchie response we log, including retries, so these are higher than the customer-visible numbers above). Ledger starts July 17, 2026; September is through September 12.

Month"Validation errors" on in-stock item"Not Found" on item the menu servedMenu vs checkout price mismatchCheckout create failed (API down)
July (from Jul 17)103 rejections, 16 stores181 rejections, 29 stores273 events / 115 carts, 30 stores0 Dutchie-side (the 70 on Jul 28 were ours)
August178 rejections, 34 stores71 rejections, 26 stores54 events / 44 carts, 23 stores0
September 1-1273 rejections, 17 stores33 rejections, 12 stores27 events / 23 carts, 16 stores40 (Sep 10, 8 stores) + 4 add-to-cart 503s

"Validation errors" carries the Dutchie error detail "Total exceeds available quantity" (verified Sep 13, 2026): the item is on the menu with stock, but at the moment of checkout Dutchie's available count for it is below what the customer asked for - sold in store since the menu snapshot, held by another open online order, or under the store's online threshold. Dutchie described the single-unit case on Aug 18. "Not Found" carries the detail "Variant not found" or "Product not found": the product or option the menu served minutes earlier no longer resolves at checkout. Price mismatch means the checkout line price differed from the menu price for the same product at the same moment; retrying does not clear it and it persists for minutes up to about an hour.

What we are asking Dutchie for right now

  1. 687019 / 686841 - the fix that engineering is building (Sep 1). What does it change, which of the three cases does it cover (last-unit block, Not Found, price mismatch), and when does it ship? A ticket or release note we can reference is enough.
  2. Correlation header. Since Aug 13 we have asked which request or response header we should log so Dutchie can trace a failure server-side. Name it and we will log it on every failure from that day.
  3. Sep 10 outage. Root cause, scope (was it all Plus tenants?), and the fix. Plus a status page or incident channel for the Plus API.
  4. Availability at checkout. Expose the checkout-side available count (or the hold state) in the menu API, or a change feed, so we can cap or hide an item before the customer hits "Total exceeds available quantity" at checkout.
  5. Menu-to-checkout consistency. Why the checkout price and menu price disagree for the same product at the same moment, and why a delisted product keeps being served on the menu for minutes to hours.

Dutchie-side issue log, newest first

Every item here was either confirmed by Dutchie, reproduced against the Dutchie API with Sessions' side held constant, or answered by Dutchie as a platform limitation. Ticket numbers are Dutchie support request IDs.

DateRefWhat happenedEvidence and impactStatus / ask
Sep 10outage Plus API returned HTTP 503 to checkout create and add-to-cart calls for 36 minutes (19:58-20:34 UTC). 40 checkout create failures at 8 stores (12 customer sessions); 4 add-to-cart 503s at 3 stores; 221 automatic fallback engagements, all 503. Same result on every network path. No Sessions deploy on the checkout path since Sep 4. Open
Ask: incident summary and a status channel.
Sep 10686841 family Timmins (Park Road): one SKU rejected at checkout 8 times across 7 different customer sessions on the same day while the menu showed it in stock. All 8 were "Validation errors" (Dutchie detail: total exceeds available quantity) on a SKU the menu showed in stock - the family documented on 686841. Logged as a fresh example for the engineering fix. Open
Rolled into 687019.
Sep 1687019 Dutchie update on the escalation of 686841: "this issue is in the works, our engineering team is actively building a fix." First confirmation that the add-to-cart / price family is an engineering item on Dutchie's side. No scope, ticket or ETA given. Pending Dutchie
Ask: scope, cases covered, ETA.
Sep 1internal #11391 Store report: items with on-hand quantity above the ecommerce threshold missing from the online menu (four SKUs at one store: 8, 16, 12 and 6 units on hand). Products present in POS with stock above threshold but not returned by the consumer menu. Being verified before it is raised as a ticket. Logged
Will raise with examples if it repeats.
Aug 24CSM call 30-minute review with our Dutchie CSM covering 686841, 685427 and the API gaps below. Agreed: Sessions keeps a running evidence record; Dutchie to come back with root cause per case. Pending Dutchie
Aug 18-19686841 Dutchie (Max, Product Support) confirmed a known limitation: "Dutchie Plus will block a checkout when a product has only 1 unit left in stock." Asked for more examples per case; Sessions replied the same night with counts and timestamps. Since Jul 25: 83 last-unit blocks, 37 "Not Found" rejections across 13 days, 60 price mismatches. Examples with retailer IDs and UTC timestamps supplied for Port Perry, Orillia, Kenora, Welland, Timmins, Elliot Lake, Brantford, Waterloo, Stoney Creek, Cambridge, North York. Pending Dutchie
No reply on root cause for Not Found or price mismatch since Aug 18.
Aug 14685427 Dutchie's networking team confirmed the allowlisting of our egress IP 77.42.66.58; Sessions confirmed it working on Aug 19. Direct authenticated calls from that IP succeed consistently since Aug 19. IPv6 requests still receive 403, so we pin IPv4. Resolved
Ask: allow IPv6 or document that it is unsupported.
Aug 14687078 "No inventory available" shown in COVA at the register when ringing up an online order (Etobicoke Albion; same family seen chain-wide). Website side: Albion alone had 6 rejected add-to-carts and 6 price inconsistencies since Jul 23; 37 stores show the same family. Asked Dutchie to link this with 686841 as one inventory-sync race. Open
Ask: link to 686841 / 687019.
Aug 14686982, 686984, 686985 Three further requests opened by Sessions the same morning; confirmations received. Being matched to their original requests; will be merged into this log once Dutchie replies. Pending Dutchie
Aug 13686841 Opened: recurring add-to-cart failures ("Validation errors" and "Not Found") on in-stock items, plus checkout prices disagreeing with menu prices. Jul 23 - Aug 13: 286 rejected add-to-carts across 37 stores; 139 price inconsistencies. Stoney Creek example: identical request rejected twice at 17:28 UTC and accepted at 23:00 UTC the same day (same input, opposite outcomes). Full request/response pairs sent the same evening. Open
Escalated as 687019.
Aug 10685480 Post-checkout return URL updated to sessions.ca/order-completed for all locations. Completed by Dutchie the same day. Thank you. Closed
Aug 10685427 Connectivity: authenticated API calls from our server intermittently refused (403). Dutchie escalated to its networking engineering team. Sessions could only reach the API reliably through a fallback route until the allowlist landed. See Aug 14 entry for the resolution. Resolved Aug 19
Jul 18-20678128 One store's menu briefly showed wrong or missing products. The consumer menu API returned an incomplete product set for that dispensary during the window; self-resolved. Dutchie found no change on its side; Sessions confirmed resolved Jul 20 with timestamps. Resolved
Cause never identified.
Jul 16-17internal #11052, #11062 Timmins: delivery orders showed a "please pick up" message with delivery enabled (store back-end configuration). River Bend: phone orders not appearing store-side. Both traced to Dutchie-side configuration or behaviour; River Bend fixed chain-wide, Timmins reconfirmed. Closed
Jul 8674639 Can an order placed through the website be cancelled or modified after submission? Dutchie: not possible today, no cancel/modify feature exists. Limitation
Ask: roadmap for cancel/modify.
Jun 4 - Aug 14663272 Request to allowlist Sessions' server so it can reach the Dutchie API directly. Dutchie implemented it in July but did not communicate back; Sessions learned on Aug 14 and retested the same day. Resolved
Ask: confirm when a request is completed.

Platform limitations Sessions works around

Not tickets, but behaviours of the Dutchie Plus and consumer menu APIs that shape what customers see. Each one costs us engineering time or sales; each would be a welcome roadmap item.

AreaBehaviourEffect on SessionsAsk
Availability at checkoutThe menu shows an item with stock; addItem rejects it with "Total exceeds available quantity" because Dutchie's checkout-side count has moved (in-store sale, hold from another open order, online threshold). Single-unit case confirmed Aug 18.Customer sees an in-stock item, then a checkout error. 73 rejections at 17 stores in the first 12 days of September; 31 of 45 affected carts still completed without the item.Expose the checkout-side count in the menu API or a change feed so we can stop the customer before the wall.
Hosted checkout TLSconnect.dutchiemenus.com, which every store checkout hostname under sessions.ca points at, still accepts TLS 1.0 and 1.1 (verified Sep 13, 2026).49 security findings raised against our domain in one scan; weaker transport for customers on the checkout page than on the rest of sessions.ca, which is TLS 1.2 minimum.Enforce TLS 1.2 minimum on connect.dutchiemenus.com.
Menu vs checkoutMenu keeps serving delisted products; checkout price can differ from menu price for the same product at the same moment."Not Found" at checkout; price disagreements that retry does not clear.Single source of truth or a change feed we can subscribe to.
SearchText search on the consumer menu returns at most 20 hits.We index the full menu ourselves to give customers complete search.Paginated search.
Variant optionsVariant option carries total weight, not pack format (a 3 x 0.5 g pre-roll and a 1.5 g pre-roll look identical).We derive pack format from names to build pre-roll and edible filters.Expose pack count and unit size.
Price summarypriceSummary.subtotal is pre-discount.Extra reconciliation logic so the cart total we show matches what the customer pays.Post-discount subtotal field.
Checkout URLSome stores' checkout redirect URLs are issued as http:// (Timmins).We upgrade to https:// ourselves.Issue https:// everywhere.
ProvisioningSome locations are not provisioned for Plus checkout (Fiddlesticks, Cambridge as of Aug 2026).Customers are sent to the store's Dutchie menu instead of a native checkout.Provision all locations.
Brand dataBrand profile on some products is a different company (example: Nugz shown as Amaze NUGZ).We override brand text by hand.Fix at source.
IPv6Requests over IPv6 receive 403 even from allowlisted networks.We pin IPv4.Support IPv6 or document it.
OrdersNo cancel/modify after submission; no order-status API; no Plus API status page or incident channel.Stores handle cancellations by phone; we cannot show order progress; outages are discovered by our own monitoring.Order status API, cancel/modify, status page.
Online paymentOnline payment option reviewed Aug 2026: delivery-only, and no second-factor step in the flow.Not enabled for Sessions customers.Pickup support and a stronger auth step.

How Sessions measures this

Contacts

Sessions: Ravi (ravi@sessions.ca) for anything technical; Sophie (sophie@sessions.ca) for account and store operations.
Dutchie: CSM Kylie Austin; Product Support tickets via support@dutchie.com and apisupport@dutchie.com.
This page is updated whenever a ticket moves. Companion pages for Sessions' internal use: Dutchie Ticket Register and Cart Breakages Ledger.