Vendors / Mainstream commercial restaurant POS

Chowbus POS

A vertical-language POS bought largely on free hardware and kiosk discounts rather than on published price, with a broad marketed catalog (POS, KDS, kiosk, QR, tablet ordering, loyalty, SMS, multi-location) but essentially no public product documentation to verify any of it against.

scored live legacy rubric

Claims in scope
278
Scored
45
Assessed
44
Unknown
234
Not applicable
36
Values challenged
8
84% of in-scope claims are unknown. This record measures what Chowbus POS publishes at least as much as what it does. A vendor that documents little scores low here whether or not the capability exists. Absence of evidence is recorded as unknown, never as no.

Identity

Owner
Chowbus, Inc. — private, US (Chicago). Began as an Asian-cuisine delivery marketplace and pivoted into restaurant POS; ownership/investor detail not disclosed on its own site.
Who it is for
Asian and other culturally-rooted restaurants in North America — boba and QSR concepts, single-location full service, and multi-location operators; multilingual menus and QR ordering are the wedge.
Site
https://pos.chowbus.com/

Pricing

transparency: quote-only · unit: per location, quote-based; hardware subsidized or free for qualified new merchants · processor lock-in: unknown

Software
Three named tiers — Starter, Efficiency, Growth — described as 'clear tiers with custom quotes'; no dollar figures published. Acquisition offers instead of prices: '$0 upfront hardware available for qualified restaurants', 'Free Restaurant AI POS — $826 in hardware, on us', self-ordering kiosks at 50% off for new restaurants, and 'no contracts'. Site states additional hardware, software add-ons and payment processing terms may apply, and that final price depends on hardware and restaurant size.

Capabilities

Every claim is binary and checkable. Grades: A primary documentation · B product documentation · C pricing or feature page · D marketing claim · E third-party reporting · F inference with no source. A yes on a differentiator claim requires A or B.

Order capture & FOH workflow

Unknown

Provides a graphical floor-plan editor where an operator can draw sections, place tables of varying shape/capacity, save multiple floor-plan layouts per location, and assign sections to servers.

order-capture-floor-plan-editor

Not scored by this record.

Unknown

Order lines can be tagged to a seat number at entry, and the check can be split by seat afterward without re-keying items.

order-capture-seat-level

Not scored by this record.

Unknown

Items can be assigned to courses and held, with a fire-next-course action available from a handheld or terminal that releases only that course to the kitchen.

order-capture-coursing-hold-fire

Not scored by this record.

Partial

Supports splitting a check by item, by seat, by even N-way, and by arbitrary dollar/percentage amount, and merging checks or tables back together, including after partial payment.

order-capture-split-merge

POS product page lists 'Guest Mode' — "Enable 'Guest Mode' for more efficient ordering and split-check processing" — and the 2026 summer launch note says core POS "introduced Table Overview floor plans, card-style order lists, and a smoother check-splitting experience" (https://www.chowbus.com/news/chowbus-summer-launch-event-epic-upgrades-to-flagship-products). Shortfall: splitting is asserted only as a capability; nowhere on the vendor's site are the split modes enumerated (by item, by seat, even N-way, arbitrary dollar/percent), and merging checks or tables — let alone after a partial payment — is not described on any product, hardware or blog page. https://www.chowbus.com/products/point-of-sale · retrieved 2026-08-03

C
Unknown

Opens a bar tab against a card pre-authorization with a configurable auth amount, supports incremental re-auth as the tab grows, and auto-closes stale tabs at end of day. differentiator

order-capture-bar-tab-preauth

Not scored by this record.

Unknown

An open check can be transferred between servers, tables, and devices, and the transfer is recorded in an audit log naming both employees.

order-capture-transfer-audit

Not scored by this record.

Unknown

Ships a first-party handheld ordering app running natively on the handheld device (not a remote/mirrored desktop session) that can send to kitchen and take a card payment tableside.

order-capture-native-handheld

Not scored by this record.

Partial

With the internet down, terminals and handhelds can still create orders, apply modifiers, send to kitchen, and tender cash, and the vendor publishes what does and does not work offline.

order-capture-offline-order-entry

Chowbus's own product-update post 'New Feature: POS Offline Mode' (https://www.chowbus.com/blog/restaurant-pos-update-offline-mode, retrieved 2026-09-13; first-party blog, grade C) says: 'If the device cannot connect to the network or services, it will automatically switch to offline mode after 30 seconds.' and 'In offline mode, you can browse the menu and add items to the order just like usual, make payments, and send orders to the kitchen.' It lists offline functions: 'Creating orders', 'Sending orders to the kitchen printer', 'Accepting cash and card payments', 'Printing customer receipts', 'Collecting tips'. Orders are saved locally and 'Upon regaining internet connection, orders will be automatically uploaded to the cloud.' Under 'Limitations of Offline Mode' it excludes gift cards, loyalty points and coupons, and says 'Synchronizing or sharing orders between Chowbus devices is not enabled'; also 'Tablet, QR-code, and Kiosk are unable to place orders properly in offline mode.' ESTABLISHED: POS devices create orders, send them to the kitchen printer (the post notes 'Remember to keep Wi-Fi on to automatically send orders to the kitchen printer', i.e. local network required), and tender cash; the vendor publishes what does and does not work offline. NOT ESTABLISHED / SHORTFALL: applying modifiers offline is never named; handhelds are not named (only 'POS device'); orders are not shared across Chowbus devices while offline, a real limit for multi-terminal floors; guest tablet, QR and kiosk ordering do not work offline. https://www.chowbus.com/blog/restaurant-pos-update-offline-mode · retrieved 2026-09-13 adversarially verified

C
Unknown

Guest QR at-table ordering writes items onto the same open check as server-entered items, rather than creating a separate order ticket. differentiator

order-capture-qr-same-check

Not scored by this record.

Unknown

Offers a first-party self-order kiosk that renders the same menu and modifier tree as the POS with no separate menu build, and the vendor documents ADA/accessibility conformance for it. differentiator

order-capture-kiosk-first-party

Not scored by this record.

Unknown

Supports drive-thru-specific order flow: order-point/pay-window/pickup-window separation, order sequencing or tandem-lane assignment, and pull-forward or parking-spot assignment.

order-capture-drive-thru

Not scored by this record.

Unknown

Captures and reports drive-thru speed-of-service timers by segment (order, total, window) tied to individual orders.

order-capture-drive-thru-timers

Not scored by this record.

Unknown

Vendor ships a first-party AI voice ordering agent for phone and/or drive-thru that injects orders directly as POS orders, or publishes a documented API partner program for third-party voice AI. differentiator

order-capture-voice-ai

Not scored by this record.

Unknown

Supports order throttling: per-channel capacity limits per time slot with automatic quote-time extension when kitchen load exceeds a configured threshold. differentiator

order-capture-throttling

Not scored by this record.

Partial

Accepts future-dated/scheduled orders with a per-channel lead time and automatically injects them into the make queue at a computed fire time rather than on receipt.

order-capture-scheduled-orders

Branded mobile app page states the guest app offers "Support for instant pickup or scheduled orders", so future-dated orders are accepted on the first-party digital channel. Shortfall: no per-channel lead-time configuration is documented, and nothing states the order is held and injected into the make queue at a computed fire time rather than printing on receipt — the KDS page (https://www.chowbus.com/hardware/kitchen-display-system) describes no scheduled/timed release behaviour. https://www.chowbus.com/products/branded-mobile-app-for-restaurants · retrieved 2026-08-03

C
Unknown

Provides a distinct catering order flow with quotes, deposits, balance-due tracking, and a delivery/event schedule separate from the standard order queue.

order-capture-catering

Not scored by this record.

Unknown

Pushes an order-ready signal back to third-party marketplaces (e.g. DoorDash) from POS or KDS state, rather than requiring a tablet tap. differentiator

order-capture-order-ready-signal

Not scored by this record.

Unknown

Voids, comps, and discounts require a reason code and can be gated behind role-based manager approval, with all instances recorded in an exception report.

order-capture-void-comp-controls

Not scored by this record.

Menu, modifiers & pricing engine

Partial

Supports modifier groups nested at least three levels deep, each level with independent min/max selection counts and a forced-selection (required) flag.

menu-pricing-nested-modifiers

Vendor product-update post on third-layer menu management: "It now allows for three-level menu item configurations, catering to various complex menu setup requirements", walked through with a seafood-platter example where a choice at one level opens a further required choice (item, then flavor, then spice level) and options can carry surcharges. Shortfall: three levels are documented, but independent min/max selection counts per level and an explicit forced-selection (required) flag are never described as configurable fields — the required-looking behaviour appears only in the worked example. https://www.chowbus.com/blog/restaurant-pos-update-third-layer-menu-management · retrieved 2026-08-03

C
No

A single modifier can carry different prices depending on the parent item and the selected size, configured as a matrix rather than by duplicating the modifier.

menu-pricing-modifier-price-by-parent-size

NEW 2026-09-18 (328th). VERDICT MOVES unknown -> no. BOUND by the same complete back-office census as the topping-tier cell: 158 English locale chunks / 24,814 key-value pairs, enumerated from the webpack chunk-hash table (336/336 async chunks + 33 eager bundles, buildId d3374fcd8d, 0 misses), covering the only routes where modifiers and dish prices are configured. EVIDENCE OF ABSENCE, positive: (a) every price-bearing key in the whole EN catalogue was enumerated - 193 of them - and the only modifier prices are "menu.customizations.option.column.price":"Price" (one column), "dishPreference.field.option.price":"Default Price(optinal)" and "dishPreference.field.default_custom_price":"Default Custom Price". No key is parent-keyed or size-keyed; controls `by size`, `per size`, `size-based`, `per-size`, `sizePrice`, `pricePerSize`, `price by` all score 0 and `matrix` scores 0 in the EN catalogue (its 168 app-wide hits are CSS/SVG transform matrices - POISON). (b) The dish-price editor's own variation axes are enumerated and size is not among them: "priceEditor.drawer.title":"Pricing Variations" with columns Base Price / Member Price / Point Price / Original Price / New Price, plus per-CHANNEL prices (the vendor's own bulk menu template https://static-cache.chowbus.com/sample_meal_upload.csv has exactly pickup_menu_price, ondemand_menu_price, pos_menu_price, smart_ordering_menu_price, third_party_menu_price, online_ordering_menu_price - six channel prices, no size or modifier axis). (c) The vendor documents DUPLICATION, which the claim explicitly rules out: https://intercom.help/chowbus-pos/en/articles/11168073 "The customizations support the same naming to meet the management of different prices for the same dish in different sales channels", and the back office offers "priceEdit.action.copyDish":"Copy a Dish". (d) In Chowbus a size IS itself a customization option (help centre: "choose the temperature, size, sugar level, and toppings"), so the selected size is a sibling option carrying its own single Price - there is no place to key a second option's price on it. The only per-parent lever found is propagation control when editing a shared add-on ("This add-on is currently linked to {dishCount} items. Would you like to update the add-on rules for all associated items?" / "Update Add-on Group Default Only" / "Update All"), i.e. divergence by copy - the duplication pattern the claim rejects, not a matrix. Retrieved 2026-09-18. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-18 adversarially verified

B
Unknown

Supports fractional/sectioned modifier placement (at minimum halves, ideally quarters) with independent pricing per section. differentiator

menu-pricing-fractional-placement

Not scored by this record.

Unknown

The half-and-half pricing rule is operator-configurable among at least two of: charge the higher-priced half, average the halves, or charge each topping at a fraction of full price. differentiator

menu-pricing-half-and-half-rule

Not scored by this record.

No

Supports modifier quantity tiers (light / regular / extra / double) with a configurable price multiplier per tier, distinct from adding the modifier twice.

menu-pricing-topping-quantity-tiers

NEW 2026-09-18 (328th). VERDICT MOVES unknown -> no; the Dish-Preference layer the 320th could not settle is now fully enumerated. BOUND: the COMPLETE English message catalogue of the Chowbus merchant back office - 158 English locale chunks, 24,814 key/value pairs, taken from the webpack chunk-hash table in webpack-c6b69d5f4eb12757e025.js (336/336 async chunks + 33 eager bundles of buildId d3374fcd8d, 0 misses). The back office is the ONLY place modifiers are configured (/menu-management/customizations/{legacy,latest,add,add-latest,edit,duplicate}, /menu-management/dish-preference, all present in the 465-route build manifest). ALL THREE modifier layers now carry a complete field enumeration and none has a tier or multiplier: GROUP - Name, Foreign Name, Custom Code, Required, Minimum/Maximum Selections, Minimum/Maximum Quantities, "Max Quantities Per Option", "Third-Party Add-on Price Adjustment"; OPTION - Name, Foreign Name, "Price" (ONE price column), Customization Group, Status, Quota, Custom Code, "Third-Party Platform Price up", Default Option, Recommended, Default Quantity, Channel Visibility; PREFERENCE (3rd level, "menu.customizations.dishPreferences":"3rd Level items({count} items)") - 36 keys total: Category Name, Foreign Name, per option Name / Foreign Name / "Default Price(optinal)", "Default Custom Price", "Linked with the following actions", and restriction rules "Selection Restrictions", "Quantity Restrictions", "Maximum Quantities Per Selection", Min, Max. Quantity is REPETITION, which the claim explicitly distinguishes from tiering: "dishPreference.restriction.quantity.des":"...No matter what you choose, whether the choices are repeated or not, you must choose at least 2 and at most 4." A 193-key enumeration of every price-bearing i18n key in the 158 EN chunks contains no tier-, multiplier- or level-keyed price. CONTROLS, tokenised and word-boundary, over the 158 EN chunks: `light` 0, `triple` 0, `extra charge` 0, `matrix` 0; `tier` 25 and `tiers` 5 ALL POISON (buffet party-size limit rules "Up to 10 tier conditions", gift-card amount tiers, delivery distance-from/to tiers, loyalty points guideline tiers); `multiplier` 44 ALL POISON (loyalty "Points Multiplier", "Set a multiplier for order points"); `double` 14 POISON (KDS double-tap, duplicate-account prompts); `portion` 2 POISON (tip pooling); `markup` 4 POISON = the third-party CHANNEL price-up, "used to batch update third-party pricing for modifiers. When enabled, you can apply a markup by percentage or fixed amount" - a per-channel markup, not a per-tier one. CORROBORATION on two other surfaces: the 304-article help centre scores tier 0 / multiplier 0 / light 0 and models a light level as a SEPARATE OPTION ("bubble tea defaults to 'less ice'", https://intercom.help/chowbus-pos/en/articles/15198009); the POS iOS 3.87.0 dSYM censused in the 320th carries a per-preference price but no light/regular/extra/double tier symbol, so the store-level app is covered too. Retrieved 2026-09-18. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-18 adversarially verified

B
Unknown

Item base price can be defined as a grid across two variant axes (e.g. size x crust/preparation) with a per-cell price override. differentiator

menu-pricing-size-style-matrix

Not scored by this record.

Unknown

Items can define an included-modifier allowance (e.g. three toppings included) that automatically charges only for overage and credits or forbids substitutions per configuration. differentiator

menu-pricing-included-allowance

Not scored by this record.

Unknown

Supports combo/meal construction where components can be swapped with a price delta, and the system can automatically detect and convert eligible a-la-carte items in the cart into the combo price.

menu-pricing-combos

Not scored by this record.

Unknown

Upsell/suggestive-sell prompts can be configured per item and per channel (POS, kiosk, online), and the vendor reports attach-rate on those prompts. differentiator

menu-pricing-upsell-prompts

Not scored by this record.

Unknown

A single 86 action propagates automatically to POS, KDS, the vendor's own online ordering, kiosk, and connected third-party marketplaces, with a documented propagation latency.

menu-pricing-86-propagation

Not scored by this record.

Unknown

Supports per-item countdown/par counts that decrement on sale and automatically 86 the item at zero, with a scheduled auto-restore. differentiator

menu-pricing-countdown-auto-86

Not scored by this record.

Unknown

Menus, individual items, and prices can be scheduled to activate and deactivate automatically by day and time in the location's own timezone.

menu-pricing-dayparting

Not scored by this record.

Unknown

Supports distinct price books per channel (dine-in, pickup, delivery, kiosk, each third-party marketplace) including percentage-markup rules applied to a base price rather than manual per-item entry.

menu-pricing-channel-price-books

Not scored by this record.

Unknown

Supports dual pricing / cash-discount at the item level with the card price displayed as the base price, applied consistently across POS, kiosk, and online ordering, and printed on the receipt. differentiator

menu-pricing-dual-pricing

Not scored by this record.

Unknown

Stores allergen flags and nutrition values per item and publishes them to online ordering and third-party menus, and can derive nutrition from linked recipe components rather than manual entry.

menu-pricing-allergen-nutrition

Not scored by this record.

Unknown

Menu items and modifiers can be linked to recipes/bills of materials so that a sale depletes theoretical inventory and yields item-level theoretical food cost. differentiator

menu-pricing-recipe-linkage

Not scored by this record.

Unknown

Pushes menus to third-party marketplaces through a certified direct integration (not scraping or a menu-management middleman) and surfaces per-item sync status and rejection errors to the operator.

menu-pricing-3p-menu-push

Not scored by this record.

Unknown

Supports rule-based dynamic pricing where item price varies automatically by time, demand, or channel, with configurable floor/ceiling guardrails.

menu-pricing-dynamic-pricing

Not scored by this record.

Payments & money movement

Unknown

The POS operates with third-party payment processors of the merchant's choosing (documented list of supported processors/gateways) rather than requiring the vendor's in-house processing. differentiator

payments-processor-choice

Not scored by this record.

Unknown

Vendor publishes card-processing pricing publicly (a specific flat rate or interchange-plus markup) rather than quote-only. differentiator

payments-published-rates

Not scored by this record.

Unknown

Native dual-pricing / cash-discount mode stores two prices per item and prints both cash and card totals on the guest check and receipt. differentiator

payments-dual-pricing

Not scored by this record.

Unknown

Surcharging engine automatically excludes debit and prepaid cards via BIN/product-code detection, enforces the network percentage cap, and can be enabled or disabled per location. differentiator

payments-surcharge-guardrails

Not scored by this record.

Partial

All first-party payment terminals accept EMV chip and NFC contactless including Apple Pay and Google Pay.

payments-emv-nfc

CLAIM: all first-party payment terminals accept EMV chip and NFC contactless incl. Apple Pay and Google Pay. VERDICT: partial/B. NEW SURFACE: intercom.help/chowbus-pos (Chowbus POS Intercom Help Center, production, not linked from chowbus.com; sitemap https://intercom.help/chowbus-pos/sitemap.xml 611 locs = 303 en + 296 zh-CN articles + 12 collection pages; href fixpoint over all en bodies added 42 sub-collections and 1 orphan article 12569687, and 6 linked ids that answer 404 (10025314 team management, 10026249 tips setting, 10026337 workflow, 10031147 dashboard general setting, 10363654 buffet setting, 1356955 a foreign id) - none about hardware, KDS, payments or menu pricing; census = 304 en article bodies, 334,665 chars; intercom.help robots.txt bars only /not-authorized, /not-found and does not name ClaudeBot). EVIDENCE: the help centre treats Apple Pay as an accepted card-reader payment method, advising against it only offline: https://intercom.help/chowbus-pos/en/articles/12087005 "Not recommended payment methods Debit card payment: The card balance cannot be verified in real time ... Mobile payments such as Apple Pay: Because offline mode cannot connect to mobile payment platforms in real time, it is recommended to avoid using it"; https://intercom.help/chowbus-pos/en/articles/10346070 "It is recommended that you only use regular credit cards and cash, and try to avoid using debit cards and Apple Pay for transactions" (offline state). Readers are Chowbus-supplied (Card Readers Related FAQs 10346077, "How To Connect A Reader" 10756587; POS iOS 3.87.0 lists Stripe M2/S700/WisePOS E/WisePad 3/Chipper 2X BT and an Adyen reader). WHY NOT YES: across the 304-article census "google pay" 0, contactless 0, nfc 0, emv 0, chip 0 (tokenised); the only card-entry verb is "What to do if the card reader cannot swipe the card" (10346077). Chip and Google Pay acceptance and per-terminal coverage are not stated by Chowbus. Retrieved 2026-09-17. https://intercom.help/chowbus-pos/en/articles/12087005 · retrieved 2026-09-17 adversarially verified

B
Unknown

Accepts contactless payments directly on a phone (Tap to Pay on iPhone and/or Android tap-to-pay) with no separate card reader. differentiator

payments-softpos-tap-to-pay

Not scored by this record.

Unknown

Vendor ships a handheld that takes EMV/NFC payment at the table, including tip prompt and check splitting, without carrying the card away.

payments-pay-at-table

Not scored by this record.

Unknown

Guest can scan a QR code on the printed check or table tent to view and pay the check from their own phone, with the payment closing the check in the POS automatically. differentiator

payments-qr-guest-pay

Not scored by this record.

Unknown

Supports both pre-auth-then-tip-adjust and on-device tip prompt flows, with a documented batch/adjust window and a manager screen for unadjusted tips.

payments-tip-adjust

Not scored by this record.

Unknown

Configurable tip pooling and distribution rules (by hours worked, sales, role percentage, or points) that produce a per-employee tip allocation exportable to payroll. differentiator

payments-tip-pooling

Not scored by this record.

Unknown

Card payments can be captured while the internet is down via store-and-forward, with configurable per-transaction and cumulative offline limits. differentiator

payments-offline-store-and-forward

Not scored by this record.

Unknown

Vendor publicly documents who bears the loss when a stored offline transaction declines on reconnect, and surfaces a post-reconnect report of failed offline payments. differentiator

payments-offline-decline-liability

Not scored by this record.

Partial

First-party gift cards with real-time balance tracking, redeemable across every location in the group and through the online-ordering channel.

payments-gift-cards

Gift card product page: "end-to-end support for both digital and physical gift cards", "dedicated reports fully track gift card fund flows", and "chain restaurant customers can use gift cards at any location" — so first-party cards and group-wide redemption are established. Existence is corroborated by the offline-mode post, which lists "Selling gift cards or processing gift card payments" among the functions that stop when the network drops. Shortfall: redemption through the vendor's own online-ordering / branded-app channel is not documented on the gift card page or the online-ordering page, and balance visibility is described as reporting rather than a real-time balance lookup. https://www.chowbus.com/products/gift-cards-for-restaurants · retrieved 2026-08-03

C
Unknown

House/on-account tabs with per-account credit limits, running balance, and periodic statement or invoice generation.

payments-house-accounts

Not scored by this record.

Unknown

A single check can be settled with multiple tenders and split by seat, by item, by even shares, or by arbitrary amount, with no hard cap below eight ways.

payments-split-tender

Not scored by this record.

Partial

Voids, refunds, discounts, and no-sales require role-based authorization (manager PIN or approval) and write to an immutable audit log identifying the approver.

payments-refund-void-controls

Source: Chowbus POS iOS enterprise build 3.86.2 (ChowbusPOS.ipa, vendor's shipped binary on static-cache.chowbus.com; Dart AOT strings, quoted only as whole lines), retrieved 2026-09-13. Corroborated by the vendor's own merchant back-office en-US locale bundle on pos-static.chowbus.com: locale90.d058698853a70fc23a4f.js, Wayback capture 20250710124705, with the same keys in locale77.d4442e4e7917e9b90cb3.js, capture 20240926153738. MET, role-based gating with an authorization override: the POS ships package:pos_flutter/modules/permmision_check/permission_check_dialog.dart, an AuthorizationAction model with require_authorization_actions and void_authorization, permission codes sys:settings:cashbox:open, transaction:refunds:create and transaction:payment:cancel, and denial strings "Cancel payment no permission" and "cancel order no permission". The back office offers "Require authorization for voiding dishes" and "Enable authorization keypad for the following actions when user does not have permission". MET, approver-identifying activity log: the back-office User Activity report has columns "Operator" and "Authorized By" and activity types "Void the order", "Void meals", "Refund", "Discount line items", "Order discounts", "Open cash box" and "Cancel payment". Order-detail 'Operate logs' also carry "Approver". NOT ESTABLISHED: (a) that the log is immutable: there is no immutability or tamper-evidence wording, and 0 lines match 'audit' in the binary's post-template strings; (b) that discounts in particular require authorization: the keypad's action list is not in the locale bundle, and the binary has 0 lines pairing discount with permission/authorization/approval; (c) whether the gate is on by default, since these are merchant toggles. POISON EXCLUDED: 'Card Authorization:' / authorizationCode in receipt templates is card-network authorization; 'Photo is used only for attendance verification, viewable by authorized managers' is timecard. Bound: the back-office bundle is a 2025-07-10 capture, the latest en locale among 888 captured chunks; a client bundle is not a census of server-side behaviour. https://static-cache.chowbus.com/app-download/pos-ios/3.86.2/ChowbusPOS.ipa · retrieved 2026-09-13 adversarially verified

A
Unknown

In-product dispute/chargeback dashboard that lists open disputes and allows evidence submission assembled from the POS transaction record. differentiator

payments-chargeback-tooling

Not scored by this record.

Unknown

Tokenized card-on-file for a guest profile, reusable across online ordering, phone orders, and in-store, with no PAN stored by the merchant. differentiator

payments-card-on-file

Not scored by this record.

Unknown

Vendor publishes its deposit schedule and offers a next-day or same-day/instant funding option. differentiator

payments-payout-timing

Not scored by this record.

Unknown

Vendor provides point-to-point encryption and a current PCI DSS 4.x Attestation of Compliance / P2PE listing available to merchants on request.

payments-p2pe-pci4

Not scored by this record.

Kitchen & production

Partial

Items route to specific KDS stations by item, category, order type, or revenue center, with routing rules configurable per location without vendor involvement.

kitchen-station-routing

Chowbus's menu-management setup guide (https://www.chowbus.com/blog/restaurant-pos-update-menu-management, retrieved 2026-09-13; first-party how-to post, grade C) says the restaurant 'can create and modify categories, dishes, customizations, and dish preference settings on their Dashboard', and that the dish form ('Menu Management' -> 'Dishes' -> 'Create Dish') includes: '[Printers]: Select the printer where the dish is sent. If no printer is associated, the dish won't be printed when sent to the kitchen.' The KDS hardware page (https://www.chowbus.com/hardware/kitchen-display-system, marketing) claims 'Multiple workstation screens with dish-specific assignments and three display modes adapt to any restaurant setup' and 'Flexible filtering of dine-in/takeout orders optimizes workflow efficiency'. ESTABLISHED: per-item routing to kitchen printers, configured by the merchant on its own Dashboard. NOT ESTABLISHED / SHORTFALL: per-item assignment to KDS stations is only a marketing claim, and the KDS FAQ says 'Our team helps with setup, screen configurations', so self-service KDS routing is not shown. The category form has no printer or station field, so routing by category is not documented. Dine-in/takeout is a display filter, not a routing rule, so routing by order type is not documented. Routing by revenue center is not mentioned. https://www.chowbus.com/blog/restaurant-pos-update-menu-management · retrieved 2026-09-13 adversarially verified

C
Partial

An expo screen consolidates items from multiple prep stations into a single order view and only marks the order complete when every contributing station has bumped its items.

kitchen-expo-consolidation

KDS hardware page describes "Multiple workstation screens with dish-specific assignments and three display modes", "Automatic dish consolidation gives kitchen staff a clear picture", and "Full-order display at expediting station with double-tap confirmation" — an expo station showing the whole order across prep stations. Shortfall: nothing states that order completion is gated on every contributing station having bumped its own items; the documented expo action is a manual double-tap confirmation, not an all-stations-complete rule. https://www.chowbus.com/hardware/kitchen-display-system · retrieved 2026-08-03

C
Unknown

Items can be assigned to courses and held, then fired to the kitchen on demand from a server terminal, handheld, or expo screen. differentiator

kitchen-course-firing

Not scored by this record.

Unknown

Per-item cook times are configurable and the KDS staggers item start/display times so that all items on an order finish simultaneously. differentiator

kitchen-prep-time-pacing

Not scored by this record.

Unknown

Kitchen load throttling automatically paces or delays release of incoming digital orders, or extends quoted prep times, once a configurable order-volume or ticket-time threshold is crossed. differentiator

kitchen-order-throttling

Not scored by this record.

Unknown

Pausing a store or 86ing an item from the POS/KDS propagates the pause or availability change back to connected third-party marketplaces (DoorDash, Uber Eats, Grubhub) automatically. differentiator

kitchen-channel-pause-propagation

Not scored by this record.

Unknown

Bumping an order ready on the KDS sends an order-ready status event back to the third-party marketplace so couriers are dispatched on actual readiness. differentiator

kitchen-order-ready-callback

Not scored by this record.

No

KDS supports physical bump bars or programmable keypads in addition to touchscreen interaction, with documented supported models.

kitchen-bump-bar-hardware

CLAIM: KDS supports physical bump bars or programmable keypads in addition to touchscreen, with documented supported models. VERDICT: no/B. NEW SURFACE: intercom.help/chowbus-pos (Chowbus POS Intercom Help Center, production, not linked from chowbus.com; sitemap https://intercom.help/chowbus-pos/sitemap.xml 611 locs = 303 en + 296 zh-CN articles + 12 collection pages; href fixpoint over all en bodies added 42 sub-collections and 1 orphan article 12569687, and 6 linked ids that answer 404 (10025314 team management, 10026249 tips setting, 10026337 workflow, 10031147 dashboard general setting, 10363654 buffet setting, 1356955 a foreign id) - none about hardware, KDS, payments or menu pricing; census = 304 en article bodies, 334,665 chars; intercom.help robots.txt bars only /not-authorized, /not-found and does not name ClaudeBot). EVIDENCE: the "Hardware User Guide" collection (https://intercom.help/chowbus-pos/en/collections/14090542-hardware-user-guide) enumerates Chowbus's hardware manuals: printer, label printer, waitlist, customer-facing display, weight scale, tablet, Chowbus Stand, Zebra printer and KDS; the "Hardware Related FAQs" and "Hardware Device Related FAQ videos" collections add card readers, network, printers, cash drawer, CFD, kiosk. None is a bump bar or keypad. KDS User Manual (https://intercom.help/chowbus-pos/en/articles/12300756-kds-user-manual): "After unpacking, you will get a KDS monitor and a power adapter" - no peripheral in the box. KDS interaction is touch: https://intercom.help/chowbus-pos/en/articles/12095099 "KDS flashing click logic optimization Two modes are available: Confirm before operating (default) First click: only stops flashing; Second click: execute the action". Agrees with the back-office catalogue's 132 kitchenDisplayScreenSettings keys (pos-static.chowbus.com locale145, prior pass: bump 0). BOUND/CONTROLS over the 304-article census (tokenised, word-boundary, case-insensitive): bump 0, bumps/bumped/bumping 0, "bump bar" 0, bumpbar 0, keypad(s) 0, usb 0, peripheral(s) 0; keyboard 1 = POISON (POS App search "The keyboard pops up automatically", article 11711007); button 352 = on-screen UI buttons (poison). Positive controls: kds 18, "kitchen display" 4. The 6 unresolved linked ids are titled by their anchors and none concerns KDS or hardware. No bump-bar model is documented anywhere in the vendor's hardware documentation. Retrieved 2026-09-17. https://intercom.help/chowbus-pos/en/articles/12300756-kds-user-manual · retrieved 2026-09-17 adversarially verified

B
Unknown

An all-day view aggregates outstanding quantities per item (and per modifier) across all open tickets on the station.

kitchen-all-day-counts

Not scored by this record.

Unknown

Configurable target cook times per station or order type, with visual color escalation and/or audible alert when a ticket exceeds target.

kitchen-sla-alerts

Not scored by this record.

Unknown

If a KDS screen or kitchen printer goes offline, tickets automatically fail over to a designated backup printer or screen with no ticket loss. differentiator

kitchen-printer-fallback

Not scored by this record.

Unknown

KDS continues to receive and display tickets from on-site POS terminals when the internet or cloud backend is unreachable. differentiator

kitchen-offline-operation

Not scored by this record.

Unknown

Station screens can display item-level build/assembly detail (recipe steps, portioning, or full modifier breakout) rather than only the ticket line text. differentiator

kitchen-item-build-screens

Not scored by this record.

Unknown

Sectioned/fractional topping placement (halves, quarters, specific sections) is rendered visually and unambiguously on the make-line screen or ticket. differentiator

kitchen-pizza-fractional-display

Not scored by this record.

Unknown

A bumped ticket can be recalled/unbumped, and an individual item can be refired or reprinted without re-entering the order.

kitchen-recall-refire

Not scored by this record.

Unknown

Edits made in the POS to an order already displayed in the kitchen visually flag the added, changed, or removed items on the live ticket. differentiator

kitchen-order-modification-alerts

Not scored by this record.

Unknown

Bumping an order ready triggers a guest-facing notification — SMS/text, app push, or an order-status display board — without a separate product purchase. differentiator

kitchen-guest-ready-notification

Not scored by this record.

Unknown

Waste, spoilage, and remakes can be logged directly at the kitchen/KDS screen with reason codes, and the entry depletes inventory.

kitchen-waste-logging

Not scored by this record.

Unknown

Reports actual ticket and per-station times (average and percentile) sliced by daypart, station, and order channel, exportable to CSV or an API.

kitchen-speed-of-service-reporting

Not scored by this record.

Unknown

Generates prep lists or predicted prep quantities from historical sales and forecast demand, surfaced to kitchen staff as a daily prep task list.

kitchen-prep-forecasting

Not scored by this record.

Delivery, dispatch & third-party channels

Partial

Product includes a native in-house driver module: drivers are first-class entities with clock-in/out, assignment state (in-store / on-run / returning), and per-driver run history reportable from the POS itself (not via a third-party add-on).

delivery-driver-roster

Source: Chowbus POS iOS enterprise build 3.86.2 (ChowbusPOS.ipa, vendor's shipped binary on static-cache.chowbus.com; Dart AOT strings, whole lines only), retrieved 2026-09-13. Corroborated by the vendor's merchant back-office en-US locale bundles on pos-static.chowbus.com, Wayback captures: locale66.3c785c25bd72e39fc859.js 20231107233450; locale75.568c0972cf2bcf19bf73.js 20240828231425; locale77.d4442e4e7917e9b90cb3.js 20240926153738; locale90.d058698853a70fc23a4f.js 20250710124705. MET, drivers as first-class in-house staff: the POS has module package:pos_flutter/modules/delivery_assign_driver, identifiers get:driverRole and orders:driver:update, and UI strings "Assign Driver" and "Reassign Driver". The back office defines the staff role 'Full-Time Driver' followed by '(Delivery Only, No Order Taking)' (fullwidth parentheses in the raw bytes) and the setting 'Use your own delivery drivers'. locale90 says 'Allow the ability to assign driver of the delivery order on POS. For adding driver, please go to { teamLink }.' MET, per-driver reporting from the POS: "Print Driver Closeout Report", module package:pos_flutter/modules/closeout_report/driver_closeout_report, and permission codes reports:driver:history, reports:driver:daily and reports:driver:daily:payment_list. PARTLY MET, clock-in/out: drivers are role-bearing employees under the generic timecard ('Clock In', /v2/timecard/clockin; back-office role option 'Must clock in before accessing POS App'), with no driver-specific clock. NOT ESTABLISHED, assignment state (in-store / on-run / returning): no such state vocabulary in the binary's 148,644 extracted strings or in the back-office locale keys. The back office's 'When manually finishing an order, trigger a pop-up to assign a driver upon clicking 'Finish'.' (locale77) records the driver on the order at completion, not a live run state. POISON EXCLUDED: Chowbus marketplace courier strings (DeliveryAssignmentExtension, /sona/.../delivery_asgmts, 'Chowbus drivers', diner SMS 'Our driver is headed out...'), DoorDash Drive copy, Flutter Route/rune symbols, and printer drivers in the KDS binary. Bound: a client binary and archived bundles show the code exists; server-side flags may gate it per merchant. https://static-cache.chowbus.com/app-download/pos-ios/3.86.2/ChowbusPOS.ipa · retrieved 2026-09-13 adversarially verified

A
No

Provides a dedicated dispatch/expo screen showing undispatched orders, driver availability, and elapsed time per order, with multi-order run batching (assigning 2+ orders to one driver as a single run).

delivery-dispatch-board

CLAIM: dedicated dispatch/expo screen with undispatched orders, driver availability, elapsed time per order, and multi-order run batching. VERDICT: no. The earlier premise "no in-house driver module is documented at all" is FALSE (see delivery-driver-roster), so this is now scoreable. NEW SURFACES (2026-09-16): (1) the LIVE en-US message catalogue of Chowbus's merchant back office, https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js (923,565 B, HTTP 200 anonymous; located from the chunk map in the live webpack runtime https://pos-static.chowbus.com/_next/static/chunks/webpack-c6b69d5f4eb12757e025.js, which names 285 locale chunks; locale145 is the merged en-US dictionary: 11,930 key/value pairs parsed of 12,102 raw '":"' separators, 7 duplicate keys, i.e. one language). Earlier passes used the Wayback capture locale90 of 2025-07-10 (4,317 pairs); this is the current build, 2.8x larger. (2) Chowbus POS iOS 3.87.0, published to the listable bucket static-cache.chowbus.com on 2026-09-16 (newer than the 3.86.2 already mined), AND ITS dSYM https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.dSYM.zip (174,300,872 B, anonymous): App.framework DWARF names 1,517 package:pos_flutter source files and 42,680 Dart function names; the native ChowbusPOS DWARF names 1,926 Swift/ObjC source files (Modules/Menu 1,322 path refs, Payment 576, Order 499, Printer 442, Permission 147, Inventory 16...). WHAT EXISTS is per-order assignment only: "setting.deliveryConfig.assignDriver.switch.label":"When manually finishing an order, trigger a pop-up to assign a driver upon clicking 'Finish'."; "setting.deliveryConfig.description":"The following platforms use self-delivery. Once selected, you can assign your own drivers for orders from these platforms on the POS."; the POS function census has DeliveryAssignDriverPage.build / DeliveryAssignDriverController.onConfirm, ChangeDriverController.onSelectDriver, OrderLogic.tryAssignDriver, OrderExtensions.canAssignDriver (one order, one driver) and a DriverCloseoutReport. BOUND: live back-office catalogue 11,930 pairs; 42,680 Flutter function names + 1,517 Flutter files; 1,926 native source files (native delivery files: Delivery.swift, DeliveryFee.swift, DeliveryOrderEventConsumer.swift, DeliveryOrderNotice.swift, Driver.swift, OnlineDeliveryAssignment.swift, ThirdPartyDeliveryOrders* - no board). CONTROLS (tokenised, case-insensitive): dispatch 0 in the catalogue (raw bytes 0; the 2025 locale90 DoorDash "dispatch the order to DoorDash" string is gone) and 0 in POS strings with a driver/delivery context; trip(s) 0 tokenised (raw 8 = POISON "Stripe"); batch 40 in catalogue, 0 with driver/delivery context (POISON: KDS "Send Batch-Based", batchPriceEdit, tip-allocation /sheet/batch, SqfliteBatch); run(s) 7, route 2, 0 with delivery context (POISON: AppRoutes navigation); "available driver"/"driver status" 0; "multiple orders" 2, neither delivery. POISON also: DeliveryStatusController._isBundle / multiRestaurantPrepState is the Chowbus-marketplace courier status view. Not counted: the app-download/driver-ios ChowbusDriver.ipa (13,592,189 B, 2023-05) and restaurant-ios ChowbusRestaurant.ipa 1.9.47 in the same bucket are Chowbus MARKETPLACE apps (gig-driver "Block Added", "acceptance_rate", payouts; restaurant "lunch cut-off", "Door to Door" shuttle, api.chowbus.com), not Chowbus POS. Retrieved 2026-09-16. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-16 adversarially verified

B
Unknown

Dispatch includes a live map view with geocoded stops and system-generated route sequencing (turn order optimization) for a multi-stop run, not just a static address list. differentiator

delivery-route-map

Not scored by this record.

Unknown

Captures live driver GPS position from a driver-facing mobile app and surfaces it back to the dispatch screen. differentiator

delivery-driver-tracking

Not scored by this record.

Unknown

Delivery areas can be defined as arbitrary map polygons or by drive-time isochrones, not solely as a radius or a ZIP/postcode list. differentiator

delivery-zones-polygon

Not scored by this record.

Partial

Each delivery zone carries its own independently configurable delivery fee, order minimum, and quoted promise time, applied automatically from the validated customer address.

delivery-zone-pricing

Source: Chowbus's own merchant back-office en-US locale bundle on pos-static.chowbus.com (locale90.d058698853a70fc23a4f.js, Wayback capture 20250710124705, onlineOrderingSettings.* keys), retrieved 2026-09-13. Scope is first-party self-delivery ('Use your own drivers to handle delivery orders placed through your website.'), not DoorDash or marketplace delivery. MET, fee varies by distance zone: 'Tiered Fee' -- 'Allow you to set multiple levels of delivery fees based on distance ranges.' -- with tier columns 'Distance From' and 'Distance To', inside an overall radius ('Define the delivery area by setting a radius. The delivery zone will be a circle centered on your store, with the radius specified below.'). The fee is applied automatically ('This fee will be automatically applied to all delivery orders.'), and the POS 3.86.2 binary carries maximum_delivery_radius and 'Out Of Delivery Range'. NOT ESTABLISHED / SHORTFALL: per-zone order minimum and per-zone promise time. The bundle exposes ONE store-wide 'Minimum Order Value' ('Set the minimum order value required for a customer to be eligible for delivery service.') and ONE 'Delivery Duration' ('Define the average estimate delivery duration in minutes.'). There is no tier-level minimum or duration key, and the tier table names only distance bounds. Zones are concentric distance rings around the store, not independently drawn areas. POISON EXCLUDED: the 41 non-quoted 'zone' hits in the POS binary are Dart Zone / timezone symbols; payoutFeeReport.thirdparty_delivery_fee and the DoorDash fee description are third-party delivery. Bound: 'zone' occurs once in this file. The capture is 2025-07-10, the latest en-US locale chunk among 888 archived back-office chunks, so later server-side changes are not excluded. Address-radius enforcement belongs to delivery-address-validation and is not counted here. http://web.archive.org/web/20250710124705/https://pos-static.chowbus.com/_next/static/chunks/locale90.d058698853a70fc23a4f.js · retrieved 2026-09-13 adversarially verified

A
Unknown

Address entry is validated/geocoded against a mapping service at order time and rejects or flags out-of-zone addresses before the order is accepted.

delivery-address-validation

Not scored by this record.

Unknown

Tracks per-delivery driver compensation inputs — mileage or distance driven per run, per-delivery flat reimbursement, and driver-retained tips — and exports them to payroll as separate reimbursement vs. wage lines. differentiator

delivery-driver-comp

Not scored by this record.

Unknown

Provides a driver cash bank / settle-up flow that reconciles cash collected, orders assigned, and tips owed at end of shift, producing a per-driver over/short figure.

delivery-cash-reconcile

Not scored by this record.

Unknown

Can hand a first-party order to an on-demand courier marketplace (DoorDash Drive, Uber Direct, Nash, Relay or equivalent) natively from the POS, with the courier quote and status returning into the order record.

delivery-daas-dispatch

Not scored by this record.

Unknown

Supports hybrid dispatch: rules that automatically overflow an order to a DaaS courier when no in-house driver is available, out of zone, or past a wait threshold. differentiator

delivery-daas-fallback

Not scored by this record.

Unknown

Offers direct, first-party certified API integrations with DoorDash, Uber Eats, and Grubhub marketplaces (vendor-owned, not solely resold through Otter/Deliverect/Chowly/ItsaCheckmate middleware). differentiator

delivery-3p-direct-integration

Not scored by this record.

Unknown

Third-party marketplace orders inject automatically into the POS as normal tickets that fire to KDS/printers without tablet re-keying or manual accept.

delivery-3p-injection

Not scored by this record.

Unknown

Menu, pricing, modifiers, and photos publish from the POS master menu out to connected third-party marketplaces, including channel-specific price markups, without maintaining a separate menu in each portal.

delivery-menu-push

Not scored by this record.

Unknown

Marking an item or modifier 86'd in the POS pushes item-level out-of-stock status to connected third-party channels in near real time, and restores it on availability (DoorDash requires item and item-option 86ing of new POS partners).

delivery-86-sync

Not scored by this record.

Unknown

Store can be paused/deactivated on each connected third-party marketplace from inside the POS with a timed auto-reactivation, rather than only from each marketplace's own tablet or portal.

delivery-store-pause

Not scored by this record.

Unknown

Produces a third-party reconciliation report matching marketplace payout deposits to POS-recorded 3P sales, itemizing commission, marketing fees, refunds/adjustments, and identifying missing or unpaid orders. differentiator

delivery-3p-reconciliation

Not scored by this record.

Unknown

Vendor exposes integration health to the operator — failed/rejected order injections, connection status per channel, and alerts on failure — rather than failing silently. differentiator

delivery-injection-error-visibility

Not scored by this record.

Unknown

Guests receive a branded order status / driver tracking page or SMS link on the restaurant's own domain for first-party delivery orders, driven by real order and driver state.

delivery-tracking-page

Not scored by this record.

Unknown

Quoted delivery promise times adjust dynamically from current kitchen load, driver availability, and zone drive time, rather than a fixed per-store constant. differentiator

delivery-promise-time

Not scored by this record.

Unknown

Vendor documents explicit offline behavior for delivery: whether cash delivery orders, driver assignment, and driver settlement continue during an internet outage.

delivery-offline-behavior

Not scored by this record.

Digital ordering & guest-facing channels

Partial

Vendor ships a first-party, commission-free web ordering site on the restaurant's own branding/domain that writes orders directly into the POS with no per-order marketplace commission.

digital-first-party-web

Digital Experience Suite includes online ordering on the restaurant's website plus a branded mobile app; commission model and direct POS write-through are not documented. https://www.chowbus.com/ · retrieved 2026-08-01

D
Yes

The web/app ordering menu is generated from the same POS menu record as in-store — one item edit propagates to all first-party digital channels without a separate digital menu build.

digital-menu-single-source

Branded app product page states "Menus, pricing, and membership benefits sync automatically with your POS". The online-ordering product-update post makes the same point for the web channel — menu synchronisation from the POS "eliminates duplicate data entry" (https://www.chowbus.com/blog/restaurant-pos-update-online-ordering) — and the POS product page describes availability edits as "Quick-adjust dish availability with a simple long press, with changes instantly synced across all menus". Three first-party pages agree that the digital menu is generated from the POS menu record with no separate build. https://www.chowbus.com/products/branded-mobile-app-for-restaurants · retrieved 2026-08-03

C
Unknown

Vendor offers a branded native iOS and Android ordering app (published under the restaurant's own brand in the App Store/Play Store), not only a mobile web page or a shared multi-restaurant marketplace app. differentiator

digital-native-app

Not scored by this record.

Partial

Guests can create an account with saved addresses, saved (tokenized) payment methods, and one-tap reorder of a previous order across first-party channels.

digital-account-saved-payment

CLAIM: guests can create an account with saved addresses, saved (tokenized) payment methods and one-tap reorder across first-party channels. VERDICT: partial. The account conjunct is met, but the first-party ONLINE-ORDERING WEB channel (the surface the 315th note said "was not located") has no saved address, no stored card and no reorder. NEW SURFACE: Chowbus's own online-ordering Next.js app at pos.chowbus.com/online-ordering (robots.txt "User-agent: * Disallow:" = open; found from 2,599 pos.chowbus.com/online-ordering URLs in the Wayback CDX index). Live store page https://pos.chowbus.com/online-ordering/store/restaurant/11422 and its /checkout route. All 28 chunks those two pages load were read (2,192,051 B, incl. the only lazy chunk the webpack runtime names, 318e79ae.45d78432189da73f.js, and https://pos.chowbus.com/online-ordering/v2/_next/static/chunks/app/store/%5BrestaurantName%5D/%5BrestaurantId%5D/checkout/page-927a87e379e3dcd0.js). MET, account: the generated API client in https://pos.chowbus.com/online-ordering/v2/_next/static/chunks/722-0ace0b1a6614fcbd.js has apiV1UserRegisterCreate POST "/online-ordering/api/v1/user/register", apiV1UserLoginCreate POST "/online-ordering/api/v1/user/login", apiV1UserList GET "/online-ordering/api/v1/user" (read for member + awards) and apiV1OrderMemberCheckoutCreate POST "/online-ordering/api/v1/order/member-checkout". The en locale in https://pos.chowbus.com/online-ordering/v2/_next/static/chunks/494-66bec96ad62e7220.js has "user.reward.card.not_login_title":"Join the rewards program, start saving!". SHORTFALL, saved payment: the checkout offers only "placeorder.addNewCreditCart.tips":"Add New Credit/Debit Card" and "placeorder.useNewCreditCart.title":"Use Credit/Debit Card". The cart store (https://pos.chowbus.com/online-ordering/v2/_next/static/chunks/957-f38fcbd5c6ed11e3.js) holds the card as per-session state, stripePayInfo:{... stripeCreditCardPaymentMethod:null ...}, filled by attachStripCreditCardPaymentMethod from the card just typed ("shoppingcart.creditcard.ending_in":"ending in {last4}" reads i.card.last4 of that fresh PaymentMethod). SHORTFALL, address and reorder: "placeorder.addNewAddress.tips":"Add Delivery Address" and "orderService.placeholder.address":"Enter your address here" are free entry. BOUND: the client's full operation list is 26 methods (delivery/pickup available_times, loyalty/setting, marketing coupons, order checkout/member-checkout/place/delete, payment/public_key, promotions, delivery quote, restaurants, blacklist, user/login/register). None of them lists or saves a payment method, an address, or past orders. CONTROLS (tokenised, word-boundary, case-insensitive, all 28 chunks): saved card 0, save card 0, card on file 0, saved payment 0, payment methods 0, setupintent 0, setup_future_usage 0, customer_id 0, reorder 0, order history 0, past orders 0, recent orders 0, my orders 0, address book 0, saved address(es) 0, default address 0, addresses 0. "order again" 1 = poison ("try to place order again", a network-error message). Raw substring "reorder" 2 = poison (vConsole _reorderPluginList). This matches the 315th reading of the QR table-ordering and loyalty-portal bundles (fresh Stripe PaymentMethod per payment, 0 reorder/address_book). So three of Chowbus's first-party guest channels lack all three stored conveniences. NOT READ: the native branded app (marketing page: "One-tap login for discounts, points, and bilingual support", which is login, not reorder). That is why this is partial, not no. Retrieved 2026-09-16. https://pos.chowbus.com/online-ordering/store/restaurant/11422/checkout · retrieved 2026-09-16 adversarially verified

B
Unknown

Digital checkout presents configurable or algorithmic upsell/cross-sell suggestions (rules-based add-ons or personalized recommendations from order history), with attach-rate reporting on those suggestions. differentiator

digital-upsell-engine

Not scored by this record.

Unknown

Supports future/scheduled orders with per-daypart throttling — capacity limits on orders or items per time slot that automatically close slots when the kitchen is saturated.

digital-scheduled-pacing

Not scored by this record.

Unknown

Single digital ordering flow supports pickup, curbside (with arrival check-in), dine-in/QR table ordering, and delivery, with mode-specific fees and prep timing.

digital-fulfillment-modes

Not scored by this record.

Unknown

Supports guest-facing QR scan-to-order and/or scan-to-pay at the table that opens or attaches to the existing POS check, including splitting and tipping.

digital-qr-table

Not scored by this record.

Unknown

Vendor ships a self-order kiosk running the same menu and modifier logic as the POS, with accessibility-compliant UI and unattended EMV payment. differentiator

digital-kiosk

Not scored by this record.

Unknown

Supports group ordering: a shareable link where multiple participants add their own items to one order under a per-person or total spend cap, with split or single payment.

digital-group-ordering

Not scored by this record.

Unknown

Offers a distinct catering ordering flow with separate catering menu/minimums, lead-time rules, quotes or proposals, deposits, and invoice/house-account or ACH payment terms. differentiator

digital-catering-portal

Not scored by this record.

Unknown

Vendor offers AI voice phone ordering (native or a named certified partner) that answers inbound calls and injects the completed order into the POS without staff transcription. differentiator

digital-voice-ai-phone

Not scored by this record.

Unknown

Supports AI voice ordering at the drive-thru lane, integrated with the POS menu/modifiers and with escalation-to-human handoff.

digital-drivethru-ai

Not scored by this record.

Unknown

Supports conversational SMS or chat ordering/reordering (text-to-order or text-a-link) that lands in the POS.

digital-sms-ordering

Not scored by this record.

Unknown

Supports Order with Google — the restaurant's direct ordering link is provisioned to the Google Business Profile as an ordering option (ideally set as 'Preferred by Business'), rather than leaving marketplace links as the only choice. differentiator

digital-google-order

Not scored by this record.

Unknown

Supports Apple Business Connect ordering placement — an 'Order Food' custom action on the Apple Maps place card pointing at the vendor's first-party ordering flow.

digital-apple-business-connect

Not scored by this record.

Unknown

Loyalty accrual and redemption work inside the first-party digital ordering flow using the same guest identity as in-store, not as a separate post-purchase enrollment.

digital-loyalty-attach

Not scored by this record.

Unknown

Supports guest subscription / membership programs (recurring billing for a delivery-fee waiver, a per-period item entitlement, or a paid loyalty tier) managed in the platform.

digital-subscriptions

Not scored by this record.

Unknown

Discounts, coupon codes, and loyalty offers are defined once and honored identically across POS, kiosk, and first-party digital channels, with channel eligibility controls.

digital-promo-parity

Not scored by this record.

Unknown

Vendor documents that the operator owns and can export first-party guest records (email, phone, consented marketing status, order history) in bulk, without a fee or vendor approval. differentiator

digital-guest-data-ownership

Not scored by this record.

Unknown

Digital checkout uses vendor-hosted fields or a hosted payment page so card data never touches the restaurant's page, with the vendor publishing PCI DSS 4.0 compliance (including the client-side script-integrity requirements effective March 2025) and supporting 3DS.

digital-checkout-pci-sca

Not scored by this record.

Unknown

Digital channels support the same service-fee / dual-pricing / card-surcharge configuration as the POS, with the required guest-facing disclosure and correct handling of jurisdictions and card brands where surcharging is prohibited. differentiator

digital-surcharge-transparency

Not scored by this record.

Guest data, loyalty & marketing

Partial

Maintains a single guest profile that automatically merges transactions from in-store POS, first-party web/app ordering, and kiosk under one identity (phone or email match), with documented dedup/merge behavior.

guest-loyalty-unified-profile

Loyalty product page: "Quick membership registration through tablets, QR codes, and other channels, using phone numbers as unique identifiers, applicable across all channels", and the program "works across all Chowbus platforms—kiosks, tablets, QR codes, and apps—with instant data syncing". A single phone-keyed identity spanning POS, kiosk and first-party digital is therefore documented. Shortfall: dedup/merge behaviour is not documented at all — nothing describes what happens to duplicate or conflicting records, or whether email is a matching key alongside phone. https://www.chowbus.com/products/restaurant-loyalty-programs · retrieved 2026-08-03

C
Unknown

Orders arriving from third-party marketplaces (DoorDash, Uber Eats, Grubhub) attach to a native guest profile with usable guest identity rather than landing as anonymous tickets. differentiator

guest-loyalty-thirdparty-identity-attach

Not scored by this record.

Partial

Supports at least two of points-per-dollar, visit/punch-count, and spend-tier accrual as configuration, without custom development or a bolt-on loyalty vendor.

guest-loyalty-accrual-models

Chowbus product-update post (https://www.chowbus.com/blog/restaurant-pos-update-loyalty-point-full-service-testimonial, retrieved 2026-09-13), 'Set Up Point Rules': 'After enabling the member points switch, set rules like "Earn Y points for every $X spent."' The quick-service sibling post (https://www.chowbus.com/blog/restaurant-pos-update-loyalty-point-quick-service-testimonial) gives the example 'Customers earn 10 points for every $1 spent.' The archived loyalty page (http://web.archive.org/web/20230925131617/https://pos.chowbus.com/products/loyalty) says: 'Points based on spend, or sign up. Restaurants have full customization for points to earn and spend.' Conjuncts: points-per-dollar as native Dashboard configuration MET. Visit/punch-count accrual NOT ESTABLISHED (no first-party page describes it; a sign-up bonus is not visit accrual). Spend-tier accrual NOT ESTABLISHED: member 'tier level' exists per https://www.chowbus.com/news/the-all-new-chowbus-loyalty-web, but no page ties tiers to earn rate, and the loyalty product page's 'tiered rewards' are redemption options. Member 'Cashback Rate' is also proportional to spend. One of the two required models is established, hence partial. Grade C (vendor product-update/marketing posts). https://www.chowbus.com/blog/restaurant-pos-update-loyalty-point-full-service-testimonial · retrieved 2026-09-13 adversarially verified

C
Unknown

Supports status tiers with automatic promotion and demotion driven by rolling-window spend or visit counts. differentiator

guest-loyalty-tiers

Not scored by this record.

Unknown

Documents explicitly what loyalty lookup, accrual, and redemption do when the POS loses connectivity (queue-and-reconcile vs blocked). differentiator

guest-loyalty-offline-behavior

Not scored by this record.

Unknown

Offer/discount engine exposes explicit stacking and precedence rules (exclusive vs combinable, order of application) as configuration. differentiator

guest-loyalty-offer-stacking-rules

Not scored by this record.

Unknown

Offers can be issued to a dynamically defined audience (rules over recency, frequency, spend, or items purchased) rather than only broadcast to the whole list. differentiator

guest-loyalty-targeted-offers

Not scored by this record.

Unknown

Automatically computes recency/frequency/monetary or equivalent lifecycle segments (new, regular, at-risk, lapsed, VIP) without the operator building the queries. differentiator

guest-loyalty-rfm-segmentation

Not scored by this record.

Yes

Ships triggered lifecycle automations (birthday, first-visit thank-you, lapsed win-back) as configurable always-on campaigns rather than one-off manual sends.

guest-loyalty-lifecycle-automation

Chowbus SMS Marketing product page (https://www.chowbus.com/products/sms-marketing-for-restaurants, retrieved 2026-09-13), under the heading 'Automated Marketing: Set It and Forget It': 'Complete Customer Journey: Auto-triggers for birthdays, first order bonuses, win-back campaigns, and retention alerts.' The page presents these separately from 'Manual Campaigns: Total Control'. The Chowbus Dashboard membership walkthrough (https://www.chowbus.com/blog/restaurant-pos-update-loyalty, retrieved 2026-09-13) says: '[Autopilot]: SMS and member interaction can be sent for scenarios like new registration, first-order reminders, birthdays, repurchases, and recalls.' The archived Chowbus loyalty page (http://web.archive.org/web/20230925131617/https://pos.chowbus.com/products/loyalty) says: '7 campaigns triggered automatically, based on critical moments in a customer’s journey, like a first-time visit, a birthday, or if they’re at risk for not coming back.' and 'AutoPilot is fully automatic, you only need to decide whether to turn on the specific autopilot scene in the settings.' Conjuncts: birthday MET; first-visit thank-you MET (first order / first-time visit); lapsed win-back MET (win-back / at risk / recalls); configurable always-on rather than one-off MET (per-scene toggles in settings, kept separate from manual campaigns). NOT ESTABLISHED: trigger timing windows or per-trigger settings beyond on/off, and email as a channel (everything described is SMS/MMS, billed per message). All sources are vendor marketing or product-update posts (grade C). There is no help centre. https://www.chowbus.com/products/sms-marketing-for-restaurants · retrieved 2026-09-13 adversarially verified

C
Unknown

Sends both email and SMS campaigns natively from the platform, not solely by handing the list to a third-party ESP. differentiator

guest-loyalty-native-email-sms

Not scored by this record.

Unknown

Handles or explicitly documents A2P 10DLC brand and campaign registration required for the operator to send SMS through the platform.

guest-loyalty-10dlc-registration

Not scored by this record.

Unknown

Reports redemption and incremental sales attributable to a specific campaign or offer, tying redeemed offers to actual check totals. differentiator

guest-loyalty-campaign-attribution

Not scored by this record.

Unknown

Provides self-serve export of the full guest list and transaction history, including contact PII, via CSV or API, without a vendor fee or support ticket. differentiator

guest-loyalty-data-export-portability

Not scored by this record.

Unknown

Triggers post-transaction feedback requests and routes responses by score, sending low scores to private service recovery and high scores toward public review sites. differentiator

guest-loyalty-review-capture-routing

Not scored by this record.

Unknown

Includes a native referral mechanic with per-guest codes or links, attribution of the referred guest's first order, and two-sided rewards.

guest-loyalty-referral-program

Not scored by this record.

Unknown

Issues an Apple Wallet or Google Wallet loyalty pass with push-updatable balance, as an alternative to requiring a branded app download. differentiator

guest-loyalty-wallet-pass

Not scored by this record.

Unknown

Provides admin tooling to fulfill guest data access and deletion requests (CCPA/CPRA-style) including deletion propagation to loyalty and marketing records.

guest-loyalty-privacy-rights-tooling

Not scored by this record.

Unknown

Enforces loyalty fraud controls such as redemption velocity limits, manager approval on manual point adjustments, and flagging of employee self-redemption, with an audit log.

guest-loyalty-redemption-fraud-controls

Not scored by this record.

Unknown

Vendor documents AI/ML-generated recommendations for offer content, target audience, or send timing (claim-level; verify it is a shipped product feature, not a roadmap statement). differentiator

guest-loyalty-ai-offer-recommendation

Not scored by this record.

Unknown

Offers native stored-value/gift card balances tied to the same guest profile and redeemable across all locations of the brand.

guest-loyalty-stored-value-gift

Not scored by this record.

Labor & workforce

Yes

Employees clock in and out at the POS terminal using a PIN, badge, or card, with no separate time-clock hardware required.

labor-clock-in-at-pos

Full-service vertical page, staff management: "Customize staff permissions, track attendance, and calculate wages and tips effortlessly" — attendance tracking is a POS staff-management feature, not a separate module. Corroborated operationally by 7shifts' partner page for its shipped Chowbus connector (https://www.7shifts.com/integrations/chowbus/): the integration offers "Real Time Labor Data Sync" and "Employee Sync from POS to 7shifts", i.e. time punches originate in the Chowbus POS and stream out in real time. Terminal authentication is by PIN — the offline-mode note documents previously logged-in PIN codes continuing to work without network. Chowbus sells no time-clock device at all: the sitemap's six /hardware/* pages are customer pickup screen, handheld, KDS, QR ordering, kiosk and tablet ordering, so there is no separate time-clock hardware to require. Badge or card punch-in is mentioned nowhere; PIN is the only documented mechanism. https://www.chowbus.com/restaurant-pos/full-service-pos-system · retrieved 2026-08-04

C
Unknown

Captures a photo at punch (or performs facial verification) attached to the timecard entry, with a photo-only mode available that stores no biometric template. differentiator

labor-photo-punch-verification

Not scored by this record.

Unknown

Records time punches while the POS is offline and reconciles them on reconnect without loss or duplicate entries, with the behavior documented. differentiator

labor-offline-time-punch

Not scored by this record.

Partial

Permissions are grantable per discrete action (void, comp, discount, refund, drawer open, price change, report access) per role and per location, not limited to fixed cashier/manager/admin tiers.

labor-granular-rbac

POS product page, Staff Management: "Track employee performance precisely, configure permissions flexibly, and boost team efficiency"; the full-service page repeats "Customize staff permissions, track attendance, and calculate wages and tips effortlessly". Configurable (not fixed-tier) permissions are therefore claimed. Shortfall: the vendor never enumerates which discrete actions are individually grantable — void, comp, discount, refund, drawer open, price change, report access — nor whether a grant can be scoped per location, and there is no admin guide in which to check. https://www.chowbus.com/products/point-of-sale · retrieved 2026-08-03

C
Partial

Manager overrides and approvals are attributed to the individual approver and written to an immutable audit trail queryable after the fact.

labor-manager-override-audit

MERGE (319th): yes -> partial: approver attribution and a queryable log are documented, but immutability is never stated (inferred only from the report having no edit/delete action). CLAIM: manager overrides/approvals attributed to the individual approver, written to an immutable audit trail queryable after the fact. VERDICT: yes. NEW SURFACES (2026-09-16): (1) the LIVE en-US message catalogue of Chowbus's merchant back office, https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js (923,565 B, HTTP 200 anonymous; located from the chunk map in the live webpack runtime https://pos-static.chowbus.com/_next/static/chunks/webpack-c6b69d5f4eb12757e025.js, which names 285 locale chunks; locale145 is the merged en-US dictionary: 11,930 key/value pairs parsed of 12,102 raw '":"' separators, 7 duplicate keys, i.e. one language). Earlier passes used the Wayback capture locale90 of 2025-07-10 (4,317 pairs); this is the current build, 2.8x larger. (2) Chowbus POS iOS 3.87.0, published to the listable bucket static-cache.chowbus.com on 2026-09-16 (newer than the 3.86.2 already mined), AND ITS dSYM https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.dSYM.zip (174,300,872 B, anonymous): App.framework DWARF names 1,517 package:pos_flutter source files and 42,680 Dart function names; the native ChowbusPOS DWARF names 1,926 Swift/ObjC source files (Modules/Menu 1,322 path refs, Payment 576, Order 499, Printer 442, Permission 147, Inventory 16...). EVIDENCE (live catalogue, verbatim): approval gate - "serviceSettings.actionsEnabledAuthorizationKeypad":"Enable authorization keypad for the following actions when user does not have permission"; "serviceSettings.voidAuthorization":"Require authorization for voiding dishes". Attribution + queryable trail - a back-office "User Activity" report: "userActivity.title":"User Activity", columns "userActivity.column.operator_name":"Operator", "userActivity.column.approver_name":"Authorized By", "created_at":"Time Created", "order_number":"Order #", "reason":"Reason", "price":"Value", "device_serial_number":"Device SN", "operation_mode":"Operation Mode"; filters "userActivity.placeholder.filterByOperator":"Operator", "filterByActivityType":"User Activity", "filterByOrderNumber":"Order #", "filterByOperationMode":"Operation Mode"; 65 activityType values incl. "void_order":"Void the order", "void_dish_item":"Void meals", "update_dish_item_price":"Update line item price", "discount_dish_item":"Discount line items", "refund":"Refund", "reopen":"Reopen the order", "open_cash_box":"Open cash box", "exempt_order_tax":"Exempt order tax", "update_role_permissions":"Update Permissions of Role". Per order: "orderDetail.operateLoggings":"Operate logs" with "orderDetail.operateLoggings.approver_name":"Approver". The shipped POS 3.87.0 binary (https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.ipa) carries the fields approver_id, approver_name, authorization_employee and require_authorization_actions. IMMUTABILITY: not stated in words; it rests on an enumeration - the whole userActivity.* and orderDetail.operateLoggings.* namespaces (34 non-type keys) contain a title, columns, filters and a search box and NO edit, delete, export-and-edit or correction action for a log entry (the "delete_*"/"edit_*" strings are logged activity TYPES, not actions on the log). If the merge requires an explicit immutability statement, downgrade to partial with that shortfall. Retrieved 2026-09-16. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-16 adversarially verified

B
Unknown

Builds and publishes employee shift schedules inside the same platform that holds the timekeeping data, rather than requiring a third-party scheduling app. differentiator

labor-native-scheduling

Not scored by this record.

Unknown

Generates recommended staffing levels or labor hours by daypart from the operator's own POS sales history, not just a static template. differentiator

labor-demand-labor-forecast

Not scored by this record.

Unknown

Displays labor cost as a percentage of sales in real time during service on a manager view or POS, not only in end-of-day or next-morning reports. differentiator

labor-realtime-labor-percent

Not scored by this record.

Unknown

Warns or blocks at clock-in when an employee is approaching or would cross a configured overtime threshold, before the overtime is incurred. differentiator

labor-overtime-prevention

Not scored by this record.

Unknown

Configures meal and rest break rules per state or jurisdiction, prompts required break attestation, and flags missed breaks for premium pay. differentiator

labor-break-compliance-by-state

Not scored by this record.

Unknown

Enforces minor-labor restrictions (age-based maximum hours, prohibited time windows, school-day limits) at both scheduling and clock-in.

labor-minor-labor-rules

Not scored by this record.

Unknown

Computes tip pooling and tip-outs automatically per shift from configurable rules (percentage of sales, hours worked, points, or role), rather than requiring a manual spreadsheet.

labor-tip-pooling-rules

Not scored by this record.

Unknown

Retains a per-shift, per-employee record of tips received, amounts contributed to the pool, and amounts distributed from the pool, exportable for audit.

labor-tip-distribution-audit-trail

Not scored by this record.

Unknown

Payroll export separates cash from charged qualified tips and carries a Treasury tipped-occupation code, supporting the W-2 Box 12 code TP and Box 14b reporting required for tax year 2026. differentiator

labor-qualified-tips-w2-reporting

Not scored by this record.

Unknown

Vendor processes payroll itself as a first-party product (tax filing and direct deposit), as opposed to exporting to a third-party payroll provider only. differentiator

labor-native-payroll

Not scored by this record.

Unknown

Exports timecards, wages, and tips in documented formats or via direct integration for at least two major payroll providers (e.g. Gusto, ADP, Paychex, QuickBooks).

labor-payroll-export-formats

Not scored by this record.

Unknown

Employees can request shift swaps or claim open shifts in a self-service app, subject to a manager approval workflow that enforces overtime and role eligibility. differentiator

labor-shift-swap-workflow

Not scored by this record.

Unknown

Reports per-employee sales performance metrics (average check, items or category attachment rate, void and comp rate) by server or cashier. differentiator

labor-server-performance-metrics

Not scored by this record.

Inventory, purchasing & cost control

No

Supports multi-level recipe/BOM costing where a recipe can contain sub-recipes (prep items) and plate cost recalculates automatically when any component ingredient's cost changes.

inventory-recipe-bom-costing

Chowbus's own complete first-party catalog enumerates every module by suite — Operational Excellence (POS, waitlist, reservation, Chowbus Go, review management, multi-location), Digital Experience, Hardware, Marketing & Growth, AI Suite, Third-Party Integrations, Access Capital — and contains no inventory, ingredient or food-cost module. The pricing page's three tiers (Starter, Efficiency, Growth) likewise name no inventory feature, and https://www.chowbus.com/products/inventory-management returns HTTP 404. The nearest published stock behaviour is dish-level availability ('quick-adjust dish availability with a simple long press'), i.e. item-count 86ing, not ingredient depletion. Chowbus's own bubble-tea blog describes recipe-level ingredient mapping as something a shop 'benefits from' in the abstract and never attributes it to its own product. Without any ingredient layer there is no multi-level recipe/BOM with sub-recipes or automatic plate-cost recalculation. https://www.chowbus.com/restaurant-pos/switch-to-chowbus · retrieved 2026-08-04

C
No

Stores purchase unit, recipe unit, and count unit per item with explicit conversion factors, plus a yield/waste percentage applied to raw-to-usable conversion.

inventory-unit-conversion-yields

CLAIM: purchase/recipe/count units with conversion factors plus a yield/waste percentage. VERDICT: no - there is no ingredient layer in Chowbus POS; the unit-bearing inventory functions are in the third-party MarginEdge integration. NEW SURFACES (2026-09-16): (1) the LIVE en-US message catalogue of Chowbus's merchant back office, https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js (923,565 B, HTTP 200 anonymous; located from the chunk map in the live webpack runtime https://pos-static.chowbus.com/_next/static/chunks/webpack-c6b69d5f4eb12757e025.js, which names 285 locale chunks; locale145 is the merged en-US dictionary: 11,930 key/value pairs parsed of 12,102 raw '":"' separators, 7 duplicate keys, i.e. one language). Earlier passes used the Wayback capture locale90 of 2025-07-10 (4,317 pairs); this is the current build, 2.8x larger. (2) Chowbus POS iOS 3.87.0, published to the listable bucket static-cache.chowbus.com on 2026-09-16 (newer than the 3.86.2 already mined), AND ITS dSYM https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.dSYM.zip (174,300,872 B, anonymous): App.framework DWARF names 1,517 package:pos_flutter source files and 42,680 Dart function names; the native ChowbusPOS DWARF names 1,926 Swift/ObjC source files (Modules/Menu 1,322 path refs, Payment 576, Order 499, Printer 442, Permission 147, Inventory 16...). The inventory namespace of the live catalogue is item/option stock status, channel visibility and quota limits only. The only ingredient/recipe cost text is MarginEdge's: "marginEdge.content.card3.description":"Calculate theoretical menu costs using real-time ingredient prices." CONTROLS (tokenised over 11,930 pairs, raw bytes in parentheses): yield(s) 0 (0); "unit of measure"/uom/purchase unit/recipe unit/count unit 0 (0); variance 0 (0); conversion(s) 9 (9), all POISON - loyalty/coupon "Conversion Funnel"/"Conversion Rate"; ingredient(s) 4 (5): MarginEdge card, two customization-quantity examples ("beef, chicken, onion ... and other ingredients"), and the bubble-tea SOP label hint "Staff Workflow Code (Ingredients/Measurements/Workflow)"; the only unit is "priceEditor.weightUnitDesc":"Per {unit}" (sell-by-weight price, POS UnitWeight.swift / scale module), not a stock unit. POS 3.87.0: ingredient 0, source files matching yield/conversion/stock 0 (the 112 "conversion" string hits are Dart/ICU ConversionSink POISON). Retrieved 2026-09-16. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-16 adversarially verified

B
Unknown

Produces a theoretical-vs-actual usage variance report per item for a defined count period, showing theoretical usage from POS sales times recipe, actual usage from counts plus receipts, and the variance in both units and currency. differentiator

inventory-theoretical-vs-actual

Not scored by this record.

Unknown

Depletes ingredient on-hand quantities in near real time as orders are fired at the POS, including depletion driven by modifier selections, not only in an end-of-day batch. differentiator

inventory-realtime-depletion

Not scored by this record.

Unknown

Automatically 86s (marks unavailable) menu items on the POS, online ordering, and connected third-party delivery menus when a component ingredient hits zero or a configured threshold. differentiator

inventory-86-auto-sync

Not scored by this record.

No

Supports full physical inventory, ad-hoc spot counts of a subset, and scheduled recurring cycle counts, with each count's variance recorded as separate history rather than overwriting prior counts.

inventory-count-modes

CLAIM: full physical, ad-hoc spot and scheduled cycle counts with per-count variance history. VERDICT: no - Chowbus POS has no count workflow; counting is delegated to a third-party integration. NEW SURFACES (2026-09-16): (1) the LIVE en-US message catalogue of Chowbus's merchant back office, https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js (923,565 B, HTTP 200 anonymous; located from the chunk map in the live webpack runtime https://pos-static.chowbus.com/_next/static/chunks/webpack-c6b69d5f4eb12757e025.js, which names 285 locale chunks; locale145 is the merged en-US dictionary: 11,930 key/value pairs parsed of 12,102 raw '":"' separators, 7 duplicate keys, i.e. one language). Earlier passes used the Wayback capture locale90 of 2025-07-10 (4,317 pairs); this is the current build, 2.8x larger. (2) Chowbus POS iOS 3.87.0, published to the listable bucket static-cache.chowbus.com on 2026-09-16 (newer than the 3.86.2 already mined), AND ITS dSYM https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.dSYM.zip (174,300,872 B, anonymous): App.framework DWARF names 1,517 package:pos_flutter source files and 42,680 Dart function names; the native ChowbusPOS DWARF names 1,926 Swift/ObjC source files (Modules/Menu 1,322 path refs, Payment 576, Order 499, Printer 442, Permission 147, Inventory 16...). WHAT "INVENTORY" MEANS HERE (live catalogue): per-channel stock status and visibility only - "inventory.items.column.inventory.tooltip":"Display the stock status of the item across all sales channels", "inventory.inventoryState.limit_in_stock":"{count} In Stock", stock limits "Temporary Limit"/"Daily Limit"/"Total Limit" with "remaining stock as {current_quota}". The POS inventory module files are InventoryManager*, SoldOutDish*, QuickEditInventory, InventoryHelper (sold-out/quota). DELEGATION: "marginEdge.content.card2.description":"Manage inventory counts, ordering needs, and purchasing decisions in MarginEdge using menu item sales and cost data." BOUND: 11,930 catalogue pairs; POS 1,517 Flutter + 1,926 native source files. CONTROLS (tokenised): stocktake/stock count/inventory count/physical count/cycle count/spot count/on-hand 1 hit (the MarginEdge card above) and raw 2; variance 0; par 0; yield 0; POS strings stocktake|stock_count|inventory_count|cycle_count 0, source files 0. If an integration-dependent capability should be partial rather than no, it is partial with the shortfall "counts live in MarginEdge, a separate product". Retrieved 2026-09-16. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-16 adversarially verified

B
Unknown

Provides a mobile/tablet counting app supporting barcode or QR scanning that continues to accept counts with no network connectivity and syncs on reconnect.

inventory-mobile-count-offline

Not scored by this record.

Unknown

Ships pre-built electronic vendor catalog and order-transmission integrations with named broadline distributors (e.g. Sysco, US Foods, Performance Food Group) that send purchase orders and receive invoices electronically rather than by emailed PDF. differentiator

inventory-vendor-catalogs-edi

Not scored by this record.

Unknown

Ingests supplier invoices from photo, PDF, or email and extracts line-item detail (item, quantity, unit, price) into the inventory ledger without manual line entry. differentiator

inventory-invoice-ocr

Not scored by this record.

Unknown

Tracks per-item purchase price history across invoices and alerts when a received price exceeds the prior or contracted price by a configurable threshold. differentiator

inventory-price-change-alerts

Not scored by this record.

Unknown

Maintains par levels per item per location and generates suggested purchase order quantities from on-hand versus par, with at least one mode driven by a sales forecast rather than a static par. differentiator

inventory-par-auto-suggest

Not scored by this record.

Unknown

Provides a structured waste/spoilage logging workflow with reason codes that debits inventory and reports waste cost separately from usage variance.

inventory-waste-logging

Not scored by this record.

Unknown

Tracks expiration or use-by dates on received and prepped items and surfaces an expiring-soon report or alert before spoilage.

inventory-shelf-life-expiry

Not scored by this record.

Unknown

Supports partial-bottle liquid inventory by weight (scale integration) or by bottle fraction for bar and beverage counting.

inventory-bar-partial-bottle

Not scored by this record.

Unknown

Exports period COGS and accounts-payable invoice detail in a named accounting system's import format (e.g. QuickBooks, Sage Intacct, NetSuite) with GL account mapping configurable per item category.

inventory-cogs-gl-export

Not scored by this record.

Unknown

Inventory and recipe costing are delivered natively by the POS vendor rather than requiring a separately-contracted third-party product (e.g. MarginEdge, MarketMan, Restaurant365) to function. differentiator

inventory-native-not-partner

Not scored by this record.

Unknown

Joins recipe cost to actual item sales mix to report contribution margin per menu item, and flags items whose margin fell below a configured threshold after ingredient cost changes. differentiator

inventory-menu-margin-linkage

Not scored by this record.

Reporting, BI & data access

Yes

Provides a live sales dashboard reflecting transactions within minutes of the sale, accessible from both a browser and a mobile app off-premise.

reporting-realtime-dashboard

Chowbus Go is a dedicated merchant mobile app: 'View real-time business data—from overview to hourly breakdowns, order types, dishes, and staff performance', with 'Daily closing reports in the palm of your hand', and 'Cloud-based POS system syncs data in real-time, keeping you informed of orders and staff activities even when you're off-site' — the off-premise leg. The browser leg is the POS product page's 'Access and export data from your computer for deep analysis of orders, staff performance, and more' plus the multi-location page's HQ/store account switching on 'web or mobile'. Refresh latency is stated only as vendor 'real-time'/'syncs instantly' language; no interval is published. https://www.chowbus.com/products/chowbus-go · retrieved 2026-08-04

C
Yes

Generates a daily close-out/EOD report reconciling gross sales, net sales, tax, tips, discounts, refunds, tender types, and expected cash deposit in one document.

reporting-eod-closeout

Source: Chowbus merchant back-office en-US locale bundle locale90.d058698853a70fc23a4f.js on pos-static.chowbus.com (vendor's own shipped client code, Wayback capture 20250710124705), corroborated by the Chowbus POS iOS 3.86.2 binary (ChowbusPOS.ipa). MET, one report: the 'Earning Report' (salesReport.title) has a 'Sales Summary' tab (salesReport.tab.sales_summary) whose salesSummary.* sections share one date-range control ("Select a date range not exceeding Three months."). MET, gross/net/tax: "Gross Sales", "Discounts", "Refunds", "Net Sales" (Net Sales Summary) and "Tax Amount", "Grand Total" (Sales Summary section). MET, tips: "Tips", "Service Tips", "Delivery Tips" and a "Tips Summary". MET, discounts: "Discount Summary" with "One-Off Discount", "Loyalty", "Promotion". MET, refunds: "Refunds Summary" with "Sales Refunds", "Tax Refunds", "Tips Refunds", "Payment Refunds", "Total Refunds". MET, tender types: "Payments Summary" with rows "Cash", "Card", "Visa", "Mastercard", "Amex", "Discover", "Gift Card", "Online", "Other", "Paid Total" and columns "PMT METHOD", "COUNT", "AMOUNT", "TIPS", "REFUNDS", "GROSS AMOUNT". MET, expected cash: "Cash Drawer Expected Balance" with "Starting Balance", "Cash Sales", "Cash Tips", "Cash Refund", "Safe Drop", "Tips Payout", "Balance", and a "House Cash" section ending in "Cash Owed To House". MET, daily close-out: "Closeout Report Cutoff Time" ("All reports are calculated based on a 24 hours time period...") and the print block "Daily Closeout Report"; the POS binary ships closeout_report.html, package:pos_flutter/modules/closeout_report/ and "Steps to Closeout Register". NOT ESTABLISHED: which rows the POS-printed Daily Closeout Report carries, because its template prints server-supplied cells (item.cells), and whether every Sales Summary section renders for every merchant. POISON EXCLUDED: 'deposit' strings in the binary belong to the order-deposit (prepayment) feature, not a bank cash deposit; HTML-parser 'Expected ...' strings are SDK. Bound: a client locale bundle names the fields a report can show; it is not a census of server-side computation. The page takes an arbitrary date range of up to three months, and a one-day range bounded by the closeout cutoff gives the daily close-out. http://web.archive.org/web/20250710124705/https://pos-static.chowbus.com/_next/static/chunks/locale90.d058698853a70fc23a4f.js · retrieved 2026-09-14 adversarially verified

A
Partial

Provides a product mix (PMIX) report at individual menu item AND modifier level with quantity, gross and net sales, filterable by daypart and revenue center.

reporting-pmix-modifier-level

POS product page: "Break down metrics by time period, order type, menu category, and more—with one-click access to data reports across different locations"; the multi-location page adds that "Reports are detailed down to the item level, empowering data for menu optimization". Item-level product mix sliceable by daypart and order type is therefore established. Shortfall: modifier-level PMIX is not documented anywhere — no first-party page states that customizations/modifiers are reported with their own quantity and sales lines — and revenue-center filtering is not mentioned either. https://www.chowbus.com/products/point-of-sale · retrieved 2026-08-03

C
Unknown

Produces an audit report of comps, voids, discounts, and price overrides attributed to the employee who applied them and the manager who approved them, with reason codes and timestamps.

reporting-comps-voids-audit

Not scored by this record.

Unknown

Reports cash over/short per drawer, per shift, and per employee, comparing counted cash to expected cash from tendered transactions and paid-outs.

reporting-cash-over-short

Not scored by this record.

Unknown

Reports sales per labor hour and labor cost as a percentage of sales by hour, by department, and by employee, using actual clocked hours from the POS time clock.

reporting-labor-productivity

Not scored by this record.

Unknown

Reports per-server metrics including average check, items per check, attachment rate for named categories, and tips as a percentage of sales. differentiator

reporting-server-scorecards

Not scored by this record.

Unknown

Reports revenue and margin by fulfillment channel — dine-in, direct online, first-party delivery, and each third-party marketplace separately — net of marketplace commission fees. differentiator

reporting-channel-profitability

Not scored by this record.

Unknown

Supports scheduling any report for automatic recurring delivery by email or to a shared destination on a defined cadence and recipient list.

reporting-scheduled-delivery

Not scored by this record.

Unknown

Publishes a documented public REST or GraphQL API covering orders, payments, menu, and labor data, with self-service developer credentials obtainable without a signed partner agreement. differentiator

reporting-public-api

Not scored by this record.

Unknown

Emits outbound webhooks for order and payment lifecycle events to a customer-supplied endpoint, with documented retry behavior and payload signature verification. differentiator

reporting-webhooks

Not scored by this record.

Unknown

API and raw-data access are included in the standard subscription rather than gated behind an additional per-location fee, revenue share, or enterprise-only contract. differentiator

reporting-api-not-upcharged

Not scored by this record.

Unknown

Core reporting beyond basic sales summaries — labor vs sales, PMIX, comps/voids audit, multi-location comparison — is available on the entry-level paid plan rather than requiring a higher tier or an add-on analytics SKU. differentiator

reporting-tier-paywall

Not scored by this record.

Unknown

Documents a historical retention window of at least 24 months of transaction-level detail queryable in the reporting UI, with no silent truncation or archive retrieval fee. differentiator

reporting-history-retention

Not scored by this record.

Unknown

Sends proactive push or email alerts when an operator-configured metric breaches a threshold or deviates from its historical pattern (e.g. void spike, sales below forecast, discount rate anomaly). differentiator

reporting-anomaly-alerts

Not scored by this record.

Unknown

Offers a natural-language query or AI assistant that answers ad-hoc questions against the operator's own sales and labor data and returns a figure or chart, not a generic help-article response.

reporting-nl-query

Not scored by this record.

Unknown

Reports guest-level analytics including new versus returning guest counts, visit frequency, and lifetime spend cohorts tied to identifiable guest records from loyalty or online ordering. differentiator

reporting-guest-cohorts

Not scored by this record.

Unknown

Produces a forward sales forecast at daypart or hourly granularity from the location's own history, exposed in the reporting UI and consumable by scheduling or ordering workflows. differentiator

reporting-sales-forecast

Not scored by this record.

Unknown

Generates payroll- and tax-ready tip reporting: declared versus charged tips per employee, tip pool distribution detail, and a tax liability summary by jurisdiction.

reporting-tip-tax-compliance

Not scored by this record.

Multi-location, franchise & enterprise governance

Partial

Supports a named organizational hierarchy of at least three levels (e.g. enterprise > region/group > location) as a first-class object that reporting and permissions can be scoped to, not just a flat list of locations.

multi-location-org-hierarchy

Chowbus Multi-Location Management product page (https://www.chowbus.com/products/multi-location-management, retrieved 2026-09-13): 'Flexible backend reports support data viewing at both the group and restaurant levels.' and 'Switch between the headquarters account and the accounts of each store with a single click on web or mobile, making data at various levels clear at a glance.' Also: 'Report data records the financial transactions between the headquarters and various branches, making cash flow data transparent.' Conjuncts: hierarchy as a first-class object that reporting is scoped to MET for TWO levels (headquarters/group and store). Headquarters also holds loyalty policy: 'Headquarters sets registration rules and point policies, while individual stores can customize member pricing and redemption content' (https://www.chowbus.com/products/restaurant-loyalty-programs). At least three named levels NOT ESTABLISHED: the brand-within-group wording in https://www.chowbus.com/blog/restaurant-pos-update-loyalty-restaurant-group only sets membership-card applicability ('you can choose the applicable restaurant scope for each membership card'), not a reporting or permission tier. Permissions scoped to the hierarchy NOT ESTABLISHED: separate HQ and store accounts exist, but no role scoping by group or region is described. Grade C (marketing page). https://www.chowbus.com/products/multi-location-management · retrieved 2026-09-13 adversarially verified

C
Partial

A corporate-level menu can be authored once and published to a chosen set of locations in a single action, with a publish/version history showing what was pushed, when, and by whom.

multi-location-central-menu-publish

Chowbus full-service POS landing page (https://www.chowbus.com/restaurant-pos/full-service-pos-system, retrieved 2026-09-13), under 'Comprehensive Management Tools That Boost Performance': 'Synchronize menu items across all locations instantly—no waiting for updates'. It is corroborated only by Chowbus blog copy: 'Chowbus supports multi-location management from a single cloud dashboard, with centralized menu control' (https://www.chowbus.com/blog/boba-shop-pos). Conjuncts: a menu authored once and propagated to many locations is CLAIMED by marketing only. There is no documentation of the workflow; the Multi-Location Management product page (https://www.chowbus.com/products/multi-location-management) is silent on menu propagation, and the menu-management update post (https://www.chowbus.com/blog/restaurant-pos-update-menu-management) shows a per-restaurant 'Log in to Dashboard -> "Menu Management" -> "Categories"' flow. Publishing to a CHOSEN SET of locations in one action is NOT ESTABLISHED; the copy says 'all locations' and describes no store selection. Publish/version history (what, when, by whom) is NOT ESTABLISHED and is not mentioned on any first-party page. Grade C (single landing-page bullet). This is the weakest partial in the record. https://www.chowbus.com/restaurant-pos/full-service-pos-system · retrieved 2026-09-13 adversarially verified

C
Partial

Supports price tiers/zones so one menu item carries different prices per location group, per order channel, and per daypart without duplicating the item record.

multi-location-price-zones

CLAIM: one menu item carries different prices per location group, per order channel and per daypart without duplicating the item record. VERDICT: partial (channel conjunct met; daypart and location-group not evidenced). NEW SURFACE: the LIVE en-US message catalogue of Chowbus's merchant back office, https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js (HTTP 200 anonymous, 924,539 B on 2026-09-16, production host). EVIDENCE (verbatim keys): the dish editor prices ONE dish per menu, "dishEdit.menuPrice = {menuName} Menu Prices", alongside "dishEdit.category.summary = There are {inHouseMenusCount} In House menus and {chowbusMenusCount} Online menus that you can add this dish to"; menus are per channel ("menuBuilder.channel.pos = POS", kiosk, qr, tablet, onlineOrdering, "thirdParty = Third-Party Platform"); legacy dish fields "menu.dishes.delivery.price = Devlivery Price" [sic] and "menu.dishes.pickup.price = Pickup Price"; "menuBuilder.action.bulkFill.tooltip = You can set item prices or member prices in bulk and apply them to items across all channels with one click"; "smartOrderingSettings.buffet_ordering.unlock_menu_restrictions_extra = If multiple menus with different pricing are available, please select all relevant menus here"; modifier third-party markup "menu.customizations.option.column.thirdPartyPriceMarkupRatio.tooltip = ... apply a markup by percentage or fixed amount". The POS iOS 3.87.0 dSYM (https://static-cache.chowbus.com/app-download/pos-ios/3.87.0/ChowbusPOS.ipa build; static-cache.chowbus.com listable bucket) carries a Swift type ChowbusPOS.MenuPrice and field menuPrice, consistent with per-menu pricing on the device. SHORTFALL: menus have hours ("menuBuilder.menuAvailability.menuHours = Menu Hours", "You can add up to {maxCount} time periods per day"), so a daypart price via a time-bound menu is inferable but never stated; no location-group/price-zone concept: "location group", "price zone", "price tier", "price level", "pricing tier" = 0 in the catalogue; the only group-level dish key is "menuBuilder.column.rg_meal_display_id = Meal ID Of Restaurant Group" (an ID mapping, not a price). POISON: "priceLevel" in the POS binary is Google Maps SDK (kGMSPlacesPriceLevel*); PriceRule is RestaurantPreferences.ServiceConfig.PrepDurationPolicy.PriceRule (prep time by order subtotal, "prepTime.priceRules.ifOrderOver"); "Member Price"/"Point Price" are loyalty tiers, not zones. Retrieved 2026-09-16. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-16 adversarially verified

B
Unknown

Provides above-store reporting that aggregates sales, labor, discounts, voids, and item mix across any selected set of locations in one view, with store-vs-store ranking and variance flags.

multi-location-consolidated-reporting

Not scored by this record.

Unknown

Gift cards issued at one location are redeemable at any other location in the brand, with a reported outstanding-liability balance and inter-store settlement/redemption reconciliation between owners.

multi-location-cross-location-giftcard

Not scored by this record.

Unknown

A single customer loyalty profile, balance, and stored order history is shared across all locations in the brand rather than being per-location.

multi-location-cross-location-loyalty

Not scored by this record.

Unknown

A single location/terminal can operate two or more distinct brands or virtual brands with separate menus, receipts/branding, and separately reportable revenue, on the same hardware and drawer. differentiator

multi-location-multi-brand

Not scored by this record.

Unknown

Tax configuration is per-location with support for multiple simultaneous tax rates, jurisdiction-specific rules (e.g. prepared-food vs grocery, inclusive vs exclusive tax), and per-location tax exemptions.

multi-location-multi-tax-jurisdiction

Not scored by this record.

Unknown

Labor rules (overtime, break enforcement, predictive-scheduling compliance) are configurable per location or location group and enforced at the terminal, not just reported after the fact.

multi-location-central-labor-policy

Not scored by this record.

Hardware & physical footprint

Unknown

The POS software runs on commodity off-the-shelf hardware (standard iPads, Android tablets, or PCs) that the operator can buy from a third party, rather than only on vendor-supplied proprietary terminals. differentiator

hardware-commodity-devices

Not scored by this record.

Partial

Vendor documentation names the specific client operating systems supported (iOS/iPadOS, Android, Windows, Linux/web) and states minimum OS versions and device specs.

hardware-os-platforms

POS product page names the client OS: "Running on iOS-powered Apple devices, our point of sale system performs smoothly and reliably" (Chowbus repeats the sentence verbatim in its blurb on 7shifts' partner page, https://www.7shifts.com/integrations/chowbus/), and the offline-mode note likewise describes the POS app on iOS devices. Shortfall: the claim's second half is unmet — no minimum iOS version and no device specs are published anywhere. All six /hardware/* pages (customer pickup screen, handheld, KDS, QR ordering, kiosk, tablet ordering) are marketing sheets with no model names, OS versions or spec tables — the handheld page's only hardware statements are 'a powerful and portable device that fits in your palm' with a 'built-in scanner' and Wi-Fi — and no help centre or admin guide exists in which requirements would be stated (sitemap enumeration; help.chowbus.com and support.chowbus.com do not resolve). https://www.chowbus.com/products/point-of-sale · retrieved 2026-08-04

C
Unknown

Offers a purpose-built handheld ordering device with an integrated card reader (not a phone case add-on), with published drop rating and IP ingress rating.

hardware-handheld-purpose-built

Not scored by this record.

Unknown

The handheld supports hot-swappable or field-replaceable batteries, or the vendor publishes a rated battery life for a full shift. differentiator

hardware-handheld-battery-swap

Not scored by this record.

Unknown

Handhelds support cellular/LTE connectivity as a documented fallback when store Wi-Fi drops, either built into the device or via a vendor-supplied failover.

hardware-handheld-lte

Not scored by this record.

Yes

Terminals continue to take orders, print to kitchen, and record cash sales with the internet down, and the vendor documents explicitly which functions degrade (card auth, loyalty lookup, refunds).

hardware-offline-mode

Vendor product-update note documents offline mode function by function. Works offline: "Creating orders", "Sending orders to the kitchen printer", "Accepting cash and card payments", "Printing customer receipts", "Collecting tips"; the terminal switches to offline mode automatically after 30 seconds without network and previously logged-in PIN codes keep working. Explicitly does not work offline: selling or redeeming gift cards, accruing or redeeming loyalty points, coupons, and order sync/sharing between Chowbus devices; tablet ordering, QR ordering and kiosks also stop. Locally stored data syncs on reconnect, with a warning not to delete the app before recovery. This is exactly the published degrade-list the claim requires. https://www.chowbus.com/blog/restaurant-pos-update-offline-mode · retrieved 2026-08-03

B
Yes

Sells or supports a dedicated kitchen display system with bump-bar or touch input, station routing, and course/fire timing, as a first-party product rather than an integration-only dependency.

hardware-kds

KDS listed as a first-party hardware component of the platform, large-screen monitors for kitchen order flow. https://www.chowbus.com/ · retrieved 2026-08-01

D
Unknown

Offers a self-order kiosk running the same menu and modifier engine as the POS, in both countertop and freestanding form factors, with integrated payment and accessibility (ADA) compliance documented. differentiator

hardware-kiosk

Not scored by this record.

Unknown

Supports drive-thru-specific hardware: outdoor digital menu boards, order confirmation displays, and speaker/headset integration, with a documented timer/speed-of-service measurement.

hardware-drive-thru

Not scored by this record.

Unknown

Works with standard ESC/POS thermal receipt and kitchen printers from more than one manufacturer (e.g. Epson and Star), including LAN/Ethernet printers, rather than only vendor-branded printers.

hardware-printer-compatibility

Not scored by this record.

Unknown

Supports the standard peripheral set — cash drawers (including multi-drawer per terminal), barcode scanners, scales for by-weight items, and customer-facing displays — with a published compatibility list.

hardware-peripherals

Not scored by this record.

Unknown

Card entry happens on a PCI-listed PTS device using validated point-to-point encryption, so the POS application and tablet stay out of PCI scope; the vendor states the merchant's SAQ type.

hardware-p2pe-terminal

Not scored by this record.

Unknown

Supports contactless acceptance directly on a commodity phone or tablet (Tap to Pay on iPhone / Tap to Pay on Android) with no separate reader. differentiator

hardware-tap-to-phone

Not scored by this record.

Unknown

Hardware prices are published per SKU on the vendor's public site, rather than quote-only. differentiator

hardware-pricing-transparency

Not scored by this record.

Unknown

Hardware can be purchased outright (owned) as an alternative to a mandatory lease or subscription-bundled rental, and the vendor states which. differentiator

hardware-ownership-vs-lease

Not scored by this record.

Unknown

Vendor documentation confirms whether hardware purchased from the vendor remains usable with other software after cancellation, i.e. it is not software-locked or remotely bricked. differentiator

hardware-usable-after-churn

Not scored by this record.

Unknown

Publishes a hardware warranty term and a replacement/advance-exchange SLA with a stated turnaround (e.g. next-business-day depot swap). differentiator

hardware-rma-sla

Not scored by this record.

Unknown

Staff can run the ordering or payment app on their own personal phone (BYOD) with a documented permission and security model.

hardware-byod

Not scored by this record.

Unknown

Provides a remote device-management console showing each terminal, printer, and KDS as online/offline, with remote reboot, software-version visibility, and staged rollout of updates. differentiator

hardware-remote-device-management

Not scored by this record.

Unknown

Integrates with specialty beverage hardware — self-pour tap walls, flow meters, or liquor pour spouts — such that pours post to a POS tab automatically.

hardware-selfpour-scales

Not scored by this record.

Unknown

Supports inbound caller ID hardware or a telephony integration that pops the customer record and order history at the POS on an incoming call.

hardware-callerid-integration

Not scored by this record.

Integrations, API & extensibility

No

Public, self-serve API reference documentation is readable without a signed partner agreement, NDA, or sales call.

extensibility-public-api-docs

NEW 2026-09-18 (328th). VERDICT MOVES unknown -> no. This is a PUBLICATION claim ("public, self-serve API reference readable without a signed partner agreement"), so a publication census settles it. BOUND, four independent denominators, all re-derived today: (1) ROUTE CENSUS - the Next.js build manifest https://pos-static.chowbus.com/_next/static/d3374fcd8d/_buildManifest.js enumerates 465 routes covering BOTH www.chowbus.com and the pos.chowbus.com merchant back office in one app. Routes matching api|develop|partner|webhook|integrat|open are exactly: /products/thirdparty-integration, /restaurant-group/integration/7shifts*, /team-management/7shifts*, /menu-management/dishes/open-items, /orders/open. There is no /developer, /docs, /api, /api-docs or /partners route. (2) SITE CENSUS - https://www.chowbus.com/sitemap.xml, 1,721 locs, and https://www.chowbus.com/llms.txt, 28,644 B: no developer/API page in either. (3) HELP-CENTRE CENSUS - https://intercom.help/chowbus-pos/sitemap.xml re-derived today returns 611 locs BYTE-IDENTICAL to the 2026-09-17 census (303 en + 302 zh-CN + collections), so the 304 en article bodies of the 322nd remain the whole EN KB: `api` 3 hits, all the gated "Menu API" (https://intercom.help/chowbus-pos/en/articles/12017380 "If you have not yet opened the Menu API, please contact Chowbus customer service to synchronize the third-party menu"); oauth 0, webhook 0, developer 0, partner 0. (4) CODE CENSUS - the complete back-office bundle set (chunk-hash table from webpack-c6b69d5f4eb12757e025.js; 336/336 async chunks + 33 eager bundles, 0 misses): `openapi` 0, `api documentation` 0, `api reference` 0, `api key`/`api_key` 0. HOST PROBES re-run today: crt.sh %.chowbus.com returns the same 35 names as 2026-09-16 with no developer/docs host; https://qrcode-api.chowbus.com/swagger/doc.json is STILL HTTP 500 with 0 bytes (third re-probe), so the one Swagger UI shell on the estate still serves no readable spec; static-cache.chowbus.com re-listed in full (1,677 keys, 2 pages, IsTruncated false) and the only 9 keys added since 2026-09-16 are OLDER pos-ios builds (3.81.6/3.81.24/3.81.80) - no spec, no PDF, no doc directory. POSITIVE EVIDENCE OF ABSENCE, not just silence: the API exists but is partner-brokered and sales-gated. "You have not yet purchased the 7shifts integration service. Please contact your Chowbus sales representative to subscribe." and "you authorize Chowbus, as a data processor, to complete the integration with our partner on your behalf. You also authorize Chowbus to grant the partner access to the following API permissions" (locale145.0ff711e3241f1685b16d.js). CONTROL POISON NAMED: `swagger` scores 2 hits app-wide and BOTH are the English word inside a password-strength dictionary in chunk 4afafdf3.9e1dc33da23eb7084094.js ("shelbyville,sheepskin,...,swagger,surges,supermodels"), alongside `scopes`; a naive grep would have read them as an API surface. Retrieved 2026-09-18. https://pos-static.chowbus.com/_next/static/d3374fcd8d/_buildManifest.js · retrieved 2026-09-18 adversarially verified

B
Unknown

API access is included in the base subscription at no additional per-location fee, surcharge, or upgraded plan requirement. differentiator

extensibility-api-access-cost

Not scored by this record.

Unknown

A free sandbox or test environment with seeded data is available to developers without owning a paid production account. differentiator

extensibility-free-sandbox

Not scored by this record.

Partial

Third-party apps authenticate via OAuth 2.0 with scoped, operator-granted, individually revocable permissions (not shared static API keys or credential sharing).

extensibility-oauth-partner-apps

NEW 2026-09-18 (328th), NEW SURFACE = a COMPLETE census of the Chowbus merchant back office, not one chunk: the webpack runtime https://pos-static.chowbus.com/_next/static/chunks/webpack-c6b69d5f4eb12757e025.js carries the full chunk-id->name/hash table, so 336/336 async chunks + the 33 eager bundles of buildId d3374fcd8d were fetched with ZERO misses (369 files, 26 MB); 285 of them are locale chunks, 158 English (24,814 key/value pairs) and 127 zh-CN. VERDICT MOVES unknown -> partial. EVIDENCE: Chowbus DOES ship an operator-granted, scoped, individually revocable grant of POS data to a third-party app. Verbatim, "7shifts.steps.accountAuthorization.description": 'As an authorized representative of the merchant listed above, you agree to provide the necessary information (including any personal data) in the capacity of a data controller and authorize Chowbus, as a data processor, to complete the integration with our partner on your behalf. You also authorize Chowbus to grant the partner access to the following API permissions:\n[check] Read order information [check] Read restaurant configuration data [check] Read time clock records\n[check] Read role and employee information [check] Write role and employee information\nBy clicking "Authorize," you confirm that you have read and agreed to the above. You may revoke this integration at any time using the "Revoke Authorization" option on this page.' Revocation is per grant, not global: "7shifts.actions.revoke":"Revoke Authorization", "7shifts.actions.addNewAuth":"Add Authorization", "7shifts.authCard.title":"Authorization {index}", "7shifts.confirm.revoke.title":"Remove this account authorization?", "7shifts.confirm.revoke.content":"This will clear the authorization and its linked locations.", "7shifts.info.keepOne":"Keep at least one authorization". The back-office routes /restaurant-group/integration/7shifts/IntegrationAuthorization and /team-management/7shifts exist in the build manifest. SHORTFALLS (why partial, not yes): (1) OAuth 2.0 is NEVER named for this grant - control `oauth` = 0 hits across all 158 English locale chunks and 0 across the 304-article help centre; (2) the grant is BROKERED - the operator authorizes Chowbus ("as a data processor") to grant the partner, not the partner directly, so no authorization-code redirect to the partner is evidenced; (3) the permission set is a fixed list of 5, not operator-selectable scopes; (4) there is exactly ONE partner in the whole 465-route app, and it is sold, not self-serve: "7shifts.banner.notPurchased.prefix":"You have not yet purchased the 7shifts integration service. Please contact your" + "Chowbus sales representative" + "to subscribe."; no third-party app registration or public scope catalogue exists anywhere. POISON NAMED: /oauth/token calls in chunks 911.ba76c841f3f4dc948184.js and 922.5cc17583eb4c2d15d347.js use grant_type password / refresh_token / authorization_code against Chowbus's OWN auth.chowbus.com for first-party merchant and diner login - not partner grants; and `swagger` (2) and `scopes` (2) in chunk 4afafdf3.9e1dc33da23eb7084094.js are ENGLISH DICTIONARY WORDS in a password-strength word list ("...shipshape,shifu,shelve,...swagger,surges,supermodels..."). Retrieved 2026-09-18. https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js · retrieved 2026-09-18 adversarially verified

B
Unknown

The platform pushes real-time webhooks for order lifecycle events (created, modified, paid, voided, refunded) rather than requiring polling.

extensibility-webhooks-push

NEW 2026-09-16: the live back-office catalogue (https://pos-static.chowbus.com/_next/static/chunks/locale145.0ff711e3241f1685b16d.js, 11,930 pairs) mentions "webhook" only in the 7shifts setup guide ("Complete Webhook setup at 7shifts Admin > Setting > Developer Tools > Webhooks", "Add 4 Webhooks", "Notification URL"). Those webhooks are INBOUND, from 7shifts into Chowbus, so they are not Chowbus order-event push. Also POISON for OAuth: "accountSettings.googleAccount.error.oauthInvalidState" is Chowbus acting as a Google OAuth client. No outbound webhook subscription UI exists in the catalogue, but a partner-only webhook could exist outside it, so it stays unknown. Re-probe: https://qrcode-api.chowbus.com/swagger/doc.json still HTTP 500 (0 B); /swagger/swagger.json, /swagger/doc.yaml, /swagger/v1/swagger.json, /docs/swagger.json, /api-docs, /openapi.json all return the same 18 B 404. Retrieved 2026-09-16. || 322nd: NEW SURFACE 2026-09-17: intercom.help/chowbus-pos (Chowbus POS Intercom Help Center, production, not linked from chowbus.com; sitemap https://intercom.help/chowbus-pos/sitemap.xml 611 locs = 303 en + 296 zh-CN articles + 12 collection pages; href fixpoint over all en bodies added 42 sub-collections and 1 orphan article 12569687, and 6 linked ids that answer 404 (10025314 team management, 10026249 tips setting, 10026337 workflow, 10031147 dashboard general setting, 10363654 buffet setting, 1356955 a foreign id) - none about hardware, KDS, payments or menu pricing; census = 304 en article bodies, 334,665 chars; intercom.help robots.txt bars only /not-authorized, /not-found and does not name ClaudeBot): webhook 0, webhooks 0; no outbound event push is documented to merchants. A merchant help centre is not a census of partner APIs, so it stays unknown. Retrieved 2026-09-17. || 328th: NEW 2026-09-18 (328th): the back-office app is now censused COMPLETELY rather than by single chunk - the webpack chunk-hash table in webpack-c6b69d5f4eb12757e025.js yielded 336/336 async chunks + 33 eager bundles of buildId d3374fcd8d with 0 misses (369 files; 158 English locale chunks, 24,814 EN key/value pairs; 465 routes in _buildManifest.js). Across that whole corpus `webhook`/`webhooks` score 4 EN hits and every one is still INBOUND: "Complete Webhook setup at 7shifts Admin > Setting > Developer Tools > Webhooks before enabling options", "7shifts.webhookSetupGuide.title":"Webhook Setup Guide", "7shifts.webhookSetupGuide.addWebhooksTitle":"Add 4 Webhooks:" with Topic/Events fields, and the route /team-management/7shifts/EmployeeAutoMatch/WebhookSetupGuideModal - Chowbus SUBSCRIBING to 7shifts events, not pushing its own. No outbound subscription UI, no event catalogue, no endpoint/secret field anywhere in 465 routes. WHY IT STILL CANNOT BE A NO: the same corpus proves an UNPUBLISHED partner API exists with order-level read access - the 7shifts authorization text grants a partner "Read order information", "Read restaurant configuration data", "Read time clock records" - and how that partner is fed (push or poll) is nowhere published. Per the standing merge rule a capability no on webhooks is not bounded by a public census when the vendor runs an unpublished partner API. Retrieved 2026-09-18. || 330th: NEW 2026-09-18 (330th), still unknown - the missing surface is now measured to be absent as a HOST, not just as a page. The 328th's hold turned on an unpublished partner API; this pass tried to find it published and it is not. (1) DEVELOPER-HOST SWEEP: because *.chowbus.com is a WILDCARD certificate, crt.sh cannot enumerate Chowbus's subdomains, so ten plausible documentation hosts were resolved directly - developer, developers, docs, open, openapi, partner, partners, api-docs, dev, openplatform .chowbus.com - and ALL TEN are NXDOMAIN (curl 'Could not resolve host'). Chowbus publishes no developer or partner documentation host. (2) SPEC RE-PROBE WITH CURL (per the standing rule that node-fetch 403/500s can be client artefacts): https://qrcode-api.chowbus.com/swagger/doc.json still answers HTTP 500 with a 0-byte body to curl with a browser UA, while /openapi.json and / on the same host return an identical 18-byte 404 - the 500 is a refusal, not an absence, and nothing is readable behind it. pos-api.chowbus.com returns the SAME 64-byte 404 on / , /swagger/doc.json and /openapi.json, so that host discriminates nothing; api.chowbus.com/ is a Rails back-office login shell (1,476 bytes, csrf-token, /assets/backend/application-*.js) whose /swagger/doc.json is a 969-byte Rails 404; us.chowbus.com and lp.chowbus.com 301 at root and 404 both spec paths; eva-01.chowbus.com 301s everything. (3) MERCHANT KB RE-PAGED FOR NEW ARTICLES: https://intercom.help/chowbus-pos/sitemap.xml re-fetched today is byte-for-byte the same census as the 327th/328th - 611 <loc> exactly, no additions - so no article published since 2026-09-17 changes the reading, and 'webhook' remains 4 inbound-only hits (Chowbus subscribing to 7shifts). (4) www.chowbus.com/sitemap.xml re-fetched: 1,721 <loc>, identical to the 328th's census, no new developer/API page. WHY IT STILL CANNOT BE A no: the standing merge rule accepts a webhooks no only when the vendor's own API is PUBLISHED and the published doc has no webhook surface. Chowbus's partner API is provably real (the back-office 7shifts authorization text grants a partner 'Read order information') and provably unpublished (no doc host exists, no anonymous spec answers), so a capability no is still not bounded by any public census. What would settle it: a Chowbus partner integration guide published by an integration partner that states how order events reach it. Retrieved 2026-09-18. adversarially verified

F
Unknown

Webhooks are cryptographically signed (e.g. HMAC) AND documented to retry with backoff, with a replayable event log for missed deliveries. differentiator

extensibility-webhook-reliability

Not scored by this record.

Unknown

A public write API accepts externally originated orders into the POS as first-class tickets that fire to KDS/printers and land in reporting.

extensibility-order-injection-api

Not scored by this record.

Unknown

Menu items, modifiers, and prices can be written and updated via API, not just read. differentiator

extensibility-menu-write-api

Not scored by this record.

Unknown

The vendor is a named DoorDash Preferred Integration Partner (DPIP) under the 2026 program requirements. differentiator

extensibility-doordash-preferred

Not scored by this record.

Unknown

Direct, first-party certified integrations exist with DoorDash, Uber Eats, and Grubhub without requiring a paid middleware layer (Otter/Chowly/Deliverect/Checkmate). differentiator

extensibility-first-party-delivery-integrations

Not scored by this record.

Unknown

The POS is a supported endpoint for at least two major aggregation middleware platforms (Deliverect, Chowly, Otter, Checkmate, ItsaCheckmate).

extensibility-middleware-compatibility

Not scored by this record.

Unknown

Native, vendor-maintained connectors exist for QuickBooks Online and at least one other GL/accounting system, with mapped journal entries rather than CSV-only export.

extensibility-accounting-connectors

Not scored by this record.

Unknown

Labor hours export natively to at least two named payroll providers (e.g. Gusto, ADP, Paychex, Paylocity) without manual re-keying.

extensibility-payroll-export

Not scored by this record.

Unknown

The vendor operates a public integrations marketplace listing named third-party apps that operators can browse and self-install.

extensibility-app-marketplace

Not scored by this record.

Unknown

The vendor supports a headless/embedded mode where a third-party UI (kiosk, web ordering, drive-thru) drives the POS transaction engine via API.

extensibility-headless-embedded

Not scored by this record.

Unknown

A complete historical data export (orders, customers, menu, payments metadata) is available to the operator on demand, in a documented machine-readable format, at contract end. differentiator

extensibility-data-portability-exit

Not scored by this record.

Reliability, offline & operations

Yes

Order entry, ticket routing, and check printing continue on-terminal when the internet connection is lost.

reliability-offline-order-entry

Offline-mode product note lists "Creating orders", "Sending orders to the kitchen printer" and "Printing customer receipts" among the functions that continue with no network, with automatic cutover after 30 seconds and cached PIN login. Order entry, kitchen routing and check printing therefore all continue on-terminal. The one documented caveat is that orders do not sync or share between Chowbus devices while offline, which limits multi-terminal working but not on-terminal entry. https://www.chowbus.com/blog/restaurant-pos-update-offline-mode · retrieved 2026-08-03

B
Unknown

Card payments can be accepted while offline via store-and-forward, not just cash-only fallback. differentiator

reliability-offline-card-auth

Not scored by this record.

Unknown

The vendor publicly documents who bears the loss when a store-and-forward transaction declines after connectivity returns, and states any per-transaction or cumulative offline cap. differentiator

reliability-offline-decline-liability

Not scored by this record.

Unknown

Multiple terminals continue to share a single check/table state over the local network while the internet is down (LAN-only degraded operation, not per-terminal islands). differentiator

reliability-lan-degraded-multi-terminal

Not scored by this record.

Unknown

The vendor documents a local/on-premise transaction engine or edge server (not purely cloud-hosted request/response) for the ordering path. differentiator

reliability-local-transaction-engine

Not scored by this record.

Yes

Kitchen display and/or kitchen printer routing continues to function while offline.

reliability-offline-kds-printing

Offline-mode note lists "Sending orders to the kitchen printer" as functional without a network connection, and the KDS hardware page independently advertises "100% functional offline operation" (https://www.chowbus.com/hardware/kitchen-display-system). The claim is satisfied by kitchen printer routing alone; both halves are asserted first-party. https://www.chowbus.com/blog/restaurant-pos-update-offline-mode · retrieved 2026-08-03

B
Partial

The system automatically fails over to a backup printer or KDS station when a configured kitchen printer is unreachable, and alerts staff.

reliability-printer-fallback

Source: Chowbus POS iOS enterprise build 3.86.2 (ChowbusPOS.ipa, vendor's shipped binary on static-cache.chowbus.com; first-party package:pos_flutter/modules/print strings, whole lines only), retrieved 2026-09-13. Corroborated by the vendor's back-office en-US locale bundle locale90.d058698853a70fc23a4f.js on pos-static.chowbus.com (Wayback capture 20250710124705). MET, staff alert: the print module ships per-cause error configs (printer_disconnect_error_config, printer_out_of_paper_error_config, printer_jam_overheating_error_config, printer_jobs_interrupted_error_config, no_printer_configured_error_config) with staff-facing strings "Printer is disconnected" and "@num Printers have printing errors". The back office keeps a printer log whose error types include "Printer offline" and "Connect Error". PRESENT BUT A DIFFERENT SUBJECT: "Enable printing recovery mode" -- "When toggle is on, the system will automatically use other terminals to print after the local terminal fails. This only works when restaurant owns more than one terminal." (binary module package:pos_flutter/modules/print/recovery_mode/recovery_mode_auto_firer.dart). This is automatic failover of the sending POS terminal, not of the destination printer. SHORTFALL on the automatic backup-printer/KDS conjunct: when the kitchen printer itself is unreachable, recovery is operator-driven -- "Select a New Printer", "Select Printer to Replace", "Which printer do you want to replace?", plus ManualSelectPrinterDialog. No designated backup printer or station: 0 lines match backup printer, printer group, failover or reroute in the binary's strings, and 0 in the 888 captured back-office chunks. POISON EXCLUDED: 'fallback' hits are Flutter fontFamilyFallback / ThemeData.fallback; 'redirect' hits are dio HTTP; 'Standby' is a dish-hold status; 'backupOrderId' is not printer-related. Bound: client strings and a 2025-07-10 bundle capture, not a census of server-side routing. https://static-cache.chowbus.com/app-download/pos-ios/3.86.2/ChowbusPOS.ipa · retrieved 2026-09-13 adversarially verified

A
Unknown

The vendor documents its conflict-resolution behavior for edits made on two devices during a network partition (e.g. last-write-wins, merge, or operator prompt).

reliability-sync-conflict-handling

Not scored by this record.

Unknown

The vendor publishes an explicit list of which features are unavailable offline (gift cards, loyalty lookup, refunds, manual card entry, text-to-pay).

reliability-offline-feature-matrix

Not scored by this record.

Unknown

A public, per-component status page exists showing current and historical incident state without a login.

reliability-public-status-page

Not scored by this record.

Unknown

24/7/365 live human support by phone is included in the base subscription, not sold as a premium support tier.

reliability-247-live-support

Not scored by this record.

Unknown

The vendor offers in-person on-site installation and go-live support (first-party or certified dealer network), not remote-only self-install. differentiator

reliability-onsite-install

Not scored by this record.

Unknown

The vendor performs the initial menu build as part of onboarding rather than leaving it entirely to the operator. differentiator

reliability-menu-build-service

Not scored by this record.

Unknown

A hardware replacement/advance-exchange program with a stated turnaround time is included or purchasable.

reliability-hardware-replacement-sla

Not scored by this record.

Unknown

The vendor publishes a current PCI DSS v4.0/4.0.1 Attestation of Compliance or equivalent (e.g. validated P2PE listing) covering the post-March-2025 future-dated requirements.

reliability-pci-dss-4-attestation

Not scored by this record.

Unknown

Multi-factor authentication is enforceable on back-office and POS administrative logins, with role-based permissions.

reliability-mfa-role-based-access

Not scored by this record.

Unknown

A public, free training library (video/LMS) and a practice/training mode on the terminal exist for staff onboarding.

reliability-self-serve-training

Not scored by this record.

Unknown

Any terminal can assume the master/server role automatically if the designated primary terminal or local server fails. differentiator

reliability-failover-terminal-role

Not scored by this record.

Unknown

Terminals support an automatic cellular/LTE failover for connectivity, first-party or documented.

reliability-cellular-backup

Not scored by this record.

Commercial, compliance & data ownership

Unknown

Vendor publicly offers a month-to-month subscription with no minimum multi-year term commitment for its core POS software tier. differentiator

commercial-month-to-month-contract

Not scored by this record.

Unknown

Vendor's published terms of service or MSA state no early termination fee / no liquidated damages for cancelling the software subscription before term end. differentiator

commercial-no-early-termination-fee

Not scored by this record.

Partial

The auto-renewal term and the required cancellation notice window (e.g. 30/60/90 days) are stated in publicly accessible contract terms rather than only in a signed quote.

commercial-autorenew-terms-published

Marketing states 'no contracts', but no contract terms document, renewal term or cancellation-notice window is publicly accessible. https://www.chowbus.com/pos-plans/pricing · retrieved 2026-08-01

D
Unknown

The POS software can be purchased and operated with a third-party payment processor of the operator's choice (no mandatory in-house processing lock). differentiator

commercial-processing-not-bundled

Not scored by this record.

Unknown

Vendor publishes an interchange-plus (cost-plus) processing rate option with the markup stated as a specific bps + per-transaction figure, rather than only blended/flat card-present rates. differentiator

commercial-interchange-plus-published

Not scored by this record.

Unknown

The processing agreement caps or prohibits unilateral vendor-initiated rate increases outside of pass-through interchange/network changes, or grants penalty-free exit on any increase. differentiator

commercial-rate-increase-clause

Not scored by this record.

No

Per-location and per-additional-terminal software pricing is published as specific dollar figures on the vendor's public site (not 'contact sales' only).

commercial-pricing-published

Vendor's own pricing page names three tiers but explicitly routes to custom quotes; no per-location or per-terminal dollar figures. https://www.chowbus.com/pos-plans/pricing · retrieved 2026-08-01

C
Unknown

Individual modules (online ordering, KDS, loyalty, inventory, payroll, marketing) can be purchased à la carte and cancelled independently without repricing the base POS subscription. differentiator

commercial-module-unbundling

Not scored by this record.

Partial

All required terminals, KDS screens, and printers can be purchased outright at a published price, with no mandatory multi-year hardware lease or rental.

commercial-hardware-purchase-outright

CLAIM: all required terminals, KDS screens and printers can be purchased outright at a published price, no mandatory multi-year lease/rental. VERDICT: partial/B. NEW SURFACE: intercom.help/chowbus-pos (Chowbus POS Intercom Help Center, production, not linked from chowbus.com; sitemap https://intercom.help/chowbus-pos/sitemap.xml 611 locs = 303 en + 296 zh-CN articles + 12 collection pages; href fixpoint over all en bodies added 42 sub-collections and 1 orphan article 12569687, and 6 linked ids that answer 404 (10025314 team management, 10026249 tips setting, 10026337 workflow, 10031147 dashboard general setting, 10363654 buffet setting, 1356955 a foreign id) - none about hardware, KDS, payments or menu pricing; census = 304 en article bodies, 334,665 chars; intercom.help robots.txt bars only /not-authorized, /not-found and does not name ClaudeBot). EVIDENCE: "Chowbus Service and Hardware Policy" https://intercom.help/chowbus-pos/en/articles/9391236-chowbus-service-and-hardware-policy: "Additional Hardware Policy: Chowbus provides the initial batch of hardware per contract terms. Some contracts qualify for free hardware. Anything additional will be billed to merchants at cost." and "Chowbus offers 12 months free hardware replacement from date of initial device activation ... Chowbus will charge full price for a replacement if we identify physical damage on the device". The page publishes service prices ("Install/Training: $388", "Additional training: $200/day", onsite $199/$399/$599) but NO hardware price. So additional hardware is sold (billed at cost, a charge not a rental) - part of the claim - but the initial hardware is bound to "contract terms", no hardware price list is published, and nothing states the absence of a lease. Controls over the 304-article census: lease 0, leasing 0, rental 0, financing 0, "at cost" 1 (this page). Retrieved 2026-09-17. https://intercom.help/chowbus-pos/en/articles/9391236-chowbus-service-and-hardware-policy · retrieved 2026-09-17 adversarially verified

B
Unknown

Vendor documents support for at least one non-proprietary/third-party hardware option (e.g. standard iPad, Epson/Star ESC/POS printers, generic cash drawer) rather than requiring vendor-only devices. differentiator

commercial-hardware-not-locked

Not scored by this record.

Unknown

Operators can self-serve export their full transactional history (orders, line items, payments, labor) to CSV or a documented API without contacting support or paying a fee.

commercial-data-export-self-serve

Not scored by this record.

Unknown

Guest/customer records, loyalty balances or point ledgers, and gift-card liability balances are exportable in machine-readable form by the operator. differentiator

commercial-export-customer-and-loyalty

Not scored by this record.

Unknown

Contract or documentation specifies a post-termination data retrieval window (a defined number of days during which the operator can still export their data) rather than immediate cutoff. differentiator

commercial-post-termination-export-window

Not scored by this record.

Unknown

Published terms explicitly state the merchant owns its transaction and customer data, and constrain the vendor's right to use or resell that data (beyond aggregated/de-identified use) for its own products or marketing. differentiator

commercial-data-ownership-clause

Not scored by this record.

Unknown

Vendor documents validated P2PE or hardware-encrypted card entry plus tokenization such that the merchant's PCI scope is reduced to SAQ A / SAQ P2PE-HW, and names the applicable SAQ.

commercial-pci-p2pe-tokenization

Not scored by this record.

Unknown

Vendor documents PCI DSS v4.0.1 future-dated controls in effect since 31 Mar 2025 — notably MFA for all access to the cardholder data environment including POS and back-office logins, and (for hosted ordering pages) payment-page script integrity monitoring per Req 6.4.3/11.6.1.

commercial-pci-dss-4-controls

Not scored by this record.

Unknown

Product provides in-app tooling for CCPA/CPRA and GDPR data-subject requests — locating, exporting, and deleting an individual guest's records — plus a published DPA the operator can execute.

commercial-privacy-dsar-tooling

Not scored by this record.

Unknown

Vendor publishes an accessibility conformance report (VPAT/ACR) claiming WCAG 2.1 AA (or later) for its self-order kiosk and consumer web-ordering surfaces, including a documented tactile/audio non-visual access mode on kiosks. differentiator

commercial-wcag-kiosk-accessibility

Not scored by this record.

Unknown

POS supports card-network-compliant dual pricing / cash discount or surcharging with automatic exclusion of debit and prepaid cards from any surcharge, and required receipt and menu-board disclosure of the fee. differentiator

commercial-dual-pricing-compliant

Not scored by this record.

Adversarial verification

An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 8 values — 8 upheld, 0 downgraded, 0 upgraded. It separately resolved 27 previously unknown values. This is published in full because a reader who can see which values were contested, on what evidence, and which way they moved has something no affiliate-funded comparison offers.

Capability claims

ClaimAs first scoredVerdictWhat the verifier found
order-capture-split-mergeunknown (F) — placeholder: 'No public documentation located during the 2026-08-01 research pass'resolve-to-partialThe placeholder marked an unexamined cell. Chowbus's POS product page names 'Guest Mode' for 'more efficient ordering and split-check processing', and the 2026 summer launch note cites 'a smoother check-splitting experience' in core POS. Presence of split-check is established at grade C; the split modes and any merge of checks or tables are undocumented, which is the named shortfall. source
order-capture-scheduled-ordersunknown (F) — placeholderresolve-to-partialBranded mobile app page documents 'Support for instant pickup or scheduled orders'. Acceptance of future-dated orders is established; per-channel lead time and fire-time injection into the make queue are not documented anywhere, so the cell cannot reach yes. source
menu-pricing-nested-modifiersunknown (F) — placeholderresolve-to-partialA dedicated vendor product-update post states 'It now allows for three-level menu item configurations' and walks a three-deep example with per-option surcharges. Three levels satisfies the depth requirement; independent per-level min/max counts and a forced-selection flag are never described as configurable, so partial rather than yes. source
payments-gift-cardsunknown (F) — placeholderresolve-to-partialGift card product page documents first-party digital and physical cards, fund-flow reporting, and redemption at any location in a chain; the offline-mode note independently confirms gift card sale and redemption exist by listing them among functions that stop offline. Redemption through the first-party online-ordering channel is undocumented, and balance visibility is reporting rather than a stated real-time balance — hence partial. source
kitchen-expo-consolidationunknown (F) — placeholderresolve-to-partialKDS hardware page documents multiple workstation screens with dish-specific assignments, 'Automatic dish consolidation', and 'Full-order display at expediting station with double-tap confirmation'. The consolidation half of the claim is met; the all-contributing-stations-bumped completion rule is not documented, and the described expo action is a manual confirmation. source
digital-menu-single-sourceunknown (F) — placeholderresolve-to-yesThree separate first-party pages state the digital menu is generated from the POS record: branded app 'Menus, pricing, and membership benefits sync automatically with your POS'; online-ordering update, menu sync from POS 'eliminates duplicate data entry'; POS page, availability edits 'instantly synced across all menus'. Table-stakes weight, so grade C carries a yes. source
guest-loyalty-unified-profileunknown (F) — placeholderresolve-to-partialLoyalty page documents phone number as the unique guest identifier 'applicable across all channels', with the program working across kiosks, tablets, QR and apps with instant sync. One identity across POS, kiosk and first-party digital is therefore documented; the claim's explicit dedup/merge-behaviour requirement is not, so partial. source
labor-granular-rbacunknown (F) — placeholderresolve-to-partialPOS product page ('configure permissions flexibly') and full-service page ('Customize staff permissions') establish that permissions are configurable rather than fixed cashier/manager/admin tiers. Neither enumerates the individually grantable actions or per-location scoping the claim demands, which is the named shortfall. source
reporting-pmix-modifier-levelunknown (F) — placeholderresolve-to-partialPOS page documents breakdown 'by time period, order type, menu category, and more' and the multi-location page states reports are 'detailed down to the item level'. Item-level PMIX with daypart slicing is established; modifier-level lines and revenue-center filtering are documented nowhere. source
hardware-offline-modeunknown (F) — placeholderresolve-to-yesA dedicated vendor product-update note enumerates offline behaviour precisely as the claim requires — order creation, kitchen printing, cash and card payment, receipt printing and tip collection continue; gift cards, loyalty, coupons and cross-device order sync explicitly do not, along with tablet, QR and kiosk ordering. Automatic 30-second cutover and cached PIN login are documented. This is a published degrade list, not a marketing assertion, so grade B. source
reliability-offline-order-entryunknown (F) — placeholderresolve-to-yesSame offline-mode note: 'Creating orders', 'Sending orders to the kitchen printer' and 'Printing customer receipts' all continue with no network. Order entry, ticket routing and check printing on-terminal are all covered. The documented caveat — no order sync between Chowbus devices while offline — does not bear on on-terminal entry. source
reliability-offline-kds-printingunknown (F) — placeholderresolve-to-yesOffline-mode note lists 'Sending orders to the kitchen printer' as working without a network, and the KDS hardware page separately advertises '100% functional offline operation'. The claim is satisfied by kitchen printer routing alone; both halves are asserted first-party. source
inventory-recipe-bom-costingunknown (F) — placeholder: 'No public documentation located during the 2026-08-01 research pass'resolve-to-noThe placeholder marked an unexamined cell. Three independent first-party enumerations were re-read: the switch-to-chowbus catalog, which lists every product by suite and has no inventory, ingredient or food-cost module; the pos-plans pricing page, whose Starter/Efficiency/Growth tier lists name no inventory feature; and /products/inventory-management, which returns HTTP 404. The only stock behaviour Chowbus publishes is dish-level availability toggling on the POS product page. Chowbus's own bubble-tea and pos-features blog posts discuss recipe-to-ingredient depletion as generic buying advice and never attribute it to their product. Enumerative absence of the whole inventory layer forecloses nested sub-recipe costing with automatic plate-cost recalculation. source
reporting-realtime-dashboardunknown (F) — placeholder: 'No public documentation located during the 2026-08-01 research pass'resolve-to-yesThe placeholder marked an unexamined cell. The Chowbus Go product page — not previously retrieved — documents a merchant mobile app showing 'real-time business data' from overview down to hourly breakdowns, order type, dish and staff performance, plus daily closing reports, explicitly usable 'even when you're off-site'. The browser half of the claim is carried by the POS product page ('Access and export data from your computer for deep analysis of orders, staff performance, and more') and the multi-location page's web-or-mobile HQ account switching. Both required access paths and the off-premise condition are met on first-party pages; grade C rather than B because Chowbus publishes no admin guide and no refresh interval, and this is a table-stakes claim where C may carry a yes. source
labor-clock-in-at-posunknown (F) — placeholder: 'No public documentation located during the 2026-08-01 research pass'resolve-to-yesThe placeholder marked an unexamined cell. The full-service vertical page attributes attendance tracking to POS staff management ('Customize staff permissions, track attendance, and calculate wages and tips effortlessly'), and 7shifts' partner page for its shipped Chowbus connector lists 'Real Time Labor Data Sync' and 'Employee Sync from POS to 7shifts' — labor punches originate in the POS, which is operational corroboration a marketing page cannot provide. The offline-mode note documents cached PIN login at the terminal, and the sitemap's complete hardware catalog (pickup screen, handheld, KDS, QR, kiosk, tablet) contains no separate time-clock device. Table-stakes weight, so grade C carries the yes. source
hardware-os-platformsunknown (F) — placeholder: 'No public documentation located during the 2026-08-01 research pass'resolve-to-partialThe placeholder marked an unexamined cell. The POS product page names the client platform — 'Running on iOS-powered Apple devices, our point of sale system performs smoothly and reliably' — satisfying the OS-naming half of the claim. The second half fails on the vendor's whole public surface: none of the six /hardware/* pages carries a model name, OS version or spec table, and no help centre or admin guide exists (sitemap enumeration; help.chowbus.com and support.chowbus.com do not resolve). Minimum OS versions and device specs are the named shortfall. source
commercial-pricing-publishedno, grade B - Vendor's own pricing page names three tiers but explicitly rupheldGrade only, value untouched. Corpus-wide mechanical pass (workflows/regrade-marketing-pages.mjs): the cited page is a first-party pricing/feature/product page, which atlas-evidence-rules grades C ("vendor pricing page or feature page - first-party, but written to sell"), not B ("vendor product documentation - the manual, the help centre, the admin guide"). No claim was re-researched in this pass and no evidence was re-read; only the grade was brought into line with the source type. source
order-capture-offline-order-entryunknown, grade Fresolve-to-partialAll quotes but one are verbatim in the raw HTML (live/blog__restaurant-pos-update-offline-mode.html), each inside its own <p>/<li>, so no tag-stripping welds. The one that fails is 'Tablet, QR-code, and Kiosk are unable...', which MISSES as a raw string because Tablet, QR-code and Kiosk are separate <a> links. The note is re-quoted from the link text. The page is Chowbus's own 'New Feature: POS Offline Mode' post (Webflow datePublished 2025-04-29, a republish), not generic SEO. The POS product page FAQ corroborates it ('Does Chowbus POS work offline? Absolutely. Chowbus POS includes an offline mode'), and no first-party page contradicts it. The rubric's conjuncts are create orders, send to kitchen, tender cash and publish scope, and all four are met. Modifiers and handhelds are never named (0 raw hits for 'modifier' in the body; 'Handheld' hits are nav only), and cross-device sync is disabled. That makes partial correct, not yes. Amended only to fix the quote and the provenance date. source
payments-emv-nfcunknown, grade FupheldProposed partial from the full www.chowbus.com sitemap corpus (855 pages) plus archived pos.chowbus.com (287th session); rejected on verification: The quote is verbatim in raw live/products__point-of-sale.html, but it establishes only 'credit cards and Apple Pay' at tableside, as marketing. Across all of Chowbus's own product, hardware, news and update pages, EMV, chip, NFC, tap to pay and card reader get 0 hits. Google Pay appears once, in an award news post ('Integrates local payments such as Apple Pay and Google Pay'), which does not say in-person or on which terminal. Apple Pay 'at tableside' does not by itself establish NFC on first-party terminals, since it could be a wallet on a pay-at-table flow. The rubric conjunct 'all first-party terminals accept EMV chip' is wholly unaddressed. A partial needs a named limitation of the capability, and here the gap is in the evidence, not in the product. As the proposer conceded, that leaves the cell unknown. source
kitchen-station-routingunknown, grade Fresolve-to-partialThe printer quote is verbatim in raw live/blog__restaurant-pos-update-menu-management.html, in its own <p>. That page is Chowbus's first-party setup guide: 'the restaurant can create and modify categories, dishes... on their Dashboard'. The category form fields (Name/Foreign Name/Tax Code/POS Name/Has Limited Availability/Is Point Category) contain no printer or station field. The KDS quotes are verbatim in live/hardware__kitchen-display-system.html, each in its own label div. The rubric is disjunctive (item OR category OR order type OR revenue center), so item-level routing meets the axis conjunct. Self-service is established for printers only. KDS station assignment is a marketing line, and the KDS FAQ says 'Our team helps with setup, screen configurations'. The station hits are 'expediting station' and pricing 'number of stations', both excluded as poison. No contradicting first-party statement was found. Partial holds at C. source
delivery-driver-rosterunknown, grade FupheldProposed partial from the full www.chowbus.com sitemap corpus (855 pages) plus archived pos.chowbus.com (287th session); rejected on verification: Both quotes are verbatim in raw HTML (live/products__point-of-sale.html label div; live/products__online-ordering-for-restaurants.html, where the second is a customer testimonial). But 'flexible delivery driver assignment' is one marketing line with no configuration description. It does not establish that drivers are first-class in-house entities rather than assignment to a third-party courier, and the online-ordering page offers 'merchant or third-party delivery'. The 2023 archived page's 'Chowbus drivers' is Chowbus's courier service, which is poison. Across first-party pages, 'driver' has 3 distinct hits and none mentions clock-in/out, assignment state or per-driver run history. So 0 of the three substantive conjuncts are met, and a partial would rest on a homonym-risk phrase plus a testimonial. Held at unknown. source
guest-loyalty-lifecycle-automationunknown, grade Fresolve-to-yesAll three quotes were confirmed verbatim in the raw HTML: live/products__sms-marketing-for-restaurants.html, live/blog__restaurant-pos-update-loyalty.html and arch/pos.chowbus.com__products__loyalty.html. On the product page the trigger bullet is a single cb-label-with-check-icon-text div under the h3 'Automated Marketing: Set It and Forget It', and it sits in a separate block from 'Manual Campaigns: Total Control', so the text is not welded across tags. It is Chowbus's own product: the Autopilot setting is described inside the Chowbus Dashboard membership walkthrough, and the archived Chowbus loyalty page calls it AutoPilot. Birthday, first-visit and lapsed/at-risk triggers are each named by a first-party page, and the archive says each scene is toggled on in settings, which is the always-on, not one-off, conjunct. The weight is table-stakes, so a C-grade yes is within the grade floor. Contradiction search: no Chowbus statement limits or denies triggers. The corpus hits for automated birthday or win-back messaging are generic loyalty blogs, which were not used. Residual weakness: the configuration shown is on/off only, with no documented trigger windows. That is noted but is not a rubric conjunct. source
guest-loyalty-accrual-modelsunknown, grade Fresolve-to-partialConfirmed verbatim in raw live/blog__restaurant-pos-update-loyalty-point-full-service-testimonial.html under h3 'Set Up Point Rules'. The quick-service sibling post carries the same rule and 'Customers earn 10 points for every $1 spent.' The archive's 'Points based on spend, or sign up.' was confirmed. 'tiered rewards' on /products/restaurant-loyalty-programs is confirmed to sit under 'Diverse Point Redemption Options', so it is a redemption tier, not an accrual tier. 'Card status (such as tier level)' on the Loyalty Web news post was confirmed and says nothing about earn rates. Searches for visit or punch accrual and tier-driven earn rates over every non-blog page and every restaurant-pos-update post found only per-dollar accrual, sign-up bonuses and a manually adjusted 'Double Points on Weekdays' ratio, which is still spend-based. Punch/stamp hits are generic listicles or the 'Beyond the Punch Card' related-article link. One model is established, so partial, with the shortfall named. It is not a no, because no page enumerates the models or excludes visit accrual. source
multi-location-org-hierarchyunknown, grade Fresolve-to-partialBoth quotes were confirmed verbatim in raw live/products__multi-location-management.html, each in its own text div. The HQ-vs-branch cash flow sentence and the loyalty-page 'Headquarters sets registration rules and point policies' were confirmed. The cross-store membership post's brand-group sentences were confirmed, and they scope membership cards, not reporting or permissions. Searches for region, district, area manager, brand level and three-level found only generic blog prose, cookie-banner 'region' and a 'three-level menu' homonym (menu category > item > modifier). No first-party statement names a third org level or hierarchy-scoped permissions. One trap found: an icon on this page carries alt text 'Menu & Team Management' but sits above the 'Multi-Location Memberships' item, so it is a stale alt, not a claim. A two-level headquarters/store hierarchy with scoped reporting is real but short of the three-level, permission-scoped rubric, so partial with named shortfalls. source
multi-location-central-menu-publishunknown, grade Fresolve-to-partialThe quote was confirmed verbatim in raw live/restaurant-pos__full-service-pos-system.html as one div, under h3 'Comprehensive Management Tools That Boost Performance', next to staff-permission and reporting bullets rather than delivery-channel bullets. It says 'locations', not platforms, so it is not the channel-sync homonym. This is a thin upheld, weighed against rejecting. Corroboration: Chowbus's own blog answers 'How does Chowbus support multi-location boba shop operations?' with 'centralized menu control' (https://www.chowbus.com/blog/boba-shop-pos). That is SEO blog copy but a first-party statement about Chowbus. Against it: the Multi-Location Management product page mentions menus only as 'item-level data that supports menu optimization', and the menu-management update post describes a per-restaurant Dashboard flow. Neither contradicts central sync, and there is no Chowbus statement that menus must be keyed per store. Kept at partial because both the chosen-set and publish-history conjuncts are unmet; a single further contrary statement should send it to unknown. source
commercial-hardware-purchase-outrightunknown, grade FupheldProposed partial from the full www.chowbus.com sitemap corpus (855 pages) plus archived pos.chowbus.com (287th session); rejected on verification: The quote is verbatim in raw live/hardware__restaurant-kiosk.html, and it IS Chowbus's own figure ('Chowbus self-ordering kiosks cost around $1,000'), not generic kiosk-market copy. But it does not carry the rubric. (1) The rubric names 'terminals, KDS screens, and printers'. A self-ordering kiosk is an optional add-on device, not one of the required classes, so no required device has any published price. A non-blog search for dollar figures on /hardware/, /pos-plans/ and the archived pos.chowbus.com product pages found only this kiosk FAQ and '$8,000' labour-savings claims. (2) The same FAQ continues 'Each kiosk includes the software, hardware, and integration support', so '$1,000' is an approximate bundle figure of unstated term (one-time or recurring), not an outright hardware purchase price. (3) The lease conjunct is unresolvable: the pricing page says '$0 upfront hardware available for qualified restaurants', 'Final price depends on hardware and restaurant size' and 'Yes! We offer flexible payment plans for qualified partners.', and no page states whether hardware is bought, financed or leased, or on what term. No non-blog page mentions leases or rentals. No conjunct is even partly met for the devices the rubric names, so partial has no named present capability to limit. The cell reverts to unknown. The standing rationale's '$826 in hardware, on us' string is absent from this corpus and should be dropped when the rationale is rewritten. source
payments-emv-nfcunknown, grade FupheldProposed partial from Chowbus's own shipped app binaries (POS iOS 3.86.2 ipa + KDS Android 1.20.0 apk, anonymous downloads named by pos-api.chowbus.com/api/v1/appconfig) and App Store listings (288th session); rejected on verification: Quotes are verbatim whole lines in ev/pos-ios-3.86.2.txt (line 1 = ipa URL). card_reader_* and insert_or_tap_the_card_reader are Chowbus l10n keys: they sit beside assets/images/reader_chipper_2x_bt.png, 'WisePOS E' and 'Chipper 2X BT', not inside Stripe/Adyen SDK strings. They still do not carry the cell. (1) The four reader types are third-party hardware (Stripe M2, WisePOS E, BBPOS Chipper 2X BT, Adyen). 'insert or tap the card reader' is one generic prompt string, and nothing in the stripped AOT pool ties it to a given reader, so it cannot establish that ALL terminals accept chip AND contactless. (2) The only shortfall named, Apple Pay / Google Pay 0 hits (also 0 for contactless, nfc and 'tap to pay'), is an evidence gap, not a capability shortfall. Wallets ride the same contactless path. So the partial has no present capability paired with a real shortfall. Rejected to unknown. source
payments-refund-void-controlsunknown, grade Fresolve-to-partialAll six quotes are verbatim whole lines in ev/pos-ios-3.86.2.txt. The package:pos_flutter paths and permission codes are first-party, and neighbours are pool hashes and Flutter symbols, not SDK copy. Proposal shortfall (c), 'immutable audit log identifying the approver not established', is partly FALSIFIED by the vendor's own back-office bundle, which the proposer did not check. locale77 (Wayback 20240926153738) and locale90 (20250710124705) carry a User Activity log. It has the column userActivity.column.approver_name = 'Authorized By' and activity types 'Void the order', 'Void meals', 'Refund', 'Discount line items', 'Order discounts', 'Open cash box' and 'Cancel payment'. The Authorized By column appears in 29 captures, 2023-11-07 to 2025-07-10. locale90 also has 'Require authorization for voiding dishes' and 'Enable authorization keypad for the following actions when user does not have permission' (an override keypad). Note rewritten: approver logging is MET; immutability and a discount-specific gate remain unestablished (the keypad's action list is not in the locale). The value stays partial. source
reliability-printer-fallbackunknown, grade Fresolve-to-partialAll five quotes are verbatim whole lines in ev/pos-ios-3.86.2.txt; the package:pos_flutter/modules/print paths are first-party. The proposal's absence bound failed the vendor-vocabulary control. It searched failover/reroute/fallback/backup, but the vendor calls its automatic mechanism 'recovery mode'. The binary carries package:pos_flutter/modules/print/recovery_mode/ (recovery_mode_auto_firer.dart, RecoveryModeAutoFirer, 'Printing recovery mode ', 'Recovery Mode'; 50 lines). locale90 (Wayback 20250710124705) has 'Enable printing recovery mode' and 'When toggle is on, the system will automatically use other terminals to print after the local terminal fails. This only works when restaurant owns more than one terminal.' That is automatic failover of the SENDING TERMINAL, not failover to a backup printer or KDS station when the kitchen printer itself is unreachable. For an unreachable printer the shipped path is still alert plus manual replacement ('Replace Printer', 'Select Printer to Replace'). The partial holds; the note is rewritten to name recovery mode and correct the bound. source
delivery-driver-rosterunknown, grade Fresolve-to-partial'Print Driver Closeout Report' is a verbatim whole line in ev/pos-ios-3.86.2.txt. The cited identifiers are present: 'Assign Driver', get:driverRole, reports:driver:history, reports:driver:daily, reports:driver:daily:payment_list and orders:driver:update. The back-office corroboration was verified in raw bytes. 'roleEdit.driver' = 'Full-Time Driver' + fullwidth-paren '(Delivery Only, No Order Taking)' appears in 17 captures, the earliest locale75.568c0972cf2bcf19bf73.js at Wayback 20240828231425. It is a merchant staff role under roleEdit, beside 'Use your own delivery drivers' and 'Delivery Fees Paid to Drivers as Compensation', so these are merchant-employed drivers, not the Chowbus courier network. 'Must clock in before accessing POS App' is in locale66 (captures 2023-11/12) and locale75. The finish pop-up string is in locale77 (Wayback 20240926153738), and the assign-driver sentence in locale90 (20250710124705). The proposal omitted the capture dates of locale75, locale77 and locale66; they are added. The assignment-state shortfall is confirmed: no in-store/on-run/returning vocabulary in either corpus. The value stands. source
delivery-zone-pricingunknown, grade Fresolve-to-partialThe URL is line 1 of js/...locale90.d058698853a70fc23a4f.js, and every quoted sentence is verbatim in raw bytes. The file is merchant back-office copy (onlineOrderingSettings.* keys in the pos-static Next.js admin), not marketing or the consumer app. The proposal's central shortfall is FALSIFIED by the SAME file. It has 'onlineOrderingSettings.section.fee.tiered' = 'Tiered Fee', described as 'Allow you to set multiple levels of delivery fees based on distance ranges. You’ll need to define the overall delivery radius before configuring the tiers.', with table columns 'Distance From' / 'Distance To'. These keys are present in 15 captures, 2024-09-26 to 2025-07-10. So the fee DOES vary by distance band, and 'single flat fee with no per-zone variation' is wrong. The proposal's control counted only the word 'zone' and missed the vendor's word 'tier'. The minimum order value and delivery duration are still single store-wide keys with no per-tier columns, so the value stays partial on a corrected basis. Currency: this 2025-07-10 capture is the latest en locale in the 888-chunk corpus; the 34 later captures (to 2026-04-18) contain no locale chunk. source
reporting-eod-closeoutunknown, grade Fresolve-to-yesVerified all quoted keys verbatim in locale90 (270 matching keys extracted by regex; positive controls 'Authorized By'=1, 'timeWarning'=1). One document: salesReport.title 'Earning Report' has tab salesReport.tab.sales_summary 'Sales Summary'; the salesSummary.* namespace carries section titles (Sales Summary, Net Sales Summary, Payments Summary, Tips Summary, Discount Summary, Void Summary, Cash Drawer Expected Balance, Refunds Summary, House Cash) plus one shared salesSummary.timeWarning, so it is one tab page with sections, not a weld of unrelated reports. Every conjunct is present as a row: Gross Sales, Net Sales, Tax Amount, Tips, Discounts, Total Refunds, per-tender rows and columns, Cash Drawer Expected Balance/Balance plus Safe Drop and Cash Owed To House. Daily: the page takes a date range ('Select a date range not exceeding Three months.'), so it is not daily-only, but the report day is defined by the Closeout Report Cutoff Time tooltip and the vendor names a 'Daily Closeout Report' print block; the POS binary ships a closeout_report.html template and closeout modules. A partial is not available because no real capability shortfall was found, only evidence gaps; every conjunct is met, so yes is upheld. Amended for accuracy: the proposal mislabels houseCash's title (it is 'House Cash'; 'Cash Owed To House' is a row), and the POS printout's rows are server-supplied cells (item.cells), so its contents cannot be read from the template and are not relied on. source
labor-manager-override-auditunknown, grade FupheldProposed partial from Chowbus's own merchant back-office locale bundle (pos-static.chowbus.com locale90, Wayback 20250710124705) corroborated by the POS iOS 3.86.2 binary (289th session); rejected on verification: Verified: locale90 has userActivity.column.approver_name 'Authorized By' (positive control, 1 hit), 'Operator', 'Time Created', 'Search Order#', 'Operation type' and serviceSettings authorization keypad wording, so approver attribution and querying after the fact are met. The third conjunct, an immutable audit trail, has no evidence: 0 hits for 'audit', 'Audit', 'immutable', 'tamper' in locale90; no 'cannot be' string concerns logs (16 hits, all unrelated); 0 'audit' lines in the POS binary; 'immutable' there is Dart SDK (_ImmutableList, ImmutableBuffer, poison). The proposal's only shortfall is 'NOT ESTABLISHED: immutability', an evidence gap rather than a capability shortfall, so the partial refutes itself; yes is impossible with a conjunct unmet. It also adds nothing material beyond payments-refund-void-controls, which already publishes the same User Activity 'Operator'/'Authorized By' log and the same keypad wording, and the same missing immutability, at grade A. The extra activity types (Update Time Log, Delete Time Log, Update Permissions of Role) widen coverage but do not touch immutability. Leave unknown/F. source
multi-location-price-zonesunknown, grade FupheldProposed partial from Chowbus's own merchant back-office locale bundle (pos-static.chowbus.com locale90, Wayback 20250710124705) and the POS iOS 3.86.2 binary (290th session); rejected on verification: Rejected: the met conjunct is real, but neither named shortfall is a positively evidenced capability gap. MET (verified raw): dish record carries price per menu -- "dishEdit.step4":"Step 4: Add pricing for each menu", "dishEdit.menuPrice":"{menuName} Menu Prices", "There are {inHouseMenusCount} In House menus and {chowbusMenusCount} Online menus that you can add this dish to"; menus sit under contract sections pos / smart_ordering / third_party / white_label, and "You can publish a single menu across multiple or all platforms; however, each platform can only accept one menu." So different channel families can carry different prices for one dish via different menus. SHORTFALL 1 (daypart) FAILS: menus carry their own hours ("menuBuilder.menuAvailability.description":"Determines when the menu is available for ordering.", "You can add up to {maxCount} time periods per day."), and price is per menu, so two menus at different hours carrying one dish at two prices is not excluded by anything in the file -- the daypart conjunct is NOT ESTABLISHED, not short. The 'each platform can only accept one menu' sentence is menuBuilder.publishMenu.description, which sits with the Integrated Delivery Platforms / Menu Publish History keys; it is not shown to bind the POS or Smart Ordering contracts, so it cannot be used to exclude multiple menus per channel. SHORTFALL 2 (location group) FAILS: zero hits for location group / multi-location / region / zone / brand as price vocabulary (tokenised control; brand hits were card_brand and branded_app, region was thirdparty_region_fee); the rg.* namespace carries only Restaurant Group reports ("Total Restaurant Group Charges", "Filter by Restaurants, Multiple") and "rg.action.noMenu":"You have no menu permission, please contact your administrator" -- a permission message, not evidence either way. That is an evidence gap, not a shortfall. Also checked: Smart Ordering covers Kiosks, QR code and Tablets under one contract with only "Channel Visibility" toggles, so per-channel price within that family is NOT ESTABLISHED (not shown absent). The Deliverect text ("use the Deliverect Portal below to set up the menu, edit prices, and manage business hours for different platforms") describes the partner route only; the native third_party contract publishes menus itself, so it is not a native shortfall. "Pricing Variations" (priceEditor.drawer.title) neighbours only price / pointprice required keys -- base/member/point, not zones. POS iOS 3.86.2 strings menu_price, updateMenuPrice, _changeMenuPrice and a bare PriceLevel symbol carry no semantics. With one conjunct met and the other two only unestablished, the rule bars partial; leave unknown and record the per-menu pricing finding in the rationale for a later sweep hunting location/daypart evidence. source
menu-pricing-topping-quantity-tiersunknown, grade FupheldProposed partial from Chowbus's own merchant back-office locale bundle (pos-static.chowbus.com locale90, Wayback 20250710124705) and the POS iOS 3.86.2 binary (290th session); rejected on verification: Rejected: no conjunct of the claim is met. The claimed MET (a third-level preference option with its own flat price: "dishPreference.field.option.price":"Default Price(optinal)", "menu.customizations.dishPreferences":"3rd Level items({count} items)") is generic nesting, already the subject of menu-pricing-nested-modifiers, and the file never shows preferences used for tiers: its own examples are sauces and ingredients ("Mayonnaise, Mustard, Ranch, Sweet onion sauce, BBQ sauce, and Ketchup"; "beef, chicken, onion, pepper, tomato, cucumber") and bubble tea "temperature, size, sugar level, and toppings". Tier-word control over the whole locale, tokenised: light 0, triple 0, heavy 0, half 0; double 2 (both 'double check'/'double-checking'), extra 3 (all 'extra commission fees' / 'charged extra $0.02' / 'an extra reminder'), easy 3 (all 'easy to'). POS iOS 3.86.2 poison: 'Extra' = 'Suggested Extra Tip:' / 'Add Extra Tip', 'light' = soft-light / hard-light / ThemeData.light blend and theme symbols, 'double' = the Dart type. No multiplier vocabulary anywhere. The fullwidth-bracket string (raw bytes \u3010NO\u3011, not ASCII [NO]) "menu-manage.isFreeOnDishPreferenceWithNoOption.switch.label":"When 【NO】 is selected, all options with prices will not be charged (i.e., the price will become 0)." is a negation option zeroing prices, not a quantity tier. Quantity is by repetition ("Max Quantities Per Option", "Default Quantity", "whether the choices are repeated or not", "you can choose up to 2 for each option") with a flat option "Price"; POS templates print {{customization.quantity}}x and ${{customization.amount}}. The proposed shortfall is therefore the whole claim, so partial is impossible. It is not `no` either: nothing enumerates the alternatives or says tiers are unsupported, and a merchant-named Light/Extra preference option cannot be ruled out from strings. Unknown/F. source

Sources

Every URL this record cites. 34 in total.