Some of your branches are offline on Bolt Food and the rest are fine
Restaurant chains find branches drifting apart on Bolt Food because nothing on this platform holds them together. The live availability switch is a button on the device in each branch, described in Bolt’s own training material as setting the restaurant “to active or inactive, depending on your needs”. Opening hours and holiday closures sit in the merchant portal store by store. Bolt publishes no bulk open or close control and no store status API, so twenty branches are twenty independent settings maintained by twenty different shifts.
What is actually configured per branch on Bolt Food rather than per brand?
Almost everything that decides whether a customer can order. The live toggle is the clearest case. Bolt’s restaurant app guide puts it under “Pausing new orders” and gives the branch a single instruction, “Click the ‘Go offline’ button”, after which: “At the top of your screen, a red bar will appear saying, “You’re offline”. Clients can’t order from your restaurant until you resume accepting orders. To do so, click the ‘Go online’ button.” Source: Bolt restaurant app training guideline.
That instruction never leaves the branch. The red bar is on one screen, in one kitchen, seen by whoever is standing in front of it. A second branch three streets away holds a completely separate copy of the same control and knows nothing about the first.
Underneath the toggle sits a second per branch layer. Bolt’s merchant portal guide explains that opening hours “inform customers about when they can place an order” and instructs that they “should reflect your kitchen schedule”, with a separate control to “Add holiday hours to set closures, e.g., for vacations or public holidays”. Source: Bolt Food Merchant Portal and Menu Editor Guide. Hours are a property of a store, not of a brand, which is why a public holiday entered against four stores out of nine produces exactly the pattern in this page’s title.
Why does Bolt Food give a chain no way to compare all of its branches at once?
Because no such surface is published. We read both official Bolt merchant guides and the partner login at foodpartner.bolt.eu looking for a multi store availability view, a bulk open or close action, or a documented store status endpoint an integrator could poll, and Bolt describes none of them. Compare that with Deliveroo, whose help centre documents a “Site Status” tab for opening and closing multiple sites in bulk, and the difference in what a head office can even attempt becomes concrete.
What Bolt does report at brand level is retrospective. Online availability appears in the merchant portal as one of several operational metrics, scored after the period it covers. A metric of that kind tells a head office how much a store lost last month. It cannot tell anybody which store is dark this afternoon, and a chain that treats the first number as an answer to the second question will keep being surprised.
The practical consequence is that divergence on Bolt Food is not detected, it is discovered. Somebody phones in, or a weekly report shows one branch below the others, and by then the interval that caused it has already closed.
A holiday closure on Bolt Food is entered store by store, and so is every mistake in one.
Holiday hours are the single most common source of a split estate on this platform, because they are set in advance, they are correct on the day they are entered, and nobody rereads them. A closure typed against the wrong store, or against the right store with the wrong date, sits harmless in the portal until the morning it fires.
When it does fire the branch is not broken in any way a manager can see. The kitchen opens, the staff arrive, the device shows nothing unusual, and the store is simply absent because the schedule for that day says it should be. Pressing the “Go online” button does not help, since the toggle governs the live state within trading hours rather than the hours themselves.
The same asymmetry applies to ordinary opening hours after a trading change. A brand that extends late night service across an estate has to edit each store, and any store missed keeps yesterday’s hours indefinitely. There is no inheritance from a brand level template in Bolt’s published material, and we are not going to assume one exists because it would be convenient.
Why does one Bolt Food branch look open and still sell nothing?
Because the item layer is separate from the store layer, and it also runs per branch. Bolt documents two out of stock states with different lifetimes, one that clears itself the next morning and one that waits for a person, plus a rule that hides anything left in either state for a fortnight. The exact wording of all three is on why a Bolt Food store shows as offline while the restaurant is open.
What makes this an estate problem rather than a menu problem is how those states get set. Rejecting an order asks for a reason, and choosing the out of stock reason marks the item out of stock as part of the same action. A rush that produces three quick rejections at one branch quietly edits that branch’s menu and leaves every other branch untouched, so two stores with identical catalogues on Monday are selling different things by Saturday.
A brand comparing its estate on availability alone will call that branch healthy. It is online, it is inside its hours, and it is missing the two dishes that generate most of its orders. The customer experience of that store is closer to closed than open, and no availability number will say so.
How do you tell which of two Bolt Food branches is actually different?
By working down the layers in the order Bolt configures them, because each one is invisible from the layer above. Start with the schedule for that specific store on that specific date, including any holiday hours entered against it. If the schedule allows trading, move to the live toggle on that store’s device, which is where the red bar lives. If the store is online inside its hours, move to the menu and check whether the items that matter are marked available at that store.
Only after those three does an integration question become worth asking, and on Bolt Food it is a short one, since the platform publishes no store status interface for a partner system to read or write. Whatever your middleware shows for a Bolt store is your middleware’s belief rather than a state Bolt has confirmed.
Do the same three checks on the branch that is working, at the same moment, and the difference falls out. One branch has a holiday closure and the other does not. One device was switched off at handover and the other was not. One menu lost its bestseller to a rejection reason on Friday night. All three are ordinary, all three are invisible from head office, and only the comparison names which one you are looking at.
What should a multi branch chain record for each Bolt Food store?
The interval, not the status, and the interval measured against that store’s own published hours rather than against the brand’s intended hours. A store level record of when each branch could actually be ordered from turns this whole class of problem into arithmetic. The branch with a holiday closure shows a full missing day. The branch whose device was left off shows a gap that starts at a handover and ends the next morning. The branch that lost items shows no gap at all, which is how you know to look at the menu instead.
Because Bolt Food publishes no bulk control and no status endpoint, that record cannot be built inside the merchant portal at all. It has to come from the storefront, met the way a customer meets it, at every address at once rather than one at a time. Kitchain (kitchain.co) assembles it that way for a Bolt Food estate. The second habit is comparative rather than individual. Read the branches against each other on the same day rather than each branch against its own past, because the fault this page describes is always visible as a difference between two stores that should look the same and is often invisible in either store on its own.