Sold-out items reaching the delivery apps
When you run out of something, the delivery apps have to be told - or they keep selling it, you have to cancel, and the cancellation goes on your record with them. This is how that travels, and what to do when it does not.
It is automatic now, in both directions:
When an order depletes an ingredient to zero, Turtini 86s every menu item that needs it and tells every connected storefront to stop selling those items, within seconds. When the stock comes back, the items come back on the storefronts the same way. Nobody has to press anything and nobody has to remember.
Both directions matter, and the second one is the sneaky one:
If a sold-out item does not travel, you get a cancelled order - annoying, but you find out. If a RESTOCKED item does not travel, the item just stays hidden on the app and quietly sells nothing, and nothing else in the platform will ever mention it. That is why Turtini watches both and shows you the second one first.
A cook 86ing something by hand travels the same way:
Toggling an item unavailable on the menu screen is not a different feature with different plumbing - it goes out through the same path, and is picked up within about fifteen minutes even if nothing else happens. Press "Push sold-out items now" if you want it immediately.
Turtini does not spam the aggregator:
It keeps a record of what each storefront was last successfully told, per item. If nothing has changed, nothing is sent - so "Push sold-out items now" can honestly answer "nothing to send, the storefront already matches your kitchen". When a push fails it is tried again with a growing gap between tries rather than every few minutes, so a broken connection cannot get your account rate-limited.
A sold-out item is hidden for twelve hours at a time, then re-hidden:
The aggregator hides an item for a period rather than forever. Turtini asks for twelve hours and renews it while the item is still out. That is deliberate: if the "it is back" message were ever lost, a bounded hide means the item returns on its own within half a day instead of staying dark until somebody notices in March.
When it cannot get through, you see it in two places:
A banner appears at the top of the Kitchen board - even on a night with no marketplace orders on the screen - naming the item, naming the storefront, saying which way it is stuck, how long it has been failing, and quoting the aggregator's own error. The same list in full is in Restaurant -> Settings -> Marketplace ordering, under "Sold-out items going out". It turns red once something has been failing for more than an hour.
Nothing is lost while that banner is up. It is a record of a disagreement between your kitchen and a storefront, and it clears itself the moment a push gets through.
Per storefront, not all-or-nothing:
If you have more than one store connected and one of them fails, the one that worked stays done and only the failing one is retried. A partial failure never reports as a success.
What does not go out at all:
Items priced by weight, and items with no usable price, are never published to a marketplace in the first place - so they are never hidden or unhidden either. Press "What would be published" in Settings to see exactly what the apps receive.
What is honestly not proven yet:
Turtini has no aggregator credentials and no test account, so not one of these messages has ever reached a real aggregator. The request that hides an item is the least verified part of the whole integration: the address and the rules for it are published, but the exact field names were worked out from the shape of their own status report, because the page describing the request was not reachable. It is the most likely thing to be refused the first day a real account is connected. Nothing is ever recorded as sent unless the aggregator actually confirmed it, their refusal is quoted to you word for word, and the item stays in the list above until it genuinely gets through.