Vendors / Pizza & delivery-led

FoodTec Solutions

dossier live

Claims in scope
311
Scored
311
Assessed
258
Unknown
53
Not applicable
3
Values challenged
67

Identity

Owner
Independent, privately held. No parent, PE sponsor, or acquisition found in any public source. HQ Needham, Massachusetts.
Founded
Massachusetts domestic profit corporation filed 1995-02-24 per Bizapedia (bizapedia.com/ma/foodtec-solutions-inc.html); Tracxn lists 1996. Treat as mid-1990s; exact founding year not confirmed by the vendor.
Scale
unknown as a vendor-published figure. Third-party estimates only: Crunchbase lists 101-250 employees; RocketReach estimates ~$8.9M revenue / 101 employees (both are estimate-grade aggregators, not disclosures). A restaurant consultant on r/restaurants (Aug 2023) claimed '8000+ restaurants' with Marco's Pizza as largest client — user-generated, unverified, and Marco's has since migrated off FoodTec to its own MOMS platform per r/Marcos_pizza employee threads (Aug 2023). Named users cited by operators: Marco's Pizza (former), Rosati's, Imo's, Cocco's Pizza.
Who it is for
Multi-unit pizza/delivery chains and franchise groups, concentrated in the US Northeast/Midwest. Capterra lists 2-10 through 10,000+ employee businesses, US-only, English-only. FoodTec's own 2026 listicle concedes the product is 'More robust than needed for small shops.' Reddit operator datapoints cluster at ~$800-1,000/month, which prices out single-unit independents.
Site
https://www.foodtecsolutions.com/

Pricing

transparency: quote-only · unit: unknown · processor lock-in: no

Software
quote-only. FoodTec publishes no pricing page anywhere on foodtecsolutions.com (no /pricing/ URL exists in the sitemap). Capterra's listing shows 'Starting Price: Contact vendor', no free trial, no free version. Unverified operator self-reports on Reddit (treat as anecdote, not pricing): r/POS Jan 2025 — 'It was coming out to about $1k/month for me'; r/restaurateur Mar 2024 — 'I pay like $800 a month just for the web ordering. Another $900 a year for support'; r/restaurant Jan 2025 — an operator who evaluated and rejected FoodTec cited unfavorable terms.
Card processing
Not applicable / not published. FoodTec does not appear to be the merchant's processor — its own blog argues 'Your POS provider should allow you to choose your processor', and multiple operators report using their own acquirer. FoodTec publishes no card rates.
Contract
Initial Term set in the Sales Contract, commencing on the Go Live Date; auto-renews for successive one-year periods unless either party gives 30 days' written notice before expiration. Published in the T&C (foodtecsolutions.com/termsandconditions/).
Early termination
Yes, and it is liquidated-damages shaped. Per the published T&C, on early termination the client owes accrued unpaid fees PLUS all remaining fixed monthly fees for the balance of the term PLUS average variable fees (SMS, support, etc.) multiplied by the remaining months. FoodTec also reserves the right to remotely disable products and suspend services on default. 'No payments to FoodTec hereunder are refundable.'

API posture

public API: partner-gated

Cost to integrate
unknown in dollars. Structurally gated: per the T&C, a third party may only touch FoodTec APIs once 'FoodTec has obtained a API License and Linking Agreement', and restaurants use a separate 'Restaurant API Use Agreement'. Fees are not disclosed. The client must also indemnify FoodTec for IP claims arising from 'use of any Linked Application of Data Export'.
Webhooks
unknown. The T&C confirms FoodTec APIs exist and that 'Linked Applications' interact with them, but nothing about event delivery, signing, or retries is public.
Data export on exit
Weak and explicitly disclaimed. The T&C grants the client ownership of Restaurant Data but states that exclusivity of use 'does not undertake by FoodTec to search, extract or transfer any data' — export is only available via the API License or Data Export through Linked Applications, i.e. through a gated commercial agreement. The separate DPA (foodtecsolutions.com/dataprocessing/) covers only Personal Data, promising to 'securely delete or return the Personal Data within 30 days upon termination'. There is no published bulk transactional export path, no warehouse/S3/SFTP drop, and no self-serve full-history dump.
Notes
FoodTec's /3rd-party-integrations/ page claims DoorDash 'Preferred partner status'. This conflicts with DoorDash's published 2026 Preferred Integration Partner cohort (Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast, UrbanPiper), which does not include FoodTec. Treat the FoodTec claim as marketing language about relationship quality, not DPIP designation. Onboarding to the DoorDash integration is manual and queued: foodtecsolutions.com/doordash-register/ says 'Current wait time is about one week.'

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

Full-service solution pages exist and a self-published listicle mentions 'table management', but no floor-plan editor is documented anywhere public.

F
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

Checked 2026-08-04: the Point of Sale page (foodtecsolutions.com/point-of-sale/) lists only generic benefits ('Faster Service', 'Quicker Transactions', 'Detailed Reporting') with no mention of seat numbering; the Kitchen Systems page documents course/station status but never seats. FoodTec publishes no documentation portal to check further. Unresolved.

F
Partial

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

Kitchen Systems page documents 'Station and course status'; hold/fire-next-course from a handheld is not documented. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
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

FoodTec POS v9.1 help, 'How To Split An Order' (Wayback capture 2015-07-21): 'Press on each item, special, or coupon in the left (original) order to move it to the new (split) order'. The split is printed or paid separately: 'To create a second or third split, continue pressing items' on the left. A companion Split Item procedure divides a single item. Met: split by item. Shortfall: splitting by seat, evenly N ways, or by dollar or percentage amount is not documented, and neither is merging checks or tables, before or after partial payment. The evidence is a 2015 manual; no current FoodTec documentation was found. A 2022 FoodTec blog customer interview mentions splitting 'by item' and 'by quantities', but that is a testimonial, not documentation. https://web.archive.org/web/20150721003634id_/http://www.foodtecsolutions.com:80/docs-9.1/released/help/ordersplitter.html · retrieved 2026-09-12 adversarially verified

B
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

Checked 2026-08-04: no bar-tab or card pre-authorization workflow is described on the Point of Sale page or anywhere in FoodTec's public catalog; FoodTec markets itself as a pizza/delivery specialist and a bar module does not appear in the 25-item web1 solutions catalog. Unresolved.

F
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

Checked 2026-08-04: the Security & Loss Prevention page documents void/comp exception tracking time-stamped by employee but never describes transferring an open check between servers, tables, or devices; the Point of Sale page is silent. Unresolved.

F
Partial

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

Resolved off unresolved on an artefact the prior pass did not read. The full-service page does not merely advocate handhelds in the abstract the way the 2025 blog post did -- it lists tableside ordering as a shipped FoodTec module: 'All our FoodTec solutions including Table Management, Tip Reporting, Loyalty, and Table-side ordering have been designed and developed specifically to support your business needs, maximize revenue and ensure your success as a full-service restaurant.' The Point of Sale page adds that 'The POS is mobile-enabled putting the right tools in your hands wherever you go.' Shortfall: this is a vendor marketing claim and nothing more. No device is named, nothing establishes a native application rather than a mirrored desktop session, and no tableside card capture is described anywhere -- the only at-the-door payment FoodTec documents is the Delivery IQ driver flow. https://foodtecsolutions.com/full-service-single-unit-restaurant-pos/ · retrieved 2026-09-10

D
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

The contractual definition of the FoodTec Solution is an integrated suite of on-premise software plus SaaS with on-site servers supplied as Hardware, so order entry runs against a local server rather than a cloud service. Shortfall: no published statement that orders, modifiers, kitchen routing and cash tender specifically continue during an outage, and no published list of what does not work offline. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
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

Checked 2026-08-04: the web1 Web Ordering product page and foodtecsolutions.com/online-ordering/ describe branded web/app ordering and group ordering but no guest-facing QR at-table ordering that writes onto an existing server-opened check; no QR-ordering product or module appears in the 25-item web1 solutions catalog. Unresolved. || 325th: NEW SURFACE (325th) THAT PARTLY CONTRADICTS THE OLD NOTE: FoodTec DOES ship at-table guest ordering, it is just not visible from the marketing catalogue. The production ordering app's shipped code contains core/order-ahead-mode.enum.ts = { Disabled, Table, Tent }, order-tracker/check-in.service.ts with `fetchTables()` GET /ws/integrated/v1/tables and `checkIn(table, orderId)` POST /ws/integrated/v1/ordering/order/checkIn?table=&orderId=, and order-tracker/table.model.ts deserialising name|number|tableNumber|tableName. The live per-order-type config (GET /ws/integrated/v1/ordering/config/orderTypes, HTTP 200, 2026-09-17) exposes the matching toggles `usesTableNumber`, `needsTableNumber`, `usesGuests`, `needsGuests`, `handleArrivalStatus`, `allowParkingSpots`, `hasOrderTracker` and `orderAheadMode` (Disabled at this tenant), and core/order-type.enum.ts enumerates ForHere, DineIn, ToStay, Bar, Curbside and DriveThru alongside Pickup/Delivery. WHY IT STILL DOES NOT SETTLE THE CLAIM: the mechanism as shipped is order-ahead -- the guest's web order is created first and then CHECKED IN against a table label (checkIn takes an existing orderId) -- so on this evidence the guest's items form their own order and are associated with a table, not appended to a server-opened check. No merge/append/join-check call exists in the app: the order service writes only to /ws/integrated/v1/ordering/order and /order/items, both of which act on the guest's own session order. That is the shortfall on the decisive conjunct, but it is one app rather than a census of Brink-style POS behaviour, so no `no` and no `partial` is published. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. adversarially verified

F
Partial

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

The Web Ordering page documents a first-party Kiosk: 'a self-service solution that lets your customers order through a self-service dedicated tablet available in your store'. Shortfall: the kiosk renders 'an ordering interface similar to that on your web store', i.e. the web-ordering menu rather than the POS menu and modifier tree, and no ADA or accessibility conformance is documented for it. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-04 adversarially verified

C
Partial

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

Resolved, and the prior rationale was wrong. It rested on a site search for the term drive-thru returning no product content, but the QSR page names the module outright -- 'With optional QSR modules for Drive thru, Kitchen Display Systems, Web Ordering, Target Marketing, Delivery Apps, Inventory Tracking, cloud-based reporting and even Loss Prevention, we can grow with you' -- and the shipped Customer Web Ordering client (cwo-1.0.92) carries a closed OrderType enum whose members are Pickup, Delivery, Any, For Here, Curbside, To Go, To Stay, Dine In, Bar, Gift Reload, Drive Thru, PreOrder and Banquet. The live per-order-type config served anonymously at this URL exposes `allowParkingSpots` and `handleArrivalStatus` as configurable properties of an order type, and the client calls `GET /ws/integrated/v1/ordering/order/parkingSpots`, so pull-forward/parking-spot assignment is a shipped mechanism. Shortfall: nothing establishes order-point/pay-window/pickup-window separation, order sequencing or tandem-lane assignment, and both boolean flags read false on the store measured. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/orderTypes · retrieved 2026-09-10

A
Unknown

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

order-capture-drive-thru-timers

Checked 2026-08-04: a prior pass found no drive-thru product content anywhere on the site (order-capture-drive-thru cell); the Point of Sale and Kitchen Systems pages contain no speed-of-service timer or segment-reporting language of any kind. Unresolved. || 324th: NEW: FoodTec's published speed-of-service instrument is order-level OTD (Out-The-Door), not drive-thru segment timers. web1.foodtecsolutions.com/solutions/dwDashboard: "The OTD reportlet shows you how long it takes for an order to get out of the door (OTD) from the moment it is placed." The FoodTec Performance Scoreboard blog (WP modified 2025-12-04) describes a configurable, colour-coded kitchen display banded against an OTD target -- "if your target maximum OTD time is 18 minutes, and the scoreboard turns yellow at 17 minutes, your team knows they need to speed up" -- plus a Big Order forecast panel for orders "that have entered the system but have not yet appeared on your Kitchen Display System (KDS) because they are deferred". Tokenised controls: 'window time', 'greet time', 'menu board', 'order confirmation' = 0 hits; the 12 'drive-thru' hits are 11 industry-trend blog sentences plus the single QSR-module list entry. Floor, not census. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
No

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

Overturned from unresolved. FoodTec's own 2026 AI article names exactly one shipped AI feature -- 'AI Assistant (pictured below) for creating email and SMS campaigns' -- and nothing else in the 233-document corpus describes a voice agent. The alternative limb of the claim, a documented API partner program for third-party voice AI, is foreclosed by the T&C, which admits third parties to FoodTec APIs only under a bilaterally executed API License and Linking Agreement, and by the fact that developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN. The 9.5 release page describes FoodTec's actual answer to the inbound phone order and it is not AI: 'FoodTec continues to partner with VOIP providers to reduce hardware needs and pass Caller ID directly to the POS.' https://foodtecsolutions.com/blog/2026/07/29/ai-for-pizzerias-practical-ways-to-save-time/ · retrieved 2026-09-10

C
Partial

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

FoodTec 9.5 ships a load-responsive channel control, Delivery Redirect: 'When it is too busy to provide your typical delivery time, FoodTec 9.5 can automatically send Consumers an option/incentive to come pick up their order - but only while the store is too busy for a fast delivery experience.' Shortfall: this diverts demand rather than throttling it - no per-channel capacity limit per time slot, and no automatic quote-time extension, is documented. https://foodtecsolutions.com/latest/ · retrieved 2026-09-04

D
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

FoodTec's web-ordering product page documents a 'Defer Orders' feature: customers 'place an order and defer it for when they want it delivered. From a same-day delivery to up to 30 days later', and the Kitchen Systems page lists 'Easy to find future and past orders' on the KDS. Shortfall: no per-channel lead time is documented, and nothing states whether a deferred order fires into the make queue at a computed time or prints on receipt. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-08-03

C
Partial

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

Resolved against the live store configuration served anonymously at this URL (store pizzamarket-goffstown, release 9.5.97, 141 keys). `hasCateringNoticeTime` is a first-class store flag; in the shipped client menu items and specials each carry a `noticePeriod`, and when an item requires more notice than the order currently allows the client fetches dedicated time slots rather than the ASAP path. Banquet is a member of the client OrderType enum. Shortfall: this is lead-time enforcement only -- no quote or proposal object, no deposit, no balance-due tracking, and no event schedule separate from the order queue is exposed anywhere. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/store · retrieved 2026-09-10

A
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu's help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu's `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial's developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. The flag `SUPPORT_ORDER_READY_SIGNAL` is TRUE for `foodtec_production`. DoorDash labels the flag 'Order ready signal' and defines it on the programme page as 'Order ready signal - Notifies Dashers when an order is ready for pickup to improve timing and coordination.' This resolves a cell the vendor corpus left open: FoodTec's 3rd-Party Integrations and Delivery Monitoring pages document menu/price sync and inbound order injection but say nothing about pushing readiness back out. `partial` and not `yes` because the claim reads on third-party marketplaces generally and names DoorDash only as an example, while DoorDash is the single channel this instrument can speak to; and because the claim specifies the signal fire from POS or KDS state rather than a tablet tap, which no flag identifies. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12

B
Partial

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

Exception reporting flags time-stamped voids/comps/discounts by employee and links them to video; reason codes and manager-PIN gating are not documented. https://foodtecsolutions.com/security-loss-prevention/ · retrieved 2026-08-01

D

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

FoodTec online ordering client code (version 1.0.92, fetched 2026-09-15). The web client shows per-group selection rules and conditional sub-groups. What it does not show is that three levels are actually used. Each modifier group (an IngredientChoice) has its own count limits. The served code rejects too many picks with `You must choose at most ${O1} ${Q2}` and too few with `You must choose at least ${z1} ${Q2}`. An item flagged `itemWithRequiredIngredientChoices` cannot be added until its required choices are made. Conditional sub-groups use a `dependsOn` field on the group. When a customer picks a modifier, any group that depends on it is added (`const dependingChoices = this.orderableItem.choices.filter(ch => ch.dependsOn === ingredient.name)`). When the modifier is removed, those groups are removed with it. The dependency check calls itself (`return G.dependsOn?!(!z2||!z2.isDefault)&&this.areDependenciesMet(u,G):!!z2&&z2.isDefault`), so a sub-group can hang off a modifier that is itself inside a sub-group. Each sub-group is an ordinary group with its own limits and required minimum. SHORTFALL: this proves only the mechanism, as seen from the ordering website. No menu data or setup documentation shows a chain three levels deep. Menus are stored flat: every group sits in the item`s own list, and a group names the modifier that unlocks it (`dependsOn?: string`) instead of sitting inside it. The recursive check tests the parent modifier`s `isDefault` rather than what the customer actually picked. The back-office menu builder and the POS were not examined. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/main.4e8dc9d78c1cace4.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

Resolved against the shipped Customer Web Ordering client (cwo-1.0.92). In its menu model an Ingredient deserializes its own `sizePrices` collection and exposes `getSizePrice(size)`, alongside `qualifiers` and `tags`; the parent Item carries a separate `sizePrices` collection of its own, and the live store configuration carries `showSizeSpecificIngredients`. A modifier therefore prices per selected size natively rather than by duplicating the modifier. Shortfall: only the size axis is evidenced. Nothing establishes a second axis keyed to the parent item, and no live menu payload could be read to confirm the matrix in data -- /ws/integrated/v1/menu is shadowed by the SPA route of the same name and returns the application shell. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/main.4e8dc9d78c1cace4.js · retrieved 2026-09-10

A
Partial

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

menu-pricing-fractional-placement

Score stands at partial but the researcher missed the actual vendor evidence and under-sourced it. FoodTec's integrations page states 'Supports Half & Half toppings and detailed pizza options', and the web ordering page states customers get 'their two favorite pizza toppings on a half and half pizza'. That documents halves; quarters and per-section placement remain undocumented, so partial is right for the wrong reason. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01 adversarially verified

B
Partial

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

Half-and-half is a first-class construct rather than a workaround: FoodTec 9.5 added 'Half and Half specialty Pizzas on the Web - say goodbye to manually modifying each half of your pizza... Customers can now order a pizza with specific specialty options on each half with a single press', and the Web Ordering module already carried two topping sets per half. Shortfall: the half-and-half PRICING rule is undocumented - nothing states whether the operator can choose to charge the higher-priced half, average the halves, or charge each topping at a fraction of full price. https://foodtecsolutions.com/latest/ · retrieved 2026-09-04 adversarially verified

D
Partial

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

Resolved against the shipped client. Each Ingredient carries a `qualifiers` collection, rendered by a dedicated `fts-qualifier-choice` component that binds `orderedQualifiers`, `qualifiers`, `size`, `isHalf` and `isSecondHalf`, so a qualifier is selected per ingredient and independently per half. The live store configuration names the tier in the operator vocabulary (`xtraLabel` reads 'Xtra?') and carries `extraIngredientUpsellStrategy` ('First Priced'), which prices extra ingredients rather than treating them as free repeats. Shortfall: a configurable price multiplier per tier, distinct from adding the modifier a second time, is not evidenced -- the Qualifier class carries no visible price field and no menu payload is reachable. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/main.4e8dc9d78c1cace4.js · retrieved 2026-09-10

A
Partial

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

MERGE DOWNGRADE yes -> partial (325th): the second axis is delivered as crust INGREDIENTS that each carry a per-size price array added to the size base price, which is a real size x crust price mechanism; but the claim asks for the ITEM BASE PRICE as a two-axis grid with a per-cell override, and every crust cell at the sampled tenant is 0.00, so the grid is shown as a mechanism, not as a priced base-price matrix. CLAIM: item base price definable as a grid across two variant axes (size x crust/preparation) with a per-cell price override. VERDICT: yes, grade B. NEW SURFACE (325th): FoodTec's LIVE anonymous Web Ordering REST API, /ws/integrated/v1/*, on a production tenant of the vendor's 'latte' ordering app. Fetched by me 2026-09-17 with curl + browser UA, no login, no key: GET /ws/integrated/v1/menu/panels?page=Web&orderType=Pickup&compactItems=false returned HTTP 200, application/json, 8,178,219 bytes; robots.txt on that host is 'User-Agent: * / Disallow: /reports / Disallow: /admin' so /ws/ is permitted. DISCRIMINATION CONTROL: /ws/integrated/v1/zzz-nope returns a hard 404 (1,095-byte Tomcat HTML) on the same host, so a 200 here is real content, not a catch-all. EVIDENCE: the menu payload models price on TWO axes per item. (1) The item carries a base price per size: item 'Cheese' has sizePrices [Personal 9.29, Med 12.39, Lrg 14.49, XLg 16.49, Half Party 18.59]. (2) EVERY choice ingredient carries its OWN independent per-size price array, so each (size x choice-value) pair is a separately-settable cell. The same item's 'Crust' choice enumerates crust styles as ingredients each with their own sizePrices list ('Regular (NY Style)' priced across Personal/Med/Lrg/XLg; 'Original Pan' across Med/Lrg/XLg/Half Party -- i.e. per-cell AVAILABILITY too, Original Pan is simply absent in Personal). The per-cell prices are set independently, not derived by a multiplier: 534 choice ingredients in this one tenant's live menu have a varying non-zero per-size price vector, e.g. Cheese>Sauce>'Alfredo Sauce' = [Personal 0.99, Med 1.49, Lrg 2.29, XLg 2.99, Half Party 2.99] while 'Ranch Sauce' = [0.50, 0.99, 1.29, 1.99, 1.99]. SHORTFALL DISCLOSED HONESTLY: the crust cells at this particular tenant are all 0.00, so the size x crust grid is demonstrated as a MECHANISM (the crust axis is a per-size priced ingredient with per-size availability) rather than as non-zero crust pricing at this store; the 534 non-zero examples are on sibling axes (cheese/sauce/toppings) that use the identical SizePrice structure. Corroborated in the vendor's own shipped code: models menu/orderable-item.model.ts (sizePrices: SizePrice[]), menu/orderable-ingredient.model.ts (sizePrices: SizePrice[], getSizePrice(size)) and menu/size-price.model.ts (size, label, price, status, halfPrice, hasNWayPricing, servings, noticePeriod). One item covers the whole grid; there is no need for 20 separate items. BOUND: this is the online-ordering channel's projection of the POS menu, so it evidences the menu data model, not a back-office screenshot. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. https://concordpike.seasonspizza.com/ws/integrated/v1/menu/panels?page=Web&orderType=Pickup&compact=false&compactTabs=false&compactItems=false · retrieved 2026-09-17 adversarially verified

B
Partial

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

Source code of FoodTec's own web ordering client (served bundle cwo-1.0.92, retrieved 2026-09-15). The substitution half of the claim is configurable per ingredient choice. A choice can be set to strict substitutions, and the client then rejects the item when more default ingredients are removed than the choice allows: `N.strictSubstitutions&&N.ingredients.filter(i3=>i3.isDefault).length-u.ingredients.filter(i3=>i3.isDefault).length>N.maxSubstitutions&&(V4.valid=!1,V4.shortMessage=`Max ${N.maxSubstitutions} substitutions`,V4.longMessage=`You can substitute at most ${N.maxSubstitutions} default ingredients`)`. A second flag, defaultsNonRemovable, locks default ingredients so they cannot be removed at all. Shortfall: the other half of the claim, an included allowance with overage-only charging, is not visible. The strict-substitution rule caps how many defaults can be removed; it does not credit a removed default against an added topping. No field in the client's item or choice models holds a count of free or included toppings. Default ingredients are left out only of the minimum-selection count (`if (!orderableIngredient.isDefault || orderableIngredient.replaceable) { weight += orderableIngredient.weight; }`), not out of the price. Prices come from the server as per-size ingredient prices and qualifier price factors, so any allowance or credit logic there cannot be read from this client. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/main.4e8dc9d78c1cace4.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

Online ordering supports 'special offers, combos'; automatic a-la-carte-to-combo detection is not documented. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Partial

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

Operator picks which items to suggest, across delivery/pickup/dine-in. Vendor reports a blended '10-20% increase in average ticket size' but no per-prompt attach-rate report. https://foodtecsolutions.com/suggestive-selling/ · retrieved 2026-08-01

D
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu's help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu's `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial's developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. The flag `ITEM_LEVEL_86` is TRUE for `foodtec_production`. DoorDash labels the flag 'Real-time item 86ing' and defines it on the programme page as 'Real-time item 86ing - updates item availability across systems when items are marked unavailable.' The claim requires a single 86 action to propagate to POS, KDS, the vendor's own online ordering, kiosk AND connected marketplaces, with a documented propagation latency. The registry attests the marketplace leg for DoorDash and nothing else: no flag covers the internal legs and no latency figure is published. One leg of five. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12

B
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

Checked 2026-08-03: Kitchen Systems, Menu Manager and the InventoryIQ product page (which documents counting, PO receiving and variance alerts, but no live sale-by-sale countdown) say nothing about a par count that decrements on sale, auto-86 at zero, or scheduled restore; the online-ordering page documents 'Open/Closing/Closed Store Alerts' at store level only. Unresolved. || 325th: NEW SURFACE (325th): the live anonymous menu API and the shipped ordering models show the 86 STATE but no par count. menu/price-status.enum.ts is a closed five-value list { AVAILABLE, SOLD_OUT, OUT_OF_STOCK, NO_PRICE, FREE } and the live 8,178,219-byte menu payload for one store showed 22 sizePrices at OUT_OF_STOCK, 301 AVAILABLE, 8 FREE and zero SOLD_OUT. Two distinct unavailability statuses hint at a sell-out path separate from a stock-out path, but nothing exposes a countdown quantity, a par level, a decrement-on-sale behaviour or a scheduled auto-restore: the only numeric fields on SizePrice are price, halfPrice, servings, caloriesFrom/To/Half, hasNWayPricing and noticePeriod (a lead time, e.g. for pre-order items -- NOT a par count; do not misread it). Tokenised controls over the 1,538,218-byte own-source corpus (545 non-vendored files): 'countdown' 0, 'parLevel' 0, 'quantityRemaining' 0, 'inventory' 0. FLOOR, NOT CENSUS: a back-office countdown would not surface in the guest client. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. adversarially verified

F
Partial

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

Menu Manager supports scheduled activation - 'Adding a new special for Halloween or the Super Bowl? ...have your new menu listings available on the date of your choice' - alongside store-specific and web-only or store-only variants; loyalty accrual rules and coupon terms are separately configurable by day and time of day. Shortfall: no per-item or per-menu automatic activation AND deactivation schedule by day and time in the location's timezone is documented, and menu changes are implemented by FoodTec's Menu Manager team rather than scheduled self-serve. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-09-04

C
Partial

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

Score right, evidence weak. Upgrade the source: FoodTec's integrations page affirmatively documents 'different pricing for delivery platforms' alongside POS-driven menu sync. That is vendor documentation of channel price books for 3P at minimum, replacing a Reddit inference. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01 adversarially verified

B
Partial

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

Corrected 2026-09-15 from `no`. An earlier version of this note said `cash discount` occurred zero times in FoodTec's Customer Web Ordering client and that there was no cash-versus-card display anywhere. That was wrong: it held only for the main bundle, and the cash discount lives in lazily loaded chunks of the same cwo-1.0.92 build. The checkout chunk (372.64941c101cc0636a.js) renders the key `route.checkout.payment.payment_type_chooser.cash_discount_note` with the values `F.dueAmount+F.cashPaymentTypeFee.fee/100` and `-F.cashPaymentTypeFee.fee/100`. The build's English strings (cwo-1.0.92/assets/i18n/en.json) turn that into "Pay only {finalPrice} and save {savings}." The same chunk labels a negative payment-type fee "Cash Discount", and a fee of zero or more is shown as a payment fee instead. The order-pricing chunk (581.3cad58f16e05eb3e.js) does the same in the order summary: `name:C.amount<0?this.translateService.instant("component.order_tree_pricing.cash_discount")`. So online ordering does show the card price as the base price, with a cash discount taken off at payment. What is met: in online ordering, menu prices are the card prices and paying cash shows a labelled "Cash Discount" and a lower cash total. What falls short: (1) it is not item-level. It is one fee on the whole order tied to the payment type, and no item carries a second cash price. (2) Nothing FoodTec publishes shows the same behaviour on the POS or kiosk. (3) A printed POS receipt could not be observed. (4) The code only shows the capability exists. Whether any store actually has a negative cash fee switched on was not observed. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/372.64941c101cc0636a.js · retrieved 2026-09-15 adversarially verified

A
Partial

Menu changes can be staged as an effective-dated version, previewed before publish, and rolled back to a prior version after publish. differentiator

menu-pricing-versioning-effective-dates

The web1 Menu Manager page documents future-dated activation — operators 'have your new menu listings available on the date of your choice' — which is effective-dated staging. Shortfall: no preview-before-publish step and no rollback-to-prior-version-after-publish workflow is described anywhere on the page. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-08-04

C
Partial

Supports a central corporate menu template pushed to locations with field-level governance controlling which attributes a location may override. differentiator

menu-pricing-franchise-hierarchy

The web1 Menu Manager page documents pushing changes to a subset of locations — operators can 'implement menu changes to selected stores statewide or nationwide' — which is central-to-location distribution. Shortfall: no field-level governance is documented (which attributes a location may vs may not override); changes are executed by FoodTec's own Menu Manager team ('Our exclusive Menu Manager team oversees and implements menu changes for you'), not through a self-serve permission model. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-08-04

C
Partial

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

Resolved. Nutrition exists in one dimension only: the live store configuration carries `showCalories`, `showCaloriesOnCheckout` and `showCaloriesForSizeUpsells`, so per-item calorie values are stored and publishable to the ordering channel. Shortfall: no allergen capability of any kind. `allergen` occurs zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped ordering client, and every live API response captured -- and nothing derives nutrition from linked recipe components or pushes either allergens or nutrition to third-party menus. Control: `pizza` reads 671/3/8 across the same three corpora, so the matcher is not silently failing. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/store · retrieved 2026-09-10

A
Partial

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

Menu items are linked to recipes and costed from components: the Recipe Cost report gives 'a medium Margarita costs $3.46 to make... its dough is $0.35, its pizza sauce $0.28', and the Ideal Usage and Food Cost reports compute ideal versus actual ingredient usage and variance from sales. Shortfall: theoretical depletion is evidenced through the ideal-versus-actual variance reports rather than a documented per-sale depletion, and the evidence is a vendor module feature page rather than an admin guide. https://web1.foodtecsolutions.com/solutions/inventoryReports · retrieved 2026-09-04

C
Partial

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

'Change a price in your POS and it updates on DoorDash, Grubhub, and Uber Eats. Items, toppings, images, and descriptions all update from your POS.' No per-item sync status or rejection-error surface documented. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01

D
Partial

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

menu-pricing-dynamic-pricing

Channel-varying pricing is documented on the rewritten 3rd-party integrations page: 'Can I set different prices for third-party platforms? Yes. You can choose different pricing for delivery platforms to help protect your margins', with a price-ending rule ('prices can end in .49 or .99') applied on sync. Shortfall: the variation is per channel and set by hand - no rule-based variation by time or demand, and no configurable floor or ceiling guardrail is documented. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-09-04

D

Payments & money movement

Partial

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

I read the cited blog post in full. It contains NO first-person statement about FoodTec's own policy — it is generic industry commentary advising restaurants to 'choose your POS and processor wisely' with providers that 'allow you to choose your processor'. FoodTec never says it does this. No supported-processor list exists on any FoodTec page; the only affirmative evidence is a single Reddit operator comment and a third-party acquirer (National Processing) claiming an integration. This is a marketing inference read as a product capability, and it is the entire basis of best_at item #2, so the https://foodtecsolutions.com/blog/2022/06/30/trend-watch-credit-card-processors-in-bed-with-pos-companies/ · retrieved 2026-08-01 adversarially verified

B
No

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

payments-published-rates

Upheld, and the citation is now the master agreement rather than the absence of a pricing page. FoodTec's published terms put every number behind a bilateral document: 'Fees' is defined as 'any amount payable to FoodTec under a Sales Contract or any other FoodTec Agreements', and the only figure the terms themselves state is a late-payment charge of '1.5% late payment charge (or, if less, the highest legal rate under applicable law) for each month the outstanding balance remains unpaid'. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026, `basis points`, `bps`, `discount rate`, `processing rate`, `per transaction fee`, `surcharge`, `cash discount`, `dual pricing`, `merchant of record`, `acquirer` and `acquiring bank` occur zero times, tokenised and as bare substrings alike. The word interchange does appear exactly once and must not be read as a rate disclosure: it is in a 2022 blog essay on credit-card processors, educating operators that fees arise 'from interchange reimbursement and assessment fees' in the industry generally, alongside flat fees and incidental fees. FoodTec is not the acquirer and publishes no card rate of its own. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-09

B
Partial

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

FoodTec's online ordering app (Customer Web Ordering 1.0.92) has a built-in cash discount, handled as a fee on the whole order that depends on how the guest pays. The server can return a negative fee for the CASH payment type. When it does, checkout shows the message "Pay only {finalPrice} and save {savings}." The cash price is worked out as `F.dueAmount+F.cashPaymentTypeFee.fee/100` and the savings as `-F.cashPaymentTypeFee.fee/100`. The message only appears when `F.type===W.paymentTypesEnum.CASH&&(null==W.cashPaymentTypeFee?null:W.cashPaymentTypeFee.fee)<0`. The payment summary labels the adjustment `M.paymentTypeFee.paymentFeeName||"route.checkout.payment.payment_info.cash_discount"`, which displays as "Cash Discount". The order pricing breakdown (chunk 581) names any negative payment fee "component.order_tree_pricing.cash_discount", and the web print-receipt view includes that breakdown. So the cash-discount part of the claim is met, but only for online ordering. Shortfalls: (1) there are no two stored prices per item. Menu items and sizes carry one price, and the words dualPrice, cashPrice, cardPrice, creditPrice and nonCash appear 0 times in the chunks. The discount is one adjustment on the whole order, the single-advertised-price model. (2) The claim wants both a cash total and a card total printed on the check and receipt. That is not shown. Checkout gives the cash total and the savings next to the normal amount due, and the receipt shows a single Cash Discount line, not two totals side by side. (3) FoodTec's in-store POS guest check and printed POS receipt cannot be seen from this app. (4) The discount is switched on per store on the server, and no live store with a negative cash fee was seen. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/372.64941c101cc0636a.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

Online ordering only, and the debit exclusion can be switched off. FoodTec's Customer Web Ordering client (served JavaScript, cwo-1.0.92, retrieved 2026-09-15) looks up debit cards by BIN. When a card is added through the TSYS tokenisation popup, the client sends its BIN to `${this.BASE_PATH}/cardType` and sets `s.isDebit="debit"===g.type` (chunk 640). The checkout then skips the card fee for debit: `this.newCreditCard.isDebit?this.paymentTypeFee=void 0:this.checkPaymentTypeFee(a)`, with the same branch for saved cards. The fee (`paymentFee` / `paymentFeePercent`) is set on each store's credit-card payment type, so each location configures it on its own. What the claim asks for and this does not show: (1) The exclusion is not enforced. A per-store flag skips it. With `surchargesOnAllCreditTransactions` on, the checkout calls `checkPaymentTypeFee` without checking debit, and the saved-card fee text shows whether or not the card is debit. A store can therefore surcharge debit cards. (2) The debit check runs in the browser and only on the TSYS path. The fee request sends only the payment type and amount, not the debit result. The order payload does include `isDebit` and `bin`, but nothing shows whether the server checks them again. (3) Prepaid cards are not handled: the card-type lookup returns only credit or debit. (4) No network percentage cap and no state rules appear. The percentage comes from the server. The POS-terminal surcharge path was not observed. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/372.64941c101cc0636a.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

payments-emv-nfc

The T&C's Hardware definition lists 'POS terminals, EMV Terminals' among the hardware FoodTec supplies, and its Payment Processors definition covers 'mobile device associated payments including ApplePay, Google, Samsung' processed through the FoodTec Solution. Shortfall: FoodTec publishes no terminal model list and no statement that its first-party terminals accept NFC contactless; only EMV is named as a device class. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

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

Checked 2026-08-04: no FoodTec page describes phone-based contactless acceptance; FoodTec is processor-agnostic and publishes no terminal/reader documentation of any kind (matches payments-emv-nfc, same finding). Unresolved. || 325th: NEW SURFACE (325th) AND A CONTROL POISON WORTH RECORDING BEFORE SOMEONE MISREADS IT. The live anonymous FoodTec Web Ordering config API returns `"supportsApplePay": true` (GET https://concordpike.seasonspizza.com/ws/integrated/v1/ordering/config/creditCards, HTTP 200, application/json, 1,591 bytes, 2026-09-17), and the vendor's shipped ordering app contains apple-pay.service.ts plus ordering/payment-setup-type.enum.ts = { WORLDPAY, APPLE_PAY } and ordering/apple-pay-supported-networks.enum.ts whose own source comment reads 'List based on the following documentation (We use ApplePay JS API version 3) https://developer.apple.com/documentation/apple_pay_on_the_web/...'. That is Apple Pay ON THE WEB -- the GUEST paying from their own iPhone in a browser -- and it is NOT Tap to Pay on iPhone (merchant-side contactless acceptance on the operator's phone with no reader). This claim is about the merchant device. Nothing on this surface, and no reader/terminal artefact anywhere in FoodTec's corpus, speaks to merchant-side softPOS; tokenised counts over the 545 own-source files of the production ordering bundle: 'tapToPay' 0, 'Tap to Pay' 0. Still unresolved. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. adversarially verified

F
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

Re-checked 2026-09-04. FoodTec documents tableside payment nowhere. It does document at-the-door payment on the driver's smartphone (Delivery IQ: signature capture, tip prompt, email receipt), which is a different workflow, and its hand-held blog post is generic industry advice that never names a FoodTec device. Unresolved.

F
Partial

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

Only one of the claim's three parts can be seen: the guest viewing and paying from their own phone. FoodTec's own online-ordering client (served chunk 618, routed at /pay, translation namespace qr_payment) opens an existing order from a URL parameter, either an order id or an external reference: "Web Pay : Creating session from ${n?"external reference":"order id"}". It shows the order as "Your Check" with "Tip" and "How would you like to pay?", then pays it through webPay (tips go through webPay/addTip). A split portion set up in advance can be paid on its own, picked by paymentOrdinal from the order's candidatePayments. Signing in is optional ("Sign in to pay with your saved credit cards or gift cards"). Shortfall 1: nothing in the client shows a QR code printed on the POS check or on a table tent. The page only receives orderId/ref as URL parameters, and the qr_payment namespace name is the only hint of a QR code. Shortfall 2: nothing shows the POS check closing automatically after payment. The client's "Web Pay : Order already paid" and "Web Pay : Order closed" checks are guards that run before payment, not a close-out. It also cannot be seen that the order is a dine-in check a server opened, rather than any FoodTec order reachable by id or reference. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/618.dbb02ed9714d9ae3.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

DeliveryIQ takes on-device tip and signature at the door with preset amount/percentage buttons; POS pre-auth tip-adjust window and unadjusted-tip manager screen are undocumented. https://foodtecsolutions.com/delivery-monitoring/ · retrieved 2026-08-01

D
Partial

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

Employee Management 'Tracks tipping and allocates accordingly'; the rule set and payroll-exportable allocation are not documented. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01

D
Partial

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

FoodTec's Oct 2025 AWS-outage post documents card capture continuing during a cloud outage: 'you can securely gather payment details to process when the connection re-establishes (with supported processors)'. Shortfall: this is deferred capture, not store-and-forward with an offline authorization code, and no per-transaction or cumulative offline limit is stated anywhere. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
No

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

The claim asks whether the vendor publicly documents decline liability and a reconnect report, and FoodTec affirmatively does not. Its only public description of offline payments is the Oct 2025 AWS-outage post: 'When processing cards, you can securely gather payment details to process when the connection re-establishes' — deferred capture, with no statement of who bears the loss if a stored payment declines and no mention of a post-reconnect failed-payments report. The published T&C's only related clause is a blanket all-caps disclaimer of any liability for 'FAILURE [OF] PAYMENT PROCESSORS TO PROCESS CREDIT CARD, DEBIT CARD TRANSACTIONS', which allocates nothing about offline declines specifically. FoodTec publishes no documentation portal (48-page sitemap enumerated 2026-08-02), so the documentation whose existence this claim asserts does not exist. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
Yes

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

Reloadable, flexible denominations, partial/full redemption, 'Redeem for any order type', plastic and eGift, buyable through the loyalty app or web ordering. https://foodtecsolutions.com/gift-cards-egifts/ · retrieved 2026-08-01

D
Partial

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

payments-house-accounts

Resolved. The live store configuration exposes `houseAccountsRequireName` and `houseAccountsRequirePhone`, so an on-account tender is a configurable part of the shipped ordering product rather than an undocumented one. Shortfall: no per-account credit limit, no running balance and no periodic statement or invoice generation is exposed in the configuration, in the shipped client, or anywhere in the 233-document prose corpus. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/store · retrieved 2026-09-10

A
Partial

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

A check can carry more than one tender and more than one instrument: 'Your customers can partially redeem a gift card when placing an order in your store and online', and 'your customers can redeem a coupon and gift card in the same order'. Shortfall: no documentation of splitting a check by seat, by item, by even N-way or by arbitrary amount, and no stated maximum number of tenders per check. https://web1.foodtecsolutions.com/solutions/giftCards · retrieved 2026-09-04

C
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

Voids/comps are time-stamped, attributed by employee, video-linked and searchable. Role-based pre-authorization and immutability are not documented. https://foodtecsolutions.com/security-loss-prevention/ · retrieved 2026-08-01

D
Unknown

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

payments-chargeback-tooling

Checked 2026-08-04: FoodTec is not the acquirer/processor and publishes no payments-configuration documentation of any kind; no dispute or chargeback dashboard is named on any page. Unresolved.

F
Partial

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

Consumers keep cards on file for online transactions: 'Customers can use a saved credit card or use a new one', and eGift holders 'can use their saved credit cards to quickly reload them online'. Shortfall: reuse of the stored card for phone orders and in-store orders is not documented, the profile scope is the consumer web account rather than a unified guest profile, and no tokenization model is described - nothing states that no PAN is stored by the merchant. https://web1.foodtecsolutions.com/solutions/eGifts · retrieved 2026-09-04

C
Unknown

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

payments-payout-timing

Deposit timing would sit with the merchant's own acquirer, not FoodTec; nothing published.

F
Unknown

A single account can route settlement funds to different bank accounts per location or legal entity (separate MIDs or split settlement) under unified reporting. differentiator

payments-multi-entity-routing

Checked 2026-08-04: FoodTec is not the acquirer and publishes no settlement-routing documentation; no page mentions per-location MIDs or split settlement. Unresolved.

F
Partial

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

CLAIM: vendor provides point-to-point encryption AND a current PCI DSS 4.x Attestation of Compliance / P2PE listing available to merchants on request. VERDICT: partial. EVIDENCE: https://web1.foodtecsolutions.com/solutions/webOrdering -- "Our web ordering solution is PCI compliant, ensuring increased data security for you and your customers' transactions... Check our payment validation by the PCI Security Standards Council by searching, 'FoodTec Solutions'." https://web1.foodtecsolutions.com/solutions/mobileApps -- "Your mobile ordering website complies with the PCI standards for online payment processing." The rebuilt master terms https://foodtecsolutions.com/terms/ (WP modified 2026-04-20) sec.9 puts PCI on the client: "Client will comply with security best practices, PCI regulations, the Privacy and Data Processing Addendums, and all applicable laws." SHORTFALL (named): FoodTec directs merchants to a PCI SSC validation listing for its own name, which is a payment-application/software validation -- NOT a validated P2PE solution listing and NOT a PCI DSS v4.0/4.0.1 AoC; no version, assessor or assessment date is published, and tokenised case-insensitive controls find 'P2PE' = 0, 'point-to-point' = 0, 'end-to-end encryption' = 0, 'tokenisation/tokenization' = 0 across the corpus. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-17 adversarially verified

C

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

'Station and course status' with item- and station-level transparency; per-location routing rule configuration is not documented. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
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

Archived FoodTec v9.2 manual, 'Dine In Expediter' page (captured 2015-10-16, last modified 2015). A Dine In Expediter bump type shows each table's full order tree fed by the kitchen bumps. Status colours ('Ready items', 'making', 'late making') mean 'the expediter knows which items are stuck and delay the order'. That meets the consolidated-view half for dine-in. Shortfalls: (1) the expediter slip format 'should only target Dine In orders', so delivery and carry-out orders are not consolidated. (2) Completion is not station-gated: 'When all items of the order are bumped, expediter assembles the items and presses DONE', which is a manual action, and the page does not say DONE is blocked until every station has bumped. (3) This is a 2015 manual with no current corroboration. The live Kitchen Systems page claims only 'item and station-level transparency' for expeditors (marketing). https://web.archive.org/web/20151016131545id_/http://www.foodtecsolutions.com:80/docs-9.2/released/ads/doc/printer/docs/Expediter.html · retrieved 2026-09-12 adversarially verified

B
Partial

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

Course status is tracked on the KDS; on-demand fire from server/handheld/expo is not documented. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
Partial

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

Marketing page: 'Our KDS considers age and size of order (and more) to deliver on your promise to the guest' — a pacing heuristic. The kitchen-systems page goes no further than 'poor communication about when items should fire, which orders are linked and which orders are on rush'; per-item cook times and simultaneous-finish staggering are documented nowhere, and FoodTec publishes no admin guide. https://foodtecsolutions.com/delivery-pizza-multi-unit-restaurant-pos/ · retrieved 2026-08-08

D
Partial

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

Store load is detected and acted on automatically: Delivery Redirect fires 'when it is too busy to provide your typical delivery time' and stands down once the store is no longer saturated, 'requiring no effort on behalf of the staff at peak times'. Shortfall: the response is a consumer-facing pickup incentive, not kitchen-side throttling - no pacing or delayed release of incoming digital orders, and no automatic extension of quoted prep time at a configured ticket-time or volume threshold, is documented. https://foodtecsolutions.com/latest/ · retrieved 2026-09-04

D
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it (Allow: /, barring only /cdn-cgi/ and /monitoring). The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash’s integrations comparison page at https://merchants.doordash.com/en-us/integrations. SCOPE: this attests the vendor’s DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general, so grade B is the ceiling here and it can never be A. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu’s help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu’s `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial’s developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. VERIFICATION PASS 2026-09-12: all three sources were re-fetched independently of the frozen cache. The registry is byte-identical (md5 e638fc99931673ecdcdbbb3ea2fbbfaf, 158,095 bytes, 64 providers, tiers tallying 12/47/5 and exactly 23 distinct flag names), and every quoted span below was re-checked as verbatim-present and contiguous in the file it is attributed to. ONE QUOTATION REPAIRED: the note previously quoted the programme page’s ITEM_LEVEL_86 bullet as a single span, ‘Real-time item 86ing - updates item availability across systems when items are marked unavailable’. That span is not contiguous in the source — it crosses a bold-emphasis boundary (`<b>Real-time item 86ing</b> - updates item availability...`, two separate text nodes in the page’s own rich-text JSON) — so it is split below into the two verbatim pieces. Both of the claim’s disjuncts are attested for `foodtec_production` on DoorDash. `STORE_AVAILABILITY_WEBHOOKS`, labelled ‘Integrated close/pause store’, is TRUE, and `ITEM_LEVEL_86`, labelled ‘Real-time item 86ing’ and described on the programme page as ‘updates item availability across systems when items are marked unavailable’, is also TRUE; both sit in collections carrying `active: true` for this provider. The direction is the claim’s direction: DoorDash’s own feature-copy dictionary glosses that feature ‘86 items on your POS or middleware and see the changes on your DoorDash store in real-time, reducing cancellations’, i.e. POS out to the marketplace. The prior unknown rested on the Kitchen Systems bullet list and the 3rd-Party Integrations page being silent on a POS/KDS pause or 86 propagating outward, and the registry is not silent on it. SHORTFALL: the claim names DoorDash, Uber Eats and Grubhub, and this instrument attests DoorDash only — FoodTec’s own corpus documents item, price and image sync to all three but never an outbound pause or availability change to any of them. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12 adversarially verified

B
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu's help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu's `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial's developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. The flag `SUPPORT_ORDER_READY_SIGNAL` is TRUE for `foodtec_production`. DoorDash labels the flag 'Order ready signal' and defines it on the programme page as 'Order ready signal - Notifies Dashers when an order is ready for pickup to improve timing and coordination.' That establishes the outbound signal exists, which the vendor corpus never did. The claim additionally requires that BUMPING AN ORDER READY ON THE KDS is what emits the event, and the registry carries no flag identifying the signal's trigger. A necessary condition is attested and a sufficient one is not. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12

B
Partial

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

kitchen-bump-bar-hardware

'Touch-screen or bump bar configurations' are offered; no supported bump-bar models are published. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
Partial

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

kitchen-all-day-counts

Archived FoodTec v9.2 manual, Bump page (captured 2015-10-16). 'Kitchen Items' puts a running total on a bump screen: 'Sometimes it's useful for a bump to show the total quantities of items that need to be made.' The counter rises as each order containing the item arrives and falls 'When the order (or the individual item) is made'. That is an outstanding per-item quantity across open tickets on the station. Shortfalls: (1) only operator-built Kitchen Items are counted. Each needs hand-written rules mapping menu items to a quantity, assigned per bump, so this is not an automatic all-day view of every item. (2) Modifiers count only through per-size or per-qualifier rules feeding an item's quantity, not as a per-modifier count. (3) This is a 2015 manual with no current corroboration. The live Kitchen Systems page does not mention the feature. https://web.archive.org/web/20151016131540id_/http://www.foodtecsolutions.com:80/docs-9.2/released/ads/doc/printer/docs/Bump.html · retrieved 2026-09-12 adversarially verified

B
Yes

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

'Rush and late alerts' plus 'Configurable KPI tracking on screen' tied to the Performance Scoreboard. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
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

Checked 2026-08-04: nothing on the Kitchen Systems page (KDS bump-bar, station/course status, rush alerts, Performance Scoreboard), the Point of Sale page, or the Oct 2025 AWS-outage post (which covers cloud-connectivity loss, not device failure, and promises only that the store can 'print and display tickets in the kitchen' while offline) describes rerouting tickets to a designated backup printer or screen when a KDS or kitchen printer dies. FoodTec publishes no documentation portal to check further. Unresolved.

F
Partial

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

kitchen-offline-operation

Resolved, and the prior rationale's distinction is answered by a sentence it did not quote. The post does separate new-ticket receipt from queued-ticket display: 'When the internet drops, taking orders and sending items to the kitchen are still possible with edge computing.' Its bulleted list of what the system can still do is 'Take phone and walk-up orders', 'Print and display tickets in the kitchen' and 'Capture credit card payments (with supported processors)'. Shortfall: this is a marketing post rather than architecture documentation. It states no queue depth, no reconnect reconciliation behaviour, and nothing about what happens when a KDS screen rather than the internet is the thing that fails. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-09-10

C
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

Checked 2026-08-04: the Kitchen Systems page's full bullet list names only 'Station and course status' as station-level detail, with no mention of recipe-step, portioning, or full modifier breakout display on the screen itself. Unresolved.

F
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

No make-line rendering of sectioned toppings is documented — a conspicuous blank for a pizza specialist.

F
Partial

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

kitchen-recall-refire

KDS advertises 'Easy to find future and past orders', implying recall; explicit unbump/refire of a single item is not documented. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

E
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

Checked 2026-08-04: the Kitchen Systems page documents rush/late alerts and course status but never visual flagging of items added, changed, or removed on a ticket already displayed after a POS edit. Unresolved.

F
Partial

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

Online ordering ships an 'Order Tracker' and customers 'track order status live on the website'; SMS/push on kitchen bump specifically is not documented. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Partial

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

kitchen-waste-logging

Waste is logged against inventory with reason categories: 'if a cook drops a ball of dough, you will know exactly how much waste to count it as... you estimate waste due to inventory misplacing, mishandling, and spoilage. You can calculate the waste of raw ingredients and menu items.' Shortfall: entry is documented in the Inventory module, not at the kitchen or KDS screen, and no remake reason code or KDS-side logging is described. https://web1.foodtecsolutions.com/solutions/inventory · retrieved 2026-09-04

C
Partial

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

On-screen KPI tracking and Performance Scoreboard integration exist; percentile slicing by daypart/station/channel and CSV/API export are not documented. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
Partial

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

The web1 Sales Forecast page documents forecasting down to quarter-hour granularity from five years of historical sales, integrated with Labor Scheduler, and states it helps 'optimize inventory management and purchase and prevent under/over food production' — a forecast-driven prep-quantity benefit. Shortfall: the page frames this as feeding labor scheduling and purchasing decisions, not as a daily prep task list surfaced to kitchen staff on the KDS or any kitchen-facing screen; no prep-list artifact is described. https://web1.foodtecsolutions.com/solutions/salesForecast · retrieved 2026-08-04

C

Delivery, dispatch & third-party channels

Yes

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

'Driver performance stats' and 'Order assignment by driver or expeditor' support a first-party driver roster. But 'clock-in queue' and 'run history inside the POS' are not on the page or anywhere public — those specifics are invented detail around a defensible score. https://foodtecsolutions.com/delivery-monitoring/ · retrieved 2026-08-01 adversarially verified

B
Yes

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

Board itself holds: 'Map and List View of Orders', 'Order assignment by driver or expeditor', 'Late-status warnings' are documented bullets. But the note's bundling claim is not a documented feature — bundling appears only as prose in a strategy section, not in the capability list. Score stands; strip the bundling assertion. https://foodtecsolutions.com/delivery-monitoring/ · retrieved 2026-08-01 adversarially verified

B
Partial

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

Shortfall: the shipped Delivery IQ app documents 'Map and List Views of Orders' and one-button navigation that launches a customer address into the device's own GPS app — a single-address handoff to Apple or Google Maps, not an in-app multi-stop route. No route optimisation appears in the product artifact; 'Optimal route suggestions' exists only as a bullet on the Delivery Monitoring marketing page, with nothing describing how a route is computed, sequenced or presented. https://apps.apple.com/us/app/foodtec-delivery-iq/id668577040 · retrieved 2026-08-02 adversarially verified

B
Yes

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

delivery-driver-tracking

Delivery IQ, seller Foodtec Solutions Inc: 'GPS/location and order status data from the driver app connect the customer, restaurant and driver. Managers, kitchen staff and expeditors now have real-time information that empowers them to make better decisions on timing and order bundling.' Feature list includes 'GPS Tracking'. Apple's compelled listing disclosure — 'This app may use your location even when it isn't open, which can dramatically decrease battery life' — establishes continuous background location reporting as a property of the shipped binary rather than a marketing assertion. Requires iOS 15.6 or later. https://apps.apple.com/us/app/foodtec-delivery-iq/id668577040 · retrieved 2026-08-02 adversarially verified

B
Partial

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

Delivery areas are configurable with enforcement and exceptions: 'you can set limits on the area covered by your store and decline orders that are outside your designated delivery area... or set up a delivery exception that allows deliveries to non conventionally served areas', and Delivery IQ lets drivers correct the underlying street map. Shortfall: the zone geometry is not documented - nothing says whether an area is an arbitrary polygon, a drive-time isochrone, a radius or a street/ZIP list. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-04

C
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

The web-ordering product page documents 'Set Order Delivery Zones': operators 'set limits on the area covered by your store and decline orders that are outside your designated delivery area'. Shortfall: only zone boundary definition and out-of-zone decline are documented — an independently configurable per-zone delivery fee, order minimum and quoted promise time appear nowhere on this page or the Delivery IQ pages. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-08-03

C
Partial

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

Addresses are geocoded to map pins, but drivers report the system places pins wrongly and provides 'no function to correct pins placed in wrong locations' — validation exists, correction does not. https://www.reddit.com/r/PizzaDrivers/comments/yahgnp/point_of_sale_systems_versus_foodtec_pos_in_part/ · retrieved 2026-08-01 · not refetchable · site policy

E
Partial

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

Driver app tracks mileage, tips and per-run stats per multiple driver reports; separation of reimbursement vs wage lines on payroll export is not documented. https://www.reddit.com/r/TalesFromThePizzaGuy/comments/2ntg9x/foodtec_iq_app_review_and_discussion/ · retrieved 2026-08-01 · not refetchable · site policy · graded D when read

E
Partial

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

I pulled the full feature list from the cited delivery-monitoring page. Documented bullets are: GPS Tracking, Map and List View of Orders, Optimal route suggestions, Order assignment by driver or expeditor, Signature Capture on Credit Card Voucher, Easy tip addition, Route completion status, Driver performance stats, Late-status warnings, Coupon Scanning at the door. Driver settle-up / cash reconciliation appears NOWHERE. The sole source is a 2014 r/TalesFromThePizzaGuy thread — twelve-year-old user-generated content about a product that has since been rewritten. This is a headline differentia https://foodtecsolutions.com/delivery-monitoring/ · retrieved 2026-08-01 adversarially verified

B
Partial

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

The T&C defines 'Delivery Services' as 'food delivery services such as Grubhub, DoorDash, DoorDash Drive, Uber Eats, UberDirect and any similar future courier services... whether or not available to Client on a private label basis', and indemnifies FoodTec for the client's use of them - naming two on-demand courier products (DoorDash Drive, UberDirect) as services reached through the FoodTec Solution. Shortfall: no documentation of native dispatch from the POS, of courier quoting, or of courier status returning into the order record. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
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

Checked 2026-08-04: same page reviewed; no overflow/hybrid dispatch rule to a DaaS courier when no in-house driver is available is documented. Unresolved.

F
Partial

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

Shortfall: only DoorDash is corroborated by a first-party functional artifact — a live registration form for 'DoorDash Ordering Integration' stating 'Current wait time is about one week', i.e. hand-provisioned rather than self-serve. Grubhub and Uber Eats are named only on FoodTec's own integrations marketing page and appear in neither platform's published POS partner directory. FoodTec is absent from DoorDash's 2026 Preferred Integration Partner cohort despite claiming 'Preferred partner status'. No integration documentation of any kind is published. https://foodtecsolutions.com/doordash-register/ · retrieved 2026-08-02 adversarially verified

C
Partial

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

'third-party orders flow directly into your system—no tablets, no re-entry'; auto-fire to KDS/printers is implied but not stated. https://foodtecsolutions.com/blog/2026/04/24/how-to-reduce-third-party-chaos-and-grow-direct-orders/ · retrieved 2026-08-01

D
Yes

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

Items, toppings, images, descriptions and prices publish from the POS to all three marketplaces automatically. Channel-specific markups not documented. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01

D
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu's help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu's `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial's developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. The flag `ITEM_LEVEL_86` is TRUE for `foodtec_production`. DoorDash labels the flag 'Real-time item 86ing' and defines it on the programme page as 'Real-time item 86ing - updates item availability across systems when items are marked unavailable.' FoodTec's own 3rd-Party Integrations page already documents item/price/image sync to DoorDash, Grubhub and Uber Eats but never item-level out-of-stock push. `partial` because this attests the 86 capability on DoorDash only while the claim reads on connected third-party channels generally, and because the claim also requires restore-on-availability, which no flag carries. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12

B
Partial

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

DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu's help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu's `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial's developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. The flag `STORE_AVAILABILITY_WEBHOOKS` ('Integrated close/pause store') is TRUE for `foodtec_production`. The prior unknown recorded that the 3rd-Party Integrations and Delivery Monitoring pages are silent on store pause; the registry is not. `partial` because the claim requires the pause on each connected marketplace plus a timed auto-reactivation, and this attests one marketplace and no timer. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-12

B
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

Checked 2026-08-04: the Performance Reporting page documents only generic 'transactions, sales, costs, discounts' KPIs (reporting-eod-closeout, same research pass); no marketplace-payout-to-POS-sales reconciliation report matching commission, marketing fees, and refunds is named anywhere. Unresolved.

F
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

Checked 2026-08-04: the 3rd-Party Integrations page markets seamless order injection ('orders go straight into your POS') but nowhere documents a failed/rejected-injection view, per-channel connection status, or failure alerting surfaced to the operator. Unresolved.

F
Yes

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

Customers 'track order status live on the website', driven by driver GPS and order state; branded web ordering carries an Order Tracker. https://foodtecsolutions.com/delivery-monitoring/ · retrieved 2026-08-01

D
Partial

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

Promise times are computed, not fixed: 'FoodTec's automated promise times use machine learning and real-time data to provide customers with accurate delivery or pickup estimates', and the 9.5 release page describes the store being detected as 'too busy to provide your typical delivery time'. Shortfall: the inputs are not enumerated - nothing states that the quote moves with kitchen load, driver availability or zone drive time specifically - and the source is a vendor blog post rather than product documentation. https://foodtecsolutions.com/blog/2025/09/14/how-paperless-kitchens-drive-efficiency/ · retrieved 2026-09-04

D
No

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

delivery-offline-behavior

Overturned from unresolved. The claim asks whether the vendor DOCUMENTS offline behaviour for delivery, and FoodTec publishes exactly one offline-behaviour document -- this post -- which enumerates what continues during an internet outage in three bullets: 'Take phone and walk-up orders', 'Print and display tickets in the kitchen' and 'Capture credit card payments (with supported processors)'. Delivery appears in none of them, and neither driver assignment nor driver settlement nor cash delivery orders is mentioned in the body. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. Across those 233 documents `offline` occurs in 4, none of them about delivery. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-09-10

C

Digital ordering & guest-facing channels

Yes

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

Branded, commission-free web ordering fully integrated with the FoodTec POS; operators confirm '100% of the sale belongs to the business.' https://foodtecsolutions.com/online-ordering/ · 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

Ordering site is 'fully integrated with your FoodTec POS' with no separate digital menu build described. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Yes

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

A branded consumer app is documented with order/re-order, points, coupon activation, eGift buy/reload/store and promoted offers. But the page does not state iOS and Android; that platform pair is the researcher's addition. Keep yes, strike the platform specificity. https://foodtecsolutions.com/mobile-apps/ · retrieved 2026-08-01 adversarially verified

B
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

Accounts with re-ordering of favorite orders, stored eGift cards and Facebook Login; saved tokenized card-on-file is not explicitly documented. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Partial

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

'Cross-sells, Up-sells, Sister Products & Combos' configurable per item; only a blended ticket-lift figure is reported, not per-suggestion attach rate. https://foodtecsolutions.com/suggestive-selling/ · retrieved 2026-08-01

D
Partial

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

Future orders are supported: 'Your customers can conveniently place an order and defer it for when they want it delivered. From a same-day delivery to up to 30 days later'. Shortfall: no per-daypart or per-time-slot capacity limit, no automatic closing of a saturated slot, and no per-channel order or item cap is documented. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-04

C
Partial

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

Delivery, pickup and dine-in are named across channels; curbside arrival check-in and QR table ordering are not documented. https://foodtecsolutions.com/suggestive-selling/ · retrieved 2026-08-01

D
Partial

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

FoodTec's own ordering web app has a QR landing page. Its served code reads a table or tent number from the scanned link (queryParamMap.get("table") / queryParamMap.get("tent")), logs "QR landing: Start Order clicked", and starts an order-ahead order that carries that number: "t.isOrderAheadTable?i.orderTable=this.tableParam:this.tentParam&&this.sessionStorageService.setQrLandingTent(this.tentParam)". The store's order-ahead mode is one of "Disabled", "Table" or "Tent". The guest sees the text "Start Order" and "Already placed an order? Let us know you are here." Scan-to-order at a numbered table or table tent is shown. Shortfall: the scan always creates a new order (orderService.createOrder). Nothing shows it opening or joining a check a server already has open in the POS. The QR landing flow has no split-the-check or table-tip step. FoodTec's separate Web Pay pay-by-link flow is scored under payments-qr-guest-pay, and it is not counted again here. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/489.c94d7e09071ea69f.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

A first-party self-order kiosk on an in-store dedicated tablet is documented on the Web Ordering page. Shortfall: it runs the web-ordering interface rather than the POS menu and modifier engine, no accessibility-compliant UI is claimed, and no unattended EMV payment on the kiosk is documented. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-04 adversarially verified

C
Partial

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

The web1 Group Ordering product page documents the flow: a customer 'initiates the process, as the group leader, and invites others via email to order'; participants add their own items to one collective order, 'each group member can see what others have ordered', and the leader 'sets a time frame for order placements — although the standard time frame is 30 minutes'. Shortfalls: invitation is by email rather than a shareable link, no per-person or total spend cap is documented anywhere, and payment is not split through the platform — 'the group leader collects individual payments and your driver only deals with the group leader'. https://web1.foodtecsolutions.com/solutions/groupOrdering · retrieved 2026-08-04

C
Partial

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

Resolved against the same live store configuration. Lead-time rules are shipped (`hasCateringNoticeTime`, per-item and per-special `noticePeriod`, a separate time-slot fetch when the notice period exceeds the order), and an invoice-style tender exists in the ordering channel: the configuration exposes `houseAccountsRequireName` and `houseAccountsRequirePhone`. Shortfall: no separate catering menu or order minimum, no quote or proposal, no deposit, and no ACH payment terms appear in the configuration, in the shipped client, or in the 233-document prose corpus. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/store · retrieved 2026-09-10

A
No

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

Overturned from unresolved. The 9.5 release page is where FoodTec describes its inbound-phone-order mechanism, and the mechanism is caller identification, not transcription: 'FoodTec continues to partner with VOIP providers to reduce hardware needs and pass Caller ID directly to the POS.' The order still lands with a human. FoodTec's own 2026 AI article names one shipped AI feature and it is a campaign-copy assistant; no voice product and no named certified partner appears in the 233-document corpus or in the shipped ordering client. https://foodtecsolutions.com/latest/ · retrieved 2026-09-10

C
No

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

digital-drivethru-ai

Overturned from unresolved. Drive Thru is a real FoodTec order type -- it is a member of the shipped client's OrderType enum and the QSR page sells a Drive thru module -- so the lane exists and its AI is genuinely absent rather than out of scope. FoodTec's own 2026 AI article names exactly one shipped AI feature, a campaign-copy assistant, and neither a lane voice agent nor an escalation-to-human handoff appears anywhere in the 233-document corpus or in the shipped client. https://foodtecsolutions.com/blog/2026/07/29/ai-for-pizzerias-practical-ways-to-save-time/ · retrieved 2026-09-10

C
Unknown

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

digital-sms-ordering

Checked 2026-08-04: no page describes conversational SMS/chat ordering landing in the POS; the only SMS evidence anywhere in FoodTec's corpus is a variable-fee line in the T&C covering marketing messages (guest-loyalty-native-email-sms, already scored), not an ordering channel. Unresolved. || 325th: NEW SURFACE (325th): the live anonymous Web Ordering config and the vendor's own shipped ordering source (545 non-vendored TypeScript/HTML files of the production 'latte' bundle) give the first look at what FoodTec's SMS actually does, and every SMS field on it is NOTIFICATION or RECEIPT, never an inbound ordering channel. Per-order-type config returned by GET /ws/integrated/v1/ordering/config/orderTypes (HTTP 200, 2,492 bytes, 2026-09-17) carries `"smsNotify": true` and `"supportsSMSReceipt": true` on each of the two enabled order types; GET /ws/integrated/v1/ordering/config/phoneProviders returns a closed carrier list for SMS gateway addressing ['Alltel','AT&T','Boost','Nextel','Sprint','T Mobile','Verizon','Xfinity mobile']; the shipped enums are core/sms-subscription-option.enum.ts = { NONE, SIMPLE, DOUBLE } (i.e. single vs double opt-in for marketing) and account/channel-name.enum.ts = { SMS, EMAIL, PUSH_NOTIFICATIONS }; there is also /ws/integrated/v1/ordering/config/smsOffersCoupon (an offers coupon). Tokenised, word-boundary, case-insensitive controls over the 1,538,218-byte own-source corpus (545 non-vendored files): 'text to order' 0, 'text-to-order' 0, 'textToOrder' 0, 'twilio' 0, 'conversational' 0. FLOOR NOT CENSUS: this is the guest ordering channel only, and an SMS ordering bot could live entirely server-side, so no `no` is published. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. adversarially verified

F
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

Checked 2026-08-04: no FoodTec artifact mentions Order with Google or Google Business Profile provisioning — not the online-ordering feature list (Chain Support, Loyalty Integration, Pizza Configurator, Facebook Login, etc.), not the web1 webOrdering product page, and not the Apr 2026 'reduce third-party chaos and grow direct orders' post, which is the natural home for it and discusses direct-order growth without naming Google. A web search finds no FoodTec/Google ordering artifact from any party. Unresolved.

F
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

Checked 2026-08-03: searched FoodTec's site and the web for Apple Business Connect / Apple Maps 'Order Food' placement and found no FoodTec statement or third-party report in either direction. FoodTec's integrations page enumerates delivery marketplaces (DoorDash, Grubhub, Uber Eats), not discovery-channel placements, so it cannot carry a no. Unresolved.

F
Yes

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

Loyalty accrual, coupons and gift cards run inside the ordering flow off the same single customer database as in-store. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
Partial

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

FoodTec's own guest ordering client (build cwo-1.0.92, served on the chain's /loyalty route) ships a paid guest Subscription Plan inside the loyalty account. Guests are offered a monthly or annual plan with an optional free trial (`o.freeTrialDays>0&&null==this.loyaltySubscription&&s.subscriptionPeriod===_.zF.MONTHLY?this.accountLoyaltyService.placeTrialSubscription(s)` ... `:this.accountLoyaltyService.placeSubscription(s)`). The platform's own loyalty API (`/ws/integrated/v1/ordering/account/loyalty`) has subscribe, trial, cancel and reactivate calls (`/subscription/cancel?undoCancellation=true`). The client tracks renewal states (`M.GRACE_PERIOD="GRACE PERIOD",M.FAILED_TO_RENEW="FAILED TO RENEW"`). The guest-facing copy promises a delivery-fee waiver: "With our paid plans, you’ll unlock special perks — from free delivery to exclusive offers and more." and "Thanks to your Subscription Plan, delivery is free — you just saved". It also describes recurring charges: "You won’t be charged until {date}.", and "Once cancelled, you will not be charged for the next billing cycle." Some plans "let you earn extra points for every dollar spent", and a plan is "valid across all restaurants in the chain". So this is a consumer plan the restaurant sells. It is not FoodTec billing merchants, and it is not the separate email/SMS offers opt-in. Shortfall: all of this comes from the guest-side client only. FoodTec documents no operator-side setup anywhere: no way to create a plan, set its price or perks, or see which processor runs the recurring charge. No live store was seen with a plan configured (the one tenant checked returned an empty plan list). Rollout and any extra pricing for the operator are therefore unestablished. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/221.6227458916dfe153.js · retrieved 2026-09-15 adversarially verified

A
Partial

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

Coupons, offers and loyalty are defined in one POS-integrated system and surface online; explicit channel-eligibility controls are not documented. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Partial

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

T&C grants the client ownership of Restaurant Data, but states FoodTec 'does not undertake … to search, extract or transfer any data'. Export runs through a gated API License. Ownership yes; portability no. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

Online ordering page asserts 'PCI compliance'. No version stated, no 6.4.3/11.6.1 script-integrity statement, no 3DS mention. https://foodtecsolutions.com/online-ordering/ · retrieved 2026-08-01

D
Partial

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

Resolved. The digital channel does carry guest-facing fee disclosure as a product feature: the live store configuration exposes `webOrderingServiceName`, `supplementalFeeName` and `supplementalFeeDescription` as named, described fee lines rendered to the guest, plus `compactOrderCharges` and `showSubTotalOnly`, and the client posts to /ws/integrated/v1/ordering/order/payments/getFee. Shortfall: this is a flat store-configured fee, not the POS surcharge configuration the claim asks about. The shipped client does carry a per-payment-type card fee and cash discount (lazy chunk 372 of cwo-1.0.92: a debit-card exclusion by BIN lookup on the TSYS path, bypassable by the store flag surchargesOnAllCreditTransactions, and a store-authored paymentFeeDisclosure at checkout), but nothing handles jurisdictions or card brands where surcharging is prohibited, and whether it matches the POS configuration is not observable. https://order.foodtecsolutions.com/ws/integrated/v1/ordering/config/store · retrieved 2026-09-10

A

Guest data, loyalty & marketing

Yes

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

'Single Customer Database' consolidating in-person, phone, mobile and desktop, plus 'Simple Account Merging'. Dedup rules not published. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
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

Checked 2026-08-04: the 3rd-party-integrations page documents order injection ('orders go straight into your POS') and menu/price sync for DoorDash, Grubhub and Uber Eats but says nothing about whether those orders attach to a guest profile; the loyalty pages describe a 'Single Customer Database' fed by FoodTec's own channels without mentioning marketplace orders; the Apr 2026 direct-orders blog post is likewise silent on marketplace guest identity. Nothing establishes attach-or-anonymous either way. Unresolved. || 325th: NEW SURFACE (325th) AND A HOMONYM TO RECORD SO IT IS NOT MISREAD AS THIS CLAIM. The live anonymous store config (GET https://concordpike.seasonspizza.com/ws/integrated/v1/ordering/config/store, HTTP 200, application/json, 6,343 bytes, 2026-09-17) carries `"hasThirdPartyLoyalty": false` next to `"hasLoyalty": true` and `"supportThirdPartyGiftCards": false`. 'Third-party' there means a third-party LOYALTY or GIFT-CARD PROCESSOR replacing FoodTec's own programme -- it says nothing about whether a DoorDash/Uber Eats/Grubhub order attaches to a native guest profile, which is what this claim asks. Nor does the guest-facing corpus help: tokenised controls over the 1,538,218-byte own-source corpus (545 non-vendored files) of the production ordering app return 'doordash' 0, 'grubhub' 0, 'uber' 0, 'marketplace' 0, 'thirdParty' 0 -- expected, because marketplace injection happens server-side and never reaches the guest client, so this surface cannot bound the claim in either direction. Still unresolved. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. adversarially verified

F
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

Configurable points measurements and accrual rules; the page positions the product as 'beyond the punch cards' and does not document visit-count or spend-tier accrual. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
Partial

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

guest-loyalty-tiers

The Loyalty module ships escalating benefit levels: Threshold Rewards give 'at 50 points the customer gets a 2% discount, at 150 points a 5% discount, and at 300 points a 10% off an order', with points reset at the maximum milestone. Shortfall: these are point-balance thresholds that reset, not membership status tiers - there is no rolling-window spend or visit window, no automatic promotion to a named status, and no demotion. https://web1.foodtecsolutions.com/solutions/loyalty · retrieved 2026-09-04

C
No

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

guest-loyalty-offline-behavior

Overturned from unresolved. The claim asks whether the vendor documents loyalty behaviour under connectivity loss. FoodTec publishes exactly one offline-behaviour document -- this post -- and its three-bullet enumeration of what still works covers order taking, kitchen printing and display, and card capture. Loyalty lookup, accrual and redemption appear in none of them, and the word does not appear in the post at all. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-09-10

C
Partial

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

guest-loyalty-offer-stacking-rules

Offer eligibility is configurable in detail - 'You can set any terms and conditions you want for any particular coupon, including... Day and Time coupon is valid, Source of Order (web, in-store), Expiration date, Order (size, toppings, number of items, minimum spending etc.), Type of Dining option' - and one documented combination rule exists (a coupon and a gift card or eGift may be redeemed on the same order; loyalty accrual can be set to award 'no points for discounted products'). Shortfall: no exclusive-versus-combinable flag between offers, no precedence or order-of-application configuration, and no documented rule for stacking two coupons. https://web1.foodtecsolutions.com/solutions/uniqueCoupons · retrieved 2026-09-04

C
Partial

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

The customer database 'enables market segmentation for targeted campaigns'; the audience rule builder is not documented. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
Partial

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

Recency, frequency and monetary filters ship pre-built and named: 'Lazy customers - this filter identifies customers who haven't ordered from you in a specific time frame', order frequency ('less than / more than / exactly 4 orders'), customer spending ('spent less than / more than / exactly $50'), plus a New Customer campaign, birthday and engagement filters, with 'Lazy Online Customer 90' given as a shipped example. Shortfall: these are campaign filters the operator or FoodTec's Target Market team selects; no automatic lifecycle segment (new, regular, at-risk, lapsed, VIP) is computed and stored as a customer attribute. https://web1.foodtecsolutions.com/solutions/campaignFiltering · retrieved 2026-09-04

C
Partial

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

Automated 'Reward and Coupon Reminder Notifications' are shipped; birthday / first-visit / lapsed-winback triggers are not named. A consultant claims '200+ marketing campaigns' templates — unverified. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
Partial

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

Email holds (Loyalty Builder 'integrates with their email marketing platform'; Target Market is a named module). SMS does not: the only SMS evidence is a variable-fee line in the T&C, and the same T&C refers to instructions from 'Messaging Platform Vendors [and] Telecommunications Carriers' as Third Party Services — which points to pass-through delivery, not a native SMS product. No SMS campaign product page exists. A blog post about an AI writing assistant is not documentation that the send channel is first-party. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01 adversarially verified

B
No

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

guest-loyalty-10dlc-registration

Overturned from unresolved. The Acceptable Use Policy is FoodTec's messaging-compliance instrument -- it sets opt-in, opt-out keyword and consent-record obligations on the operator -- and it is silent on carrier registration. `10DLC` occurs zero times, tokenised, across all three corpora read this session; the two `A2P` matches are both the minified Angular symbol `A2p` in the shipped client's dependency-injection table, not a messaging term. The live store configuration does show FoodTec brokering SMS itself (`hasSMSProvider`, `smsCampaigns`, `smsSubscriptions`), which makes the absence of any registration statement a documented gap rather than an unexamined one. https://foodtecsolutions.com/acceptableusepolicy/ · retrieved 2026-09-10

B
Partial

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

guest-loyalty-campaign-attribution

Performance Reporting includes 'Marketing campaign recording functionality'; tying redeemed offers to incremental check totals is not documented. https://foodtecsolutions.com/performance-reporting/ · retrieved 2026-08-01

D
Partial

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

The T&C defines 'Data Export' as 'the use of a Module or a FoodTec API to export one or more elements of Client Data, menu data, employee data or other data', so an export path exists. Shortfall: API-based export requires a separately promulgated Restaurant API Use Agreement, and section 6 states the client's exclusivity in Restaurant Data 'does not obligate FoodTec to search, extract or transfer any data' - no self-serve guest-list export without an agreement or a support engagement is documented. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
Partial

Exposes a documented outbound guest and order event API or webhook stream that a CDP or marketing platform can subscribe to (e.g. Olo, Punchh, Bridg, Klaviyo). differentiator

guest-loyalty-cdp-event-api

FoodTec APIs and 'Linked Applications' exist per the T&C, and one operator describes wiring FoodTec to HubSpot, but access requires an executed API License and Linking Agreement and no event/webhook contract is published. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

Post-transaction feedback is a shipped mechanism: pre-built surveys including 'Rate Us' and 'Web Ordering Experience', a web-ordering pop-up survey, response tagging, and 'automated triggered emails to customers that complete your surveys'. Shortfall: responses are not routed by score - nothing sends low scores to private service recovery or steers high scores to public review sites; the only public-review path documented anywhere is generic social sharing on the Mobile Apps page. https://web1.foodtecsolutions.com/solutions/surveys · retrieved 2026-09-04

C
No

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

The web1 Loyalty product page enumerates the loyalty mechanic set at fine granularity — welcome sign-up bonus, configurable accrual rules, threshold and opt-in rewards, per-store accrual rules, account merging, reward reminders, coupon-expiration alerts, per-order point caps, paper/plastic cards, discretionary points — and no referral mechanic appears; none appears on the marketing loyalty-programs page either, and the 29-module web1 solutions catalog contains no referral module. The nearest feature, Unique Coupons, is expressly the opposite of a shareable referral code: one-time codes designed for 'preventing customers from sharing it with others'. Enumerated first-party feature sets with referral absent everywhere is positive evidence of absence. https://web1.foodtecsolutions.com/solutions/loyalty · retrieved 2026-08-04

C
No

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

Overturned from unresolved to positive absence. The shipped consumer ordering client is the surface a wallet pass would live on, and it integrates Apple deeply -- a full ApplePaySession flow with merchant validation, `supportsApplePay` gating and merchant capabilities declaring supports3DS -- while containing no PassKit or wallet-pass path at all. `Apple Wallet`, `Google Wallet` and `wallet pass` occur zero times, tokenised, across all three corpora: the 233 first-party prose documents, the 2.5 MB client, and every live API response. The live loyalty-plan endpoint independently exposes the card media as `hasLoyaltyCards` and `needsLoyaltyCards` only, matching the web1 Loyalty page, whose card media are an online account plus, optionally, 'paper or plastic Loyalty cards'. The mobile Loyalty App is the other surface a pass could be issued from, and it does not rescue the cell: the /mobile-apps/ page and the web1 mobileApps module page are both inside the 233-document corpus over which those three terms read zero. A client that implements one Apple framework and not the other is positive evidence, not silence. Control: `ordering` reads 489/64/12 over the same three corpora. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/main.4e8dc9d78c1cace4.js · retrieved 2026-09-10

A
Partial

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

Published DPA commits FoodTec to notify the controller of data-subject requests and assist; no in-app locate/export/delete tooling is documented. https://foodtecsolutions.com/dataprocessing/ · retrieved 2026-08-01

B
Partial

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

Redemption abuse controls are documented: unique one-time coupon codes ('each offer code may be used once, and then it is invalidated preventing customers from sharing it with others or reusing it'), a configurable Maximum Order Points cap on the Loyalty module, and unique gift card and eGift IDs whose balance updates across POS and web on redemption. Shortfall: no redemption velocity limit, no manager approval on manual point adjustments (the Loyalty module's 'discretionary bonus points' are granted at will), no flagging of employee self-redemption, and no redemption audit log. https://web1.foodtecsolutions.com/solutions/uniqueCoupons · retrieved 2026-09-04

C
Partial

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

Shipped, but narrow: 'If you're a FoodTec customer using Target Market, you already have access to FoodTec's AI Assistant' for writing email and SMS campaigns. Content generation only — not audience selection or send-time optimization. https://foodtecsolutions.com/blog/2026/07/29/ai-for-pizzerias-practical-ways-to-save-time/ · retrieved 2026-08-01

D
Yes

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

Native reloadable stored value, plastic and eGift, redeemable for any order type and tied to the loyalty app profile. https://foodtecsolutions.com/gift-cards-egifts/ · retrieved 2026-08-01

D

Labor & workforce

Partial

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

I pulled the Employee Management bullet list verbatim: demand-based scheduling, recommends ideal labor requirements, accommodates employee shift requests, tracks payroll including overtime & holidays, monitors hours & transactions per employee, tracks tipping and allocates accordingly, identifies top performers, single dashboard, real time data feed, mobile access. There is no clock-in bullet. 'Monitors hours per employee' is not documentation of punch-in at the terminal. The thumbprint detail is a single Reddit report. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01 adversarially verified

B
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

Fingerprint punch is reported by a user; no photo or facial verification documented. || 324th: NEW: FoodTec's published punch-verification modality is FINGERPRINT biometrics, not photo or facial. https://foodtecsolutions.com/dataprocessing/ (Data Processing Addendum, WP modified 2025-11-21): "No access to employee biometric (fingerprint) Personal Data is possible, all such information being stored locally within the store." https://foodtecsolutions.com/terms/ and /termsandconditions/ name "biometric fingerprint devices, cameras on the premises of the Licensed Restaurant" as Restaurant Data sources. https://foodtecsolutions.com/blog/2023/03/23/employee-fraud-the-3-most-common-occurrences-and-what-you-can-do-about-it/ (last updated 2026-01-12): "Fingerprint Clock-In: ... fingerprint-based time tracking ... It eliminates buddy punching and ensures employees can't clock in unless they're physically present. Our labor scheduling module also enforces scheduled times." Tokenised controls: 'selfie' = 0 hits; the 10 'photo' hits are the delivery driver's photograph shown to the customer in Order Tracker plus blog imagery, none at punch. CONTROL POISON WORTH RECORDING: 'facial' is NOT zero -- it returns 16 hits, and all 16 are one 2019 industry blog, /blog/2019/12/11/facial-recognition-the-new-way-for-customers-to-order-food/, about CONSUMER-facing recognition at Cali Burger; none concerns employee time capture, so a naive 'facial' control would have read as support for this claim. Held unknown rather than `no`: the claim's subject (photo/facial capture, with a photo-only no-template mode) is a different modality from what is documented, and a marketing + legal corpus is not a settings enumeration. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
Unknown

Supports mobile clock-in restricted by geofence or location validation for staff who do not punch at a fixed terminal.

labor-geofenced-mobile-punch

Checked 2026-08-04: the web1 Labor Scheduler page documents schedule creation, time-off requests and SMS notifications but no mobile clock-in feature at all, let alone one restricted by geofence; matches labor-clock-in-at-pos, already scored partial with no clock-in bullet found on Employee Management either. Unresolved.

F
No

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

Overturned from unresolved. The claim requires the offline time-punch behaviour to be documented. FoodTec's only published offline-behaviour document is this post, whose enumeration of what continues during an outage is order taking, kitchen printing and display, and card capture; time punches are absent, and so is any statement about reconciling them on reconnect. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-09-10

C
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

Roles are first-class and enforced: 'you cannot schedule a cashier as a manager, or a chef as a driver', schedules can be built and viewed per role, and Data Warehouse dashboards can be scoped to named people ('accessible only to a district manager or any other decision-maker'). Shortfall: no per-action POS permission model is documented - void, comp, discount, refund, drawer open and price change are not shown as individually grantable per role and per location. https://web1.foodtecsolutions.com/solutions/webScheduler · retrieved 2026-09-04

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

Loss-prevention module time-stamps logins and exception events by employee and links them to video; an immutable, queryable override audit trail is not documented. https://foodtecsolutions.com/security-loss-prevention/ · retrieved 2026-08-01

D
Partial

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

Shortfall: scheduling is genuinely native — FoodTec IQ (seller Foodtec Solutions Inc) lists 'review employee schedules' as a core function alongside store reports, and FoodTec's own copy names 'our labor scheduling module', which 'enforces scheduled times' against the biometric time clock. But the only documented surface is review and approval on mobile; schedule building is described nowhere, and no admin documentation exists. Dated reviews on the listing report shift-swap display defects and that time off must be requested day by day rather than as a date range, and the app gates 'richer features' behind an unpriced premium tier. https://apps.apple.com/us/app/foodtec-iq/id1086537935 · retrieved 2026-08-02 adversarially verified

C
Partial

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

Staffing recommendations are generated from the operator's own POS history: 'Your POS automatically generates a weekly sales forecast based on historical sales data', at quarter-hour granularity, adjustable for weather and events, and 'sales forecast and labor scheduling are integrated so once you generate a sales forecast, you get schedule suggestions based on these forecasts', with the scheduler colour-coding forecasted-but-unassigned shifts. Shortfall: the output is shift suggestions and forecast-versus-assigned flags rather than a published labor-hour or labor-percentage target model, and the evidence is a vendor module feature page. https://web1.foodtecsolutions.com/solutions/salesForecast · retrieved 2026-09-04 adversarially verified

C
Partial

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

FoodTecIQ manager app exposes real-time KPIs off a live data feed; labor-as-percent-of-sales during service is not specifically named. https://foodtecsolutions.com/foodteciq/ · retrieved 2026-08-01

D
Partial

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

Overtime is surfaced before it is scheduled: 'The Overtime Predictor helps you keep scheduled overtime work to a minimum. At a glance know both the total scheduled and overtime hours of your employees', and the Web Scheduler flags overtime shifts in orange and reports scheduled overtime per employee, role and day. Shortfall: the warning is at schedule-build time only - no warning or block at clock-in, and no configurable overtime threshold is documented. https://web1.foodtecsolutions.com/solutions/laborScheduler · retrieved 2026-09-04

C
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

Checked 2026-08-04: the web1 Labor Scheduler product page covers schedule creation and duplication, forecast-driven staffing, an 'Overtime Predictor', time-off request workflows, SMS notifications and availability tracking — no meal/rest break rules, no state or jurisdiction configuration, no break attestation, no missed-break premium flag; the Employee Management page's bullet list (demand-based scheduling, payroll incl. overtime & holidays, hours monitoring, tip allocation) is likewise silent. Marketing pages omitting compliance features is not proof of absence, and FoodTec publishes no admin documentation to settle it. Unresolved.

F
Unknown

Supports predictive-scheduling ordinances by tracking advance-notice deadlines for published schedules and calculating predictability pay owed for employer-initiated changes.

labor-fair-workweek-support

Checked 2026-08-04: the Labor Scheduler page documents schedule creation, an Overtime Predictor, and time-off workflows (labor-break-compliance-by-state, already scored unknown) but no advance-notice-deadline tracking or predictability-pay calculation for predictive-scheduling ordinances. Unresolved.

F
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

Checked 2026-08-04: neither the web1 Labor Scheduler product page (schedule creation, Overtime Predictor, time-off requests, availability) nor the Employee Management page mentions minors, age-based hour caps, prohibited time windows or school-day limits, at scheduling or at clock-in; no other labor artifact exists in FoodTec's public corpus (the 29-module web1 catalog has only Labor Scheduler and Web Scheduler). Absence from scheduling marketing copy does not establish the enforcement is missing. Unresolved.

F
Partial

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

'Tracks tipping and allocates accordingly'; the configurable rule set (sales %, hours, points, role) is not documented. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01

D
Partial

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

CLAIM: retains a per-shift, per-employee record of tips received, amounts contributed to the pool, and amounts distributed from the pool, exportable for audit. VERDICT: partial. EVIDENCE: https://foodtecsolutions.com/employee-management/ (WP modified 2020-09-25, re-fetched 2026-09-17) feature list -- "Monitors hours & transactions per employee", "Tracks payroll including overtime & holidays", "Tracks tipping and allocates accordingly". FoodTec's own report catalogue is named in https://foodtecsolutions.com/blog/2025/12/12/reports-every-pizzeria-should-analyze/ (WP modified 2025-12-12): the labor reports are "Attendance Compliance", "Employee Salaries" and "Labor Summary", showing "On-time vs. late arrivals | Total hours worked | No-shows and attendance trends | Overtime patterns | Labor cost summaries | Payroll-related visibility", and the post adds "All of these reports are included as part of FoodTec's core POS system. They do not require add-ons, upgrades, or extra modules." SHORTFALL (named): per-employee tip tracking and allocation are asserted, but nothing published distinguishes tips RECEIVED from amounts CONTRIBUTED TO and DISTRIBUTED FROM a pool, and no per-shift audit export is named. Tokenised controls: 'tip pool', 'tip-share', 'tipout', 'tip distribution' = 0 hits; the only other tip evidence is consumer tip prompting (Potomac Pizza case study) and "Easy tip addition" in the DeliveryIQ driver app. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. https://foodtecsolutions.com/employee-management/ · retrieved 2026-09-17 adversarially verified

C
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

Checked 2026-08-04: Employee Management's only tip bullet is 'Tracks tipping and allocates accordingly' (labor-tip-distribution-audit-trail, already scored unknown); no page names a cash-vs-charged tip breakdown, a Treasury tipped-occupation code, or W-2 Box 12/14b reporting. Unresolved.

F
No

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

Upheld, and the old rationale's careful distinction is now confirmed against the vendor's own feature list rather than asserted. The cited page describes Employee Management as 'a fully integrated module in your FoodTec POS' whose scope runs 'From on-boarding employees to productivity management, to payroll', and then enumerates what that means: it 'Tracks payroll including overtime holidays' and 'Tracks tipping and allocates accordingly'. Tracking is not processing. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026, `direct deposit`, `tax filing`, `w-2`, `941`, `garnishment`, `pay run`, `paychecks` and `tax withholding` occur zero times, tokenised and as bare substrings alike -- so none of the machinery a payroll product is actually made of appears anywhere, and the 16 occurrences of payroll are all either this tracking language or blog discussion of labour cost. A module that computes hours and tip allocation and hands them to a payroll provider is a time-and-attendance feed, which is what the claim excludes. https://foodtecsolutions.com/employee-management/ · retrieved 2026-09-09

C
No

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

Overturned from unresolved. The Employee Management page is FoodTec's payroll surface -- it claims the module 'Tracks payroll including overtime' and holidays and 'Tracks tipping and allocates accordingly' -- and it names no export format and no payroll provider. `Gusto`, `ADP`, `Paychex`, `Paylocity` and `QuickBooks` occur zero times, tokenised, across the 233 first-party prose documents and every live API response; the single `ADP` match anywhere is the Andorran peseta currency code in the shipped client's Angular locale table, which is why it is quoted here rather than left as a silent zero. The claim requires documented formats or direct integration for at least two named providers; neither exists. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/employee-management/ · retrieved 2026-09-10

C
Partial

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

System 'Accommodates employee shift requests' and the FoodTecIQ manager app supports schedule review/approval; overtime and role eligibility enforcement in the swap flow is not documented. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01

D
Partial

Provides digital new-hire onboarding that collects W-4 and I-9 documentation and supports E-Verify submission.

labor-digital-onboarding-i9

Resolved. The vendor does claim the onboarding step: the Employee Management page states that 'From on-boarding employees to productivity management, to payroll, the module streamlines your administrative processes', so new-hire onboarding is inside the module rather than absent from it. Shortfall: nothing beyond the phrase. `W-4` occurs zero times across all three corpora read this session; the only `I-9` and `E-Verify` matches in 233 documents are a 2019 blog post advising operators about I-9 mistakes, which is industry commentary and not a product surface. No document collection, no E-Verify submission. https://foodtecsolutions.com/employee-management/ · retrieved 2026-09-10

C
Partial

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

Reports 'server's sales', transactions per employee, and identifies top performers; void/comp rate and category attach rate per server are not documented. https://foodtecsolutions.com/point-of-sale/ · retrieved 2026-08-01

D

Inventory, purchasing & cost control

Partial

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

The Recipe Center 'lets you break down each recipe or menu item by ingredients', giving ingredient quantities per menu item and menu item cost, and the Inventory Reports carry recipe cost with a per-ingredient breakdown that moves with vendor pricing. Shortfall: multi-level recipes - a recipe containing a sub-recipe or prep item - are not documented (prep is handled as separate 'food preparation lists'), and automatic plate-cost recalculation on an ingredient price change is implied by the reports rather than stated. https://web1.foodtecsolutions.com/solutions/inventory · retrieved 2026-09-04

C
Partial

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

'Catch weight tracking' and 'purchase inventory counting' imply distinct purchase vs count units; explicit conversion factors and yield/waste percentages are not documented. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-08-01

E
Partial

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

'timely, accurate information of your actual inventory usage and be alerted to variances and issues on the spot' — variance reporting exists; the theoretical side (POS sales x recipe) is not documented, and no recipe engine is described. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-08-01

D
Partial

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

Ingredient usage is derived from sales: the Food Cost report gives 'the ideal and actual usage of foods, their variance, and waste', and Ideal Usage costs an ingredient's contribution to each menu item. Shortfall: on-hand quantities are maintained by scheduled physical counts (Inventory Scheduler, Inventory IQ) and reconciled against ideal usage; no near-real-time depletion at order fire, and no modifier-driven depletion, is documented. https://web1.foodtecsolutions.com/solutions/inventoryReports · retrieved 2026-09-04

C
Partial

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

CLAIM: automatically 86s menu items on the POS, online ordering AND connected third-party delivery menus when a component ingredient hits zero or a configured threshold. VERDICT: partial, grade B. NEW SURFACE (325th): the live anonymous Web Ordering API at /ws/integrated/v1/menu/panels on a production FoodTec tenant (HTTP 200, 8,178,219 bytes, 2026-09-17; hard-404 control on /ws/integrated/v1/zzz-nope). EVIDENCE that the 86 STATE is real and does reach the online-ordering channel at per-item-per-size granularity: the shipped enum menu/price-status.enum.ts is a CLOSED list -- AVAILABLE, SOLD_OUT, OUT_OF_STOCK, NO_PRICE, FREE -- and size-price.model.ts derives `get isUnavailable() { return this.status === PriceStatus.OUT_OF_STOCK || this.status === PriceStatus.SOLD_OUT; }`, with orderable-item.model.ts exposing `get availableSizePrices()` that filters them out. In the live menu of a single store 22 of 331 item sizePrices carried status OUT_OF_STOCK against 301 AVAILABLE and 8 FREE, i.e. the POS's unavailability flags were actively suppressing specific item sizes from the public ordering menu on the day of retrieval. Combined with the already-recorded POS-to-marketplace propagation on https://foodtecsolutions.com/3rd-party-integrations/, two of the claim's three destinations are evidenced. NAMED SHORTFALL (why not yes): the TRIGGER is still unestablished. Nothing in the 545-source ordering application or in the live config/menu APIs ties either SOLD_OUT or OUT_OF_STOCK to an ingredient on-hand quantity reaching zero or a configured threshold; both look like flags set upstream, and the presence of TWO distinct statuses is suggestive but not documented. No par count, threshold field or auto-restore schedule appears anywhere on this surface (SizePrice.noticePeriod is a lead-time field, not a par level). BOUND: online-ordering channel only; this is not a census of FoodTec's back office. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. https://concordpike.seasonspizza.com/ws/integrated/v1/menu/panels?page=Web&orderType=Pickup&compact=false&compactTabs=false&compactItems=false · retrieved 2026-09-17 adversarially verified

B
Partial

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

Real-time counting with per-device location assignment and multi-tablet sync; full vs spot vs scheduled cycle counts are not distinguished in public docs. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-08-01

D
Partial

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

Android tablet counting app with voice and text search and device-to-device sync ('two people can count on different tablets and then sync their results just by touching the tablets together'), implying local-first operation. Barcode scanning and explicit offline behavior are not documented. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-08-01

E
Partial

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

The web1 Vendor Integration page documents two-way electronic exchange: operators 'send and receive purchase orders electronically' and 'the vendor shares an electronic invoice which is retrieved by your POS the minute you start counting your inventory', with a nightly 'Vendor Sync' pulling the vendor's latest order catalog. Shortfall: no specific broadline distributor (Sysco, US Foods, Performance Food Group, or any other) is named anywhere on the page — the integration is described generically as 'your vendor's system'. https://web1.foodtecsolutions.com/solutions/vendorIntegration · retrieved 2026-08-04

C
Partial

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

Supplier invoices are ingested electronically for integrated vendors: 'the vendor shares an electronic invoice which is retrieved by your POS the minute you start counting your inventory', on top of a nightly Order Catalog carrying description, brand, packaging, weight and price. Shortfall: this works only for vendors that have a FoodTec integration; no photo, PDF or email OCR capture is documented for invoices from non-integrated suppliers. https://web1.foodtecsolutions.com/solutions/vendorIntegration · retrieved 2026-09-04

C
Partial

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

Purchase prices are tracked against the vendor's own system - 'if an integrated vendor has changed the price of mozzarella... these changes will be communicated to your Inventory system' each night, applied through Vendor Sync - and the Inventory Reports surface vendor price movements. Shortfall: no configurable variance threshold on received price and no alert on a price exceeding the prior or contracted price is documented; the documented threshold alerting is on count variance in dollars, not on purchase price. https://web1.foodtecsolutions.com/solutions/vendorIntegration · retrieved 2026-09-04

C
Partial

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

The web1 Inventory page documents par-level purchasing directly: operators 'customize your par levels in each purchase order' and receive 'a suggested quantity to order so that every purchase order is cost-efficient' — on-hand-versus-par suggested PO quantities, per item. Shortfall: the page does not state that any suggestion mode is driven by a sales forecast rather than the static par figure; the separately-reviewed Sales Forecast module documents forecasting feeding labor scheduling and general purchasing optimization, but never ties a forecast output specifically into this par-based suggested-quantity calculation. https://web1.foodtecsolutions.com/solutions/inventory · retrieved 2026-08-04

C
Partial

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

inventory-waste-logging

The web1 Inventory Reports page reports waste as a figure distinct from usage variance — example text: '...variance, and waste to discover what's profitable' alongside a specific per-item waste dollar figure — and the web1 Inventory page separately states the system lets users 'estimate waste due to inventory misplacing, mishandling, and spoilage'. Shortfall: no reason-code entry workflow is documented; waste reads as a computed/estimated report figure rather than a structured logging workflow where staff select a reason code that debits inventory at time of entry. https://web1.foodtecsolutions.com/solutions/inventoryReports · retrieved 2026-08-04

C
Partial

Supports inter-location inventory transfers as a two-sided transaction crediting the sending location and debiting the receiving location, with an in-transit or approval state.

inventory-transfers

The web1 Inventory page states the module lets operators 'transfer inventory from store to store' as a named capability. Shortfall: the page does not describe the transfer as a two-sided transaction (crediting the sending location, debiting the receiving location) nor any in-transit or approval state. https://web1.foodtecsolutions.com/solutions/inventory · retrieved 2026-08-04

C
Partial

Supports a commissary/central kitchen model where one location produces prep items and issues or sells them to other locations at a computed transfer cost.

inventory-commissary

Store-to-store movement is a first-class, controlled operation: 'Integrated store-to-store transfers... When a store sends inventory to another store in the chain, this store can't edit the invoice, it can only be edited by the store that sends it', and the Inventory Scheduler exposes 'Transfer inventory from store to store'. Shortfall: the Integrated Transfers app requires a Data Warehouse licence, and no central-kitchen production model - one location producing prep items and issuing them at a computed transfer cost - is documented. https://web1.foodtecsolutions.com/solutions/vendorIntegration · retrieved 2026-09-04

C
No

Captures lot/batch numbers at receiving and links them through production to sales or transfers, enabling a backward and forward recall trace.

inventory-lot-traceability

Overturned from unresolved. This page enumerates the InventoryIQ feature set outright, eleven items long: Mobile & User-friendly, Synced with Your POS, Pair Devices Save Time, Inventory Location and Completion Alerts, Excessive Variance Configuration, Intuitive Catch Weight, Alerts Hidden Expected Variances, Smart Count Sequence, Count Purchased Inventory, Voice & Text Search, and Reporting. The web1 inventory pages add store-to-store transfers, par-level suggested purchase orders, vendor purchase-order and invoice exchange, and waste versus variance reporting. Lot or batch capture at receiving appears in none of them, and `lot number`, `batch number` and `traceability` occur zero times, tokenised, across all three corpora read this session. An enumerated first-party feature set at this granularity with recall tracing absent everywhere is positive evidence of absence. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-09-10

C
No

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

Overturned from unresolved. The same eleven-item InventoryIQ feature enumeration on this page, and the web1 inventory pages behind it, name no expiration or use-by date and no expiring-soon alert. `use-by` occurs zero times across all three corpora; the single `shelf life` match in the corpus is a 2019 interview about staff retention, and every `expiration date` match is either coupon expiry on the Unique Coupons page or credit-card expiry fields in the shipped ordering client. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/inventory-optimization/ · retrieved 2026-09-10

C
Unknown

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

inventory-bar-partial-bottle

Checked 2026-08-04: the Inventory Optimization page documents 'Catch weight tracking' for by-weight items generally, but no page names bar/beverage-specific partial-bottle tracking by scale or bottle fraction. Unresolved.

F
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

Checked 2026-08-04: the Inventory Reports page documents per-item ideal-vs-actual food cost and margin (see inventory-menu-margin-linkage, this pass) but explicitly does not use GL, COGS, or accounting-system-export terminology anywhere on the page, and no accounting-connector page names QuickBooks, Sage Intacct or NetSuite for inventory data specifically. Unresolved.

F
Partial

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

Inventory and recipe costing are FoodTec's own modules, not a contracted third-party product: 'FoodTec Inventory is a robust, all-inclusive technology that integrates with your POS', with a first-party Recipe Center, a first-party Android counting app (Inventory IQ), Vendor Integration and Inventory Reports. Shortfall: the evidence is the vendor's own module feature pages rather than product documentation, the modules are separately licensed components of a Sales Contract rather than base POS functionality, and the Integrated Transfers capability requires a further Data Warehouse licence. https://web1.foodtecsolutions.com/solutions/inventory · retrieved 2026-09-04

C
Partial

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

The web1 Inventory Reports page documents per-item recipe cost joined to actual price with a worked example: a 'medium Margarita costs $3.46 to make' and sells 'for $6.99. That's 49.5% profit for every Margarita you sell', described as 'knowing the cost and profit of every menu item' — contribution margin per item, computed from actual ingredient cost. Shortfall: no threshold-based alerting is documented — the page shows a per-item margin report, not a flag that fires when margin falls below a configured threshold after an ingredient cost change. https://web1.foodtecsolutions.com/solutions/inventoryReports · retrieved 2026-08-04

C

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

'A live business reporting tool, it captures data in real time and displays all enterprise reports via a single dashboard, that is user-friendly and customizable', with mobile app access via FoodTecIQ. https://foodtecsolutions.com/performance-reporting/ · retrieved 2026-08-01

D
Partial

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

FoodTec's daily close-out report is named and its fields listed: 'Control Sales' gives 'total gross receipts; cash vs. credit card breakdown vs. third-party delivery; exception transactions - voids, refunds, and discounts; deposit totals (over/short); irregular or questionable transactions', so shifts 'balance correctly'. Shortfall: net sales and tips are not among the listed fields, and tax sits in separate reports ('Tax Summary' and 'Tax Detail') rather than in the same document, so the single-document reconciliation this claim asks for is not established. https://foodtecsolutions.com/blog/2025/12/12/reports-every-pizzeria-should-analyze/ · retrieved 2026-09-04

D
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 page cites reporting on 'popular menu items'; modifier-level PMIX with daypart and revenue-center filters is not documented. https://foodtecsolutions.com/point-of-sale/ · retrieved 2026-08-01

E
Yes

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

Exception reporting identifies 'irregular, time-stamped, video captured activity', searchable by voided orders and comps, attributable per employee and comparable across locations. https://foodtecsolutions.com/security-loss-prevention/ · retrieved 2026-08-01

D
Partial

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

Cash over/short is reported: the Control Sales report carries 'deposit totals (over/short)' alongside the cash-versus-card breakdown and exists so that 'shifts balance correctly', and the Secure Action Log flags low-cash sales and names who processed a transaction. Shortfall: the breakdown is per deposit and per shift; no per-drawer or per-employee over/short figure is documented, and nothing describes paid-outs entering the expected-cash calculation. https://foodtecsolutions.com/blog/2025/12/12/reports-every-pizzeria-should-analyze/ · retrieved 2026-09-04

D
Partial

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

Reporting covers 'transactions, sales, costs, and discounts' and labor hours are captured in Employee Management; sales-per-labor-hour and labor % by hour/department are not named. https://foodtecsolutions.com/performance-reporting/ · retrieved 2026-08-01

D
Partial

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

Per-employee hours, transactions, sales and top-performer identification exist; average check, items per check and attachment rate are not documented. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01

D
Partial

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

Revenue is reported by fulfilment channel: the Sales Per Type of Order reportlet 'displays your walk-in, delivery, pick-up, and dine-in sales in a pie chart', alongside food cost, labor cost and discount reportlets that support margin analysis at store level. Shortfall: third-party marketplaces are not broken out individually, and nothing nets marketplace commission, marketing fees or refunds from channel revenue, so channel margin net of commission is not produced. https://web1.foodtecsolutions.com/solutions/dwDashboard · retrieved 2026-09-04

C
Partial

Provides a consolidated multi-location report with side-by-side location comparison and drill-down from group total to a single location and then to an individual transaction. differentiator

reporting-multiloc-drilldown

Shortfall: cross-location visibility is real but shallow in the evidence. FoodTec IQ (seller Foodtec Solutions Inc) lets a manager see KPIs per store and 'check store reports (sales, cost, orders etc.)' plus driver and delivery statistics across the estate. What is not evidenced is the drilldown: no documented consolidated multi-location rollup, no cross-store comparison view, and no transaction-level drill path. 'Drill down into the details of every store and transaction as required' is a sentence on the Delivery/Pizza marketing page and appears in no product artifact. The app also gates 'richer features' behind an unpriced premium tier, so which reports are in scope is undetermined. https://apps.apple.com/us/app/foodtec-iq/id1086537935 · retrieved 2026-08-02 adversarially verified

C
Partial

Includes a self-service report builder letting a non-developer choose dimensions, measures, and filters and save the result, rather than only fixed canned reports. differentiator

reporting-custom-report-builder

Dashboard is described as customizable with easy integration of multiple data sources; a dimension/measure/filter report builder is not documented. https://foodtecsolutions.com/performance-reporting/ · retrieved 2026-08-01

D
Partial

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

Automatic recurring report delivery by email exists for one report family: 'Once a campaign is completed, you will receive an email with campaign performance data along with a link to in-depth campaign reporting', and every automated campaign generates a performance report email. Shortfall: only campaign reports are documented as auto-delivered; there is no documented way to schedule an arbitrary sales, labor or inventory report on a defined cadence to a recipient list. https://web1.foodtecsolutions.com/solutions/campaignReporting · retrieved 2026-09-04

C
Partial

Offers automated recurring bulk export of transaction-level raw data to a customer-controlled destination (S3, SFTP, Snowflake, BigQuery, or equivalent), not just manual CSV download. differentiator

reporting-raw-warehouse-export

FoodTec operates a hosted 'Data Repository' containing the Licensed Restaurant's Restaurant Data, and licenses a Data Warehouse that feeds the enterprise dashboard. Shortfall: the documented export routes are a Module or a FoodTec API under a Restaurant API Use Agreement; no scheduled bulk export of transaction-level data to a customer-controlled S3, SFTP or warehouse destination is documented. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
No

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

APIs exist but are contractually gated: a third party may only use them once 'FoodTec has obtained a API License and Linking Agreement'. The info.foodtecsolutions.com portal is a login wall; no public reference exists. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
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

Checked 2026-08-04: the Performance Reporting page names no outbound webhook capability; matches extensibility-webhooks-push, already scored unknown for the same reason (no public API/event documentation exists anywhere in FoodTec's corpus). Unresolved. || 324th: NEW: same measurement as extensibility-webhooks-push -- 0 tokenised hits for 'webhook' across the 29-page web1 product-detail site, the 48 WP pages, the 153 WP posts and both legal pages, and 0 hits for 'retry', 'HMAC', 'signature verification' in an integration sense. No customer-supplied endpoint, retry policy or payload signature is described anywhere. Floor, not census; no API reference is published. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. || 326th: Cell NOT moved; same bounding as extensibility-webhooks-push. NEW this pass: the marketing corpus was re-checked against the eight web1 /solutions/ pages the 324th did not quote (deliveryIQ, driversDeliveryIQ, restaurantsDeliveryIQ, consumersDeliveryIQ, mobileApps, targetMarket, marketingCalendar, loyaltyBadges - 30,375 characters, nonsense path /solutions/zzzNope returns a discriminating Tomcat 404). Tokenised controls over those eight: `webhook` 0, `api` 0, `offline` 0, `cellular` 0, `sms` 0, `geofence` 0, `third-party` 1. They describe FoodTec's own driver and consumer apps and add nothing to any integration cell. NEW SURFACES MEASURED (326th) - all four are new to the record and none of them yielded product documentation; recording them so the next pass does not re-find them. (1) wiki.foodtecsolutions.com, the product manual: the BAR TYPE was checked with curl as ordered and it is a GENERIC 'User-agent: * / Disallow: /' with no crawler named, so robots is NOT the obstacle and the standing order would permit reading it like a browser - but the wiki is an Outline instance that AUTHENTICATES: / returns 302 to /login, /login is the only 200 (819 bytes, a sign-in page), and /search, /sitemap.xml, /api.php, /index.php, /doku.php, /wiki and /share/<id> all return 403 to an anonymous browser-UA client. No login was attempted. The Wayback CDX index for wiki.foodtecsolutions.com* returns an EMPTY array - zero captures have ever been taken - so there is no retired public copy either. This surface is permanently closed to us, and that is an authentication fact, not a robots fact. (2) docs.foodtecsolutions.com is LIVE and new (200, 405 bytes): a 'Documentation Area' form that takes a name and e-mail behind a reCAPTCHA and, verbatim, 'Please enter your email address correctly / to send you a link to your Documentation'. FoodTec therefore DOES maintain customer documentation and distributes it by e-mailed link on request; it publishes none of it. No submission was made. (3) pizzadirector.net is a SECOND FoodTec-owned domain, found because lab13.foodtecsolutions.com 301s to lab13.pizzadirector.net. crt.sh returns 38 names on it (demo1-demo12, foodtec-pizza, foodtec-qsr, lab9, lab13, lab16, penelope, thrax, order.lab13, plus www. variants). Probed every resolving host for /swagger/index.html, /openapi.json, /api/swagger.json and /docs: lab13 and lab16 301 to /ordering/ and 404 all four spec paths against a discriminating 404; foodtec-pizza 301s every path to foodtecsolutions.com; foodtec-qsr returns 200 with a zero-byte body at / and 404 elsewhere; demo1 has an EXPIRED certificate; penelope and thrax time out. The apex pizzadirector.net serves a 158 KB Angular page titled 'FoodTec Demo | Home | Glen Ellyn, IL' - the same customer ordering SPA the 325th already source-mapped, linking the Play listing com.foodtec.customer_app. No specification, no API surface, no back-office app on this domain. (4) TWO SOFT-200 / REFUSAL CONTROLS worth not repeating: css-pizza-man.foodtecsolutions.com is a CATCH-ALL - /admin, /manager, /backoffice, /bo, /pos, /api, /api/docs, /swagger-ui.html, /v3/api-docs, /actuator and /zzz-nope ALL return the identical 484,150-byte SPA shell, so a 200 on that host proves nothing; and cdn.foodtecsolutions.com now 403s every path to curl with a browser UA (it served the 325th), which is a refusal and not an absence - the 39-entry webpack chunk table in the cached runtime.d32047897c14b66e.js could not be walked because all 39 chunk URLs 403 today. css-edit-mode's main-3PDUFAL5.js.map is a soft 200: it returns 55,409 bytes of HTML beginning '<!DOCTYPE html>', byte-identical to the nonsense control zzz-nope.js.map. Retrieved 2026-09-18. adversarially verified

F
No

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

Positive contractual evidence of a gate, not an absence. The base licence grant (section 17) is 'to use the Software as identified in the Sales Contract for the operation of the Licensed Restaurant'; API use sits outside it. The T&C defines a separate 'Restaurant API Use Agreement' - 'an agreement in a form promulgated by FoodTec under which Client may... use an AS IS FoodTec API to interact with the Restaurant Data for a specified Licensed Restaurant' - and a separate 'API License and Linking Agreement' for third parties. Access is therefore gated behind an additional per-restaurant contract beyond the standard subscription, which is what this claim excludes. FoodTec discloses no API fee, so this finding is about the contract gate, not about price. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
Partial

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

FoodTec states its packaging directly: 'All of these reports are included as part of FoodTec's core POS system. They do not require add-ons, upgrades, or extra modules - every pizzeria owner using FoodTec has access to them in our standard reporting package' - covering labor versus sales (Labor Summary, Employee Salaries), sales mix (Item Sales), a voids/refunds/discounts audit (Control Sales, Secure Action Log) and period comparison (Sales Comparison). Shortfall: the statement appears in a vendor blog post rather than a packaging or pricing document, FoodTec publishes no plan or tier structure at all to test it against, and the enterprise Data Warehouse Dashboard that carries multi-location comparison is separately licensed. https://foodtecsolutions.com/blog/2025/12/12/reports-every-pizzeria-should-analyze/ · retrieved 2026-09-04

D
Partial

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

A retention window is stated: 'Sales Forecasting tracks historical sales data of the last five years to help you make data-driven decisions', with trends in both dollars and quantities sold. Shortfall: five years is documented for the sales history that feeds forecasting and trend analysis, not for transaction-level detail queryable in the reporting UI, and nothing addresses truncation or an archive retrieval fee. https://web1.foodtecsolutions.com/solutions/salesForecast · retrieved 2026-09-04

C
Partial

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

Shortfall: documented anomaly alerting is confined to inventory. InventoryIQ carries an 'Excessive Variance Configuration' with a tolerated variance per item — 'If an item you're counting has an excessive variance then it has surpassed the tolerated variance it can have' — an 'excessive variances' screen that 'pops up before a count submission', plus 'Hidden Expected Variances' and 'Intuitive Catch Weight Alerts'. The broader loss-prevention claim of 'alerts when key thresholds are broken' across sales and employee exceptions appears only on a marketing page; nothing documents which thresholds are configurable, who is notified, or by what channel. https://web1.foodtecsolutions.com/solutions/inventoryIQ · retrieved 2026-08-02 adversarially verified

C
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

The only shipped AI is a campaign-copy assistant; no NL query over the operator's own data is claimed. || 324th: NEW: FoodTec does ship an AI assistant, but its published scope is content generation, not querying the operator's own data. https://foodtecsolutions.com/blog/2026/07/29/ai-for-pizzerias-practical-ways-to-save-time/ (WP modified 2026-07-29): "If you're a FoodTec customer using Target Market, you already have access to FoodTec's AI Assistant (pictured below) for creating email and SMS campaigns." Tokenised controls across the corpus: 'natural language' = 0, 'ask a question' = 0, 'chatbot' = 0, 'AI Assistant' = 1 (the sentence above). The reporting surface FoodTec does publish is fixed-report and dashboard shaped -- named reports Control Sales, Secure Action Log, Tax Summary, Tax Detail, Attendance Compliance, Employee Salaries, Labor Summary, Item Sales, Sales Comparison (blog 2025-12-12), plus the Data Warehouse Dashboard reportlets on web1.foodtecsolutions.com/solutions/dwDashboard. Not `no`: a marketing corpus is not a feature census. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
Partial

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

Single customer database supports market segmentation and loyalty history; new-vs-returning counts and LTV cohorts are not documented as reports. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
Partial

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

Demand-based scheduling implies an internal forecast consumed by the labor workflow; a forward sales forecast exposed in the reporting UI is not documented. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-01

E
Partial

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

The Employee Management page's bullet list claims the platform 'Tracks payroll including overtime & holidays' and 'tracks tipping and allocates accordingly' — tip tracking plus allocation, asserted at marketing grade only. Shortfall: none of the claim's payroll/tax outputs is documented anywhere — no declared-versus-charged tip breakdown per employee, no tip-pool distribution detail, no tax liability summary by jurisdiction. The Performance Reporting page (dashboard KPIs on transactions, sales, costs, discounts) and the web1 DW Dashboard product page carry no tip or tax content at all. https://foodtecsolutions.com/employee-management/ · retrieved 2026-08-04

D

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

An enterprise level above the store exists and is reportable and permissionable: the Data Warehouse Dashboard 'collects and displays information from every store in your enterprise', supports store-versus-store and store-versus-benchmark comparison, and dashboards can be made 'accessible only to a district manager or any other decision-maker'; Menu Manager and Loyalty accrual rules both act on selected store subsets. Shortfall: only enterprise and store appear as named objects - no third level (region or group) is documented as a first-class object that reporting and permissions attach to; the district-manager case is dashboard sharing to a person, not a hierarchy node. https://web1.foodtecsolutions.com/solutions/dwDashboard · retrieved 2026-09-04

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

A corporate menu is authored once and pushed: 'All menu changes in pricing, offerings etc., are applied once through Menu Manager and are then reflected in your online and POS menu(s)', with the operator choosing 'the whole store chain or... selected stores' and an activation date. Shortfall: the documented delivery model routes changes through FoodTec's own Menu Manager team ('our exclusive Menu Manager team oversees and implements menu changes for you'; self-implementation requires FoodTec training), and no publish or version history showing what was pushed, when and by whom is documented. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-09-04

C
Partial

Corporate menu items expose per-field override rules so a location can change some attributes (e.g. price, availability) while corporate locks others (e.g. name, image, recipe), and locked fields are not editable at store level. differentiator

multi-location-local-override-policy

Per-location and per-surface variation is supported: 'Adding a new item to a single store but not the entire chain?', 'you can choose to implement menu changes to selected stores statewide or nationwide' for demographic price fine-tuning, and web-only or store-only changes. Shortfall: no per-field override policy - nothing lets corporate lock name, image or recipe while leaving price and availability editable at store level, and store-level editing rights are not described at all since changes run through the Menu Manager team. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-09-04

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

Menu Manager documents per-location-group price differences as a supported outcome: 'you can change your items' price and ingredients' and 'You can choose to implement menu changes to selected stores statewide or nationwide', with new listings live 'on the date of your choice'; the integrations page separately documents 'different pricing for delivery platforms'. Shortfall: changes are executed by FoodTec staff ('Our exclusive Menu Manager team oversees and implements menu changes for you'), no self-serve price-tier/zone object is documented, daypart pricing appears nowhere, and whether per-store prices avoid duplicating the item record is unstated. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-08-03

C
Partial

Menu, price, and promo changes can be scheduled to activate at a future date/time interpreted in each target location's own timezone, and can be rolled back after activation. differentiator

multi-location-scheduled-publish

The web1 Menu Manager page documents future-dated activation — new listings go live 'on the date of your choice'. Shortfall: no statement that the activation time is interpreted in each target location's own timezone, and no rollback-after-activation workflow is documented. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-08-04

C
Partial

A new location can be provisioned by cloning a documented configuration template (menu, taxes, roles, printers, modifiers, tenders) rather than being configured from scratch, and the vendor publishes the expected time-to-open. differentiator

multi-location-new-store-template

Marketing page: 'We work with you to configure our systems to match the winning formula that you have already established. When rolling out that new store, operational and marketing processes have already been baked into your FoodTec platform, reducing ramp-up and training time.' That is a vendor-assisted setup service, not a documented clone-a-template object, and no expected time-to-open is published anywhere on the site. https://foodtecsolutions.com/delivery-pizza-multi-unit-restaurant-pos/ · retrieved 2026-08-08

D
Unknown

The permission model distinguishes a franchisor/corporate tenant from an independently-owned franchisee tenant, so corporate can see franchisee sales and enforce config while the franchisee owns its own employees, banking, and labor data. differentiator

multi-location-corp-vs-franchisee-roles

Checked 2026-08-04: no page describes a permission model distinguishing a franchisor/corporate tenant from an independently-owned franchisee tenant with separate employee/banking/labor data ownership; the icp description (multi-unit chains and franchise groups) is a market-positioning statement, not a documented role model. Unresolved.

F
No

Calculates franchise royalty, ad-fund, and marketing-fee amounts automatically from POS net sales on a defined schedule, with a configurable royalty basis (gross vs net of discounts/comps/third-party). differentiator

multi-location-royalty-calculation

Overturned from unresolved. This is FoodTec's own multi-unit pitch page and its enterprise story is central configuration and drill-down reporting, with no franchise financial layer. The census makes the absence positive rather than merely unobserved: `franchisee` and `ad fund` occur zero times, tokenised, across all three corpora read this session, and the two `royalty` matches in 233 documents are both the royalty-free licence boilerplate in the DeliveryIQ and InventoryIQ privacy policies. A vendor whose stated ICP is franchise groups publishing nothing at all on royalty basis or schedule, across a corpus closed in both directions, is evidence of absence. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/delivery-pizza-multi-unit-restaurant-pos/ · retrieved 2026-09-10

C
No

Supports automated ACH/debit collection of calculated royalties and fees from franchisee accounts, with a franchisee-visible statement of what was charged.

multi-location-royalty-collection

Overturned from unresolved. Collection presupposes the calculation this record now scores `no`, and the same census applies: `franchisee` and `ad fund` read zero across all three corpora and the only two `royalty` matches are privacy-policy licence boilerplate. No automated ACH or debit collection of fees from franchisee accounts and no franchisee-visible statement of charges appears on the multi-unit page, in the 29-module web1 catalogue, or anywhere else in the 233-document corpus. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/delivery-pizza-multi-unit-restaurant-pos/ · retrieved 2026-09-10

C
Yes

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

Enterprise reporting aggregates across stores with drill-down to a single store and transaction; store-vs-store ranking and variance flags are not specifically documented. https://foodtecsolutions.com/performance-reporting/ · retrieved 2026-08-01

D
Unknown

Item-level sales roll up across locations under a shared corporate item ID even when stores have renamed or locally priced the item. differentiator

multi-location-normalized-item-rollup

Re-checked 2026-09-04. The Data Warehouse Dashboard compares stores and reports sales per menu category chain-wide, and Menu Manager holds the chain menu centrally, but nothing addresses the actual proposition - whether item-level sales still roll up under a shared corporate item ID once a store has renamed or locally repriced the item. Inferring it from central menu authorship would be a guess. Unresolved.

F
Partial

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

Gift cards are 'Redeemable 24/7' for any order type and online ordering advertises 'Chain support'; brand-wide redemption, liability reporting and inter-store settlement are not explicitly documented. https://foodtecsolutions.com/gift-cards-egifts/ · retrieved 2026-08-01

D
Partial

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

A single customer database spans channels; explicit cross-location sharing of balance and history is implied by chain support but not stated. https://foodtecsolutions.com/loyalty-programs/ · retrieved 2026-08-01

D
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

Checked 2026-08-04: no page describes a single location or terminal operating two or more distinct brands or virtual brands with separate menus, receipts, and separately reportable revenue on shared hardware. Unresolved.

F
Partial

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

Partly met, as seen in FoodTec's own online ordering client (the shipped code, version cwo-1.0.92). Several tax rates can apply to one order at the same time. Each order carries a list of tax-rate groups, and each group is a named taxable subtotal holding several separate taxes, each with its own name and amount. The checkout and receipt show that breakdown line by line when the store's settings turn on itemizeTaxRates; otherwise they show a single combined tax. The chain's stores are loaded one by one, each with its own settings (/ws/integrated/v1/ordering/config/chain/stores). Shortfalls: the only per-store tax setting the client shows is that display switch. The rates are calculated on FoodTec's servers and the client only shows the results, so nothing shows where rates are set up for each location or how they are administered. Nothing shows jurisdiction-specific rules such as prepared food vs grocery, tax-inclusive vs added-on pricing, or per-location tax exemptions. The words jurisdiction, exempt, inclusive, county, VAT and grocery do not appear in the three files checked. This is the consumer ordering client, not the POS back office. Upgrading to yes would need back-office or help-centre documentation of per-store rate setup, inclusive tax and exemptions. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/581.3cad58f16e05eb3e.js · retrieved 2026-09-15 adversarially verified

A
Partial

Produces an immutable audit log of who changed which configuration object (price, tax, permission, discount) at which location and when, exportable or queryable by corporate. differentiator

multi-location-config-audit-log

FoodTec PA-DSS Implementation Guide v2.0 (revised 2013-11-19; Wayback capture 2015-07-19, v9.1 manual) s3.1: access to each Secure-Task function is written to an Audit log recording the task, 'the specific preference setting being changed and the new value', allow/deny, time, who ('if known'), and machine or IP; s3.1.1: the optional Data Warehouse holds the Audits of each store for five years and can export them for all stores. Shortfall: the only source is a decade-old manual with no current corroboration; immutability isn't documented, and the guide says logging 'may be selectively or completely disabled'; coverage is limited to Secure-Task functions, and price, tax and discount objects aren't named; location isn't a per-record field and cross-store review needs the separate Data Warehouse. https://web.archive.org/web/20150719233024id_/http://www.foodtecsolutions.com:80/docs-9.1/released/ads/security/docs/ImplementationGuide.html · retrieved 2026-09-12 adversarially verified

B
Partial

Publishes a documented multi-location API (or data warehouse/BI export) that returns transaction-level data across all locations in one authenticated call, without per-location credentials. differentiator

multi-location-enterprise-api

A single cross-location data surface exists: the Data Warehouse Dashboard is 'a web application that collects and displays information from every store in your enterprise', fed in real time by the POS, Delivery IQ and Target Market, for chains up to 'a triple-digit store chain'. Shortfall: it is a dashboard, not a published API - no documented multi-location endpoint returns transaction-level data across all locations in one authenticated call, and API access itself runs through a promulgated Restaurant API Use Agreement scoped to 'a specified Licensed Restaurant'. https://web1.foodtecsolutions.com/solutions/dwDashboard · retrieved 2026-09-04

C
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

Checked 2026-08-04: the web1 Labor Scheduler page documents scheduling, an Overtime Predictor, and time-off workflows per store, but no page describes labor rules (overtime, break enforcement, predictive-scheduling compliance) configured centrally per location group and enforced at the terminal. Unresolved.

F

Hardware & physical footprint

Partial

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

Shortfall: the companion surfaces are commodity — Delivery IQ, Inventory IQ and FoodTec IQ install on ordinary consumer iOS and Android devices from the public app stores, with no FoodTec-supplied device required. The POS terminal is not. The T&C's Products list has FoodTec supplying 'POS terminals, EMV terminals, cameras, printers, monitors, registers, servers, firewalls and network storage devices', and makes the client responsible for 'installation of the requisite dedicated AC power circuits, network cabling and internet service'. No bring-your-own-terminal option, hardware specification or approved-device list is published anywhere on the site. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-02 adversarially verified

B
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

Shortfall: the mobile platforms are now established first-hand. The App Store compatibility block for Delivery IQ (seller Foodtec Solutions Inc) requires iOS 15.6+ on iPhone, iPad and iPod touch, plus macOS 12.5+ on Apple silicon and visionOS 1.0+; FoodTec IQ requires iOS 15.6+. FoodTec ships Android builds too — its own product page calls Inventory IQ 'an Android app', and Play packages com.foodtec.deliveryapp, com.foodtec.inventoryapp and com.foodtecsolutions.foodteciq are published under Foodtec Solutions Inc. Administration is web-based. What remains unpublished is the operating system of the POS terminal itself. The earlier Windows-on-premise element is struck as unsourced. https://apps.apple.com/us/app/foodtec-delivery-iq/id668577040 · retrieved 2026-08-02 adversarially verified

B
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

Re-checked 2026-09-04. The only hand-held content FoodTec publishes is a 2025-09-09 blog post advocating mobile POS devices generically, with no FoodTec device named; the T&C's Hardware definition lists POS terminals, EMV terminals, cameras, printers, bump screens, drawers and servers but no hand-held. No drop rating, no IP rating, no integrated-reader handheld is published. Unresolved.

F
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

Checked 2026-08-04: no purpose-built FoodTec handheld exists (hardware-handheld-purpose-built, already scored unknown) — driver workflows run DeliveryIQ on personal phones — so no battery-swap or rated-battery-life documentation applies. Unresolved.

F
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

Checked 2026-08-04: same absence of a purpose-built handheld; the App Store listings for Delivery IQ and FoodTec IQ (already reviewed for OS requirements) say nothing about cellular fallback when store Wi-Fi drops. Unresolved.

F
Partial

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

The FoodTec Solution is contractually 'on-premise Software and Software-as-a-Service applications', with on-site servers, proxy servers, firewalls and NAS supplied as Hardware, so terminals are served locally rather than from the cloud. Shortfall: the vendor documents nothing about which functions degrade with the internet down - card authorisation, loyalty lookup and refunds are not addressed anywhere public. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

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

Kitchen Systems is a first-party product with touch or bump-bar configurations, station/course status, KPI display and rush/late alerts. https://foodtecsolutions.com/kitchen-systems/ · retrieved 2026-08-01

D
Partial

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

FoodTec offers an in-store self-order kiosk on a dedicated tablet. Shortfall: only one form factor (tablet) is described - no countertop and freestanding range - the menu engine is the web store's rather than the POS's, and neither integrated payment nor ADA compliance is documented. https://web1.foodtecsolutions.com/solutions/webOrdering · retrieved 2026-09-04 adversarially verified

C
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

Checked 2026-08-04: the T&C's Exhibit B hardware list ('POS terminals, EMV Terminals, cameras, printers, bump screens, monitor displays, register drawers, servers, proxy servers, firewalls, Network Attached Storage devices, barcode scanners, video splitters and similar peripherals') names no outdoor menu board, order-confirmation display, or speaker/headset hardware, and no drive-thru product content exists anywhere on the site (order-capture-drive-thru, already scored unknown). Unresolved. || 324th: NEW: FoodTec names a drive-thru MODULE but publishes no drive-thru hardware. https://foodtecsolutions.com/fast-casual-qsr-single-unit-restaurant-pos/ -- "With optional QSR modules for Drive thru, Kitchen Display Systems, Web Ordering, Target Marketing, Delivery Apps, Inventory Tracking, cloud-based reporting and even Loss Prevention, we can grow with you." Tokenised controls across the corpus: 'menu board' = 0, 'order confirmation display' = 0, 'headset' = 0, 'speaker post' = 0, 'presenter' = 0, 'outdoor display' = 0. The only speed-of-service instrument published is OTD (Out-The-Door), not drive-thru segments: web1.foodtecsolutions.com/solutions/dwDashboard "OTD Performance -- The OTD reportlet shows you how long it takes for an order to get out of the door (OTD) from the moment it is placed." Held unknown, not `no`: a module is named and its hardware is simply undocumented. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
Partial

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

The Hardware definition covers 'printers, bump screens, monitor displays, register drawers, servers, proxy servers, firewalls, Network Attached Storage devices' supplied by FoodTec, section 5(a) passes through 'any supplier or manufacturer warranties' (so the printers are third-party manufactured), and Exhibit B contemplates hardware the operator buys elsewhere ('Hardware purchased from others is not covered'), i.e. non-FoodTec printers are usable but unsupported. Shortfall: no printer manufacturer is named, ESC/POS conformance is not stated, and LAN/Ethernet printer support is not documented. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
Partial

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

The T&C's Exhibit B hardware list documents cash drawers and barcode scanners as part of the standard supplied set: 'POS terminals, EMV Terminals, cameras, printers, bump screens, monitor displays, register drawers, servers, proxy servers, firewalls, Network Attached Storage devices, barcode scanners, video splitters and similar peripherals'. Shortfall: no published compatibility list, no explicit multi-drawer-per-terminal statement, and no scale/by-weight-item or customer-facing-display peripheral is named (video splitters suggest dual-display wiring but the customer-facing-display use case itself is never stated). https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-04

B
Partial

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

FoodTec supplies 'EMV Terminals' as first-party Hardware under the Sales Contract. Shortfall: no PCI PTS device listing, no validated P2PE solution listing, and no statement of the merchant's resulting SAQ type; the T&C instead places PCI compliance on the client ('Client will comply with security best practices, PCI regulations'). https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
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

Checked 2026-08-04: FoodTec is processor-agnostic and no page describes phone-based contactless card acceptance without a separate reader; matches payments-softpos-tap-to-pay, same research pass, same absence. Unresolved.

F
No

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

hardware-pricing-transparency

No hardware SKU prices are published anywhere; hardware terms live in the Sales Contract, and the T&C notes hardware pricing may be 'adjusted without notice'. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Yes

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

Both models are stated: outright purchase (30-day return window, 20% restocking on unused, up to 70% on used) and Hardware-as-a-Service, where devices 'remain the property of FoodTec' for the term. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
No

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

Upheld, and this is now one of the few cells in the corpus where the vendor's documentation answers the question explicitly and answers it the wrong way. The claim is satisfied by documentation confirming hardware stays usable with other software after cancellation; FoodTec's terms reserve the opposite right. On an Event of Default, FoodTec may 'remotely disable or remove the FoodTec Solution in the entirety and/or any FoodTec Products, if any, rendering them inoperable by, or inaccessible to Client'. And the leasing route never conveys title in the first place: 'Hardware-as-a-Service' is defined as 'FoodTec's provision of Hardware to a FoodTec Restaurant for a term bearing a monthly fee as identified in a Sales Contract'. Note the search trap -- the abbreviation `haas` reads zero across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026 because the terms always hyphenate the phrase, so an acronym sweep would have missed the definition entirely. `software locked`, `bricked` and `return the equipment` are likewise zero, and no clause anywhere states that purchased hardware runs third-party software after termination. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-09

B
Partial

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

An RMA process exists and manufacturer warranties pass through, but there is no advance-exchange program and no stated turnaround time; the client pays return shipping. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

hardware-byod

BYOD is the de facto driver model — staff run DeliveryIQ on personal phones — but no permission or security model is published, and drivers cite a broken privacy-policy link and broad app permissions. https://www.reddit.com/r/TalesFromThePizzaGuy/comments/2ntg9x/foodtec_iq_app_review_and_discussion/ · retrieved 2026-08-01 · not refetchable · site policy · graded D when read

E
Partial

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

Exhibit A bundles '24/7 System Monitoring' into Support Services, and section 5(b) requires Hardware-as-a-Service clients to cooperate with FoodTec's 'diagnostic, update, and return (RMA) processes' - so remote monitoring and remote update exist as vendor-operated processes. Shortfall: no operator-facing device console showing terminal/printer/KDS online-offline state, no remote reboot, no software-version visibility and no staged rollout control is documented; the monitoring is FoodTec's, not the operator's. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
Partial

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

The FoodTec 9.5 release page documents telephony integration: 'FoodTec continues to partner with VOIP providers to reduce hardware needs and pass Caller ID directly to the POS.' Shortfall: no VOIP provider is named, and the page does not state that the incoming call pops the customer record and order history at the POS - only that the Caller ID reaches it. https://foodtecsolutions.com/latest/ · retrieved 2026-09-04

D

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

Access is contractually gated before documentation: a Linked Application requires that 'FoodTec has obtained a API License and Linking Agreement'. info.foodtecsolutions.com is a login wall with no public reference. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

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

Re-checked 2026-09-04. The T&C establishes that API use sits outside the base licence grant and runs through a promulgated Restaurant API Use Agreement (recorded as a `no` on reporting-api-not-upcharged, which explicitly excludes a separate contract). This claim asks a narrower question - whether there is an additional fee, surcharge or plan upgrade - and FoodTec discloses no API fee in either direction. A contract gate is not a price, so the cost question is genuinely unresolved. || 324th: NEW: the rebuilt master agreement https://foodtecsolutions.com/terms/ (WP modified 2026-04-20; a different document from the older /termsandconditions/) defines TWO separate contracts that gate API use, neither priced: "'API License and Linking Agreement' means an agreement in a form promulgated by FoodTec under which a Third Party is permitted to use one or more FoodTec APIs and Confidential Information to establish its application as a Linked Application that may be offered to Licensed Restaurants generally, or a subset", and "'Restaurant API Use Agreement' means an agreement in a form promulgated by FoodTec under which Client may, either through Client Personnel or a Third Party, use an 'AS IS' FoodTec API to interact with the Restaurant Data for a specified Licensed Restaurant, whether to establish a Linked Application or Data Export." The scope unit is the Licensed Restaurant, i.e. per location. Sec.18: "Client shall not disclose, copy, reverse engineer, or create derivative works of the Software or APIs." No fee, surcharge or plan tier is stated, and no price list is published (foodtecsolutions.com/pricing 404s), so the cell cannot be settled in either direction. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. || 326th: Cell NOT moved; what is new is that the reason is now a measured fact about FoodTec's publishing model rather than an inference. FoodTec keeps TWO documentation surfaces and gates BOTH: an Outline wiki behind a login and an e-mail-gated 'Documentation Area'. No price list, tier or API-fee schedule can be reached without a customer relationship, and no anonymous specification exists on either of the vendor's two domains. NEW SURFACES MEASURED (326th) - all four are new to the record and none of them yielded product documentation; recording them so the next pass does not re-find them. (1) wiki.foodtecsolutions.com, the product manual: the BAR TYPE was checked with curl as ordered and it is a GENERIC 'User-agent: * / Disallow: /' with no crawler named, so robots is NOT the obstacle and the standing order would permit reading it like a browser - but the wiki is an Outline instance that AUTHENTICATES: / returns 302 to /login, /login is the only 200 (819 bytes, a sign-in page), and /search, /sitemap.xml, /api.php, /index.php, /doku.php, /wiki and /share/<id> all return 403 to an anonymous browser-UA client. No login was attempted. The Wayback CDX index for wiki.foodtecsolutions.com* returns an EMPTY array - zero captures have ever been taken - so there is no retired public copy either. This surface is permanently closed to us, and that is an authentication fact, not a robots fact. (2) docs.foodtecsolutions.com is LIVE and new (200, 405 bytes): a 'Documentation Area' form that takes a name and e-mail behind a reCAPTCHA and, verbatim, 'Please enter your email address correctly / to send you a link to your Documentation'. FoodTec therefore DOES maintain customer documentation and distributes it by e-mailed link on request; it publishes none of it. No submission was made. (3) pizzadirector.net is a SECOND FoodTec-owned domain, found because lab13.foodtecsolutions.com 301s to lab13.pizzadirector.net. crt.sh returns 38 names on it (demo1-demo12, foodtec-pizza, foodtec-qsr, lab9, lab13, lab16, penelope, thrax, order.lab13, plus www. variants). Probed every resolving host for /swagger/index.html, /openapi.json, /api/swagger.json and /docs: lab13 and lab16 301 to /ordering/ and 404 all four spec paths against a discriminating 404; foodtec-pizza 301s every path to foodtecsolutions.com; foodtec-qsr returns 200 with a zero-byte body at / and 404 elsewhere; demo1 has an EXPIRED certificate; penelope and thrax time out. The apex pizzadirector.net serves a 158 KB Angular page titled 'FoodTec Demo | Home | Glen Ellyn, IL' - the same customer ordering SPA the 325th already source-mapped, linking the Play listing com.foodtec.customer_app. No specification, no API surface, no back-office app on this domain. (4) TWO SOFT-200 / REFUSAL CONTROLS worth not repeating: css-pizza-man.foodtecsolutions.com is a CATCH-ALL - /admin, /manager, /backoffice, /bo, /pos, /api, /api/docs, /swagger-ui.html, /v3/api-docs, /actuator and /zzz-nope ALL return the identical 484,150-byte SPA shell, so a 200 on that host proves nothing; and cdn.foodtecsolutions.com now 403s every path to curl with a browser UA (it served the 325th), which is a refusal and not an absence - the 39-entry webpack chunk table in the cached runtime.d32047897c14b66e.js could not be walked because all 39 chunk URLs 403 today. css-edit-mode's main-3PDUFAL5.js.map is a soft 200: it returns 55,409 bytes of HTML beginning '<!DOCTYPE html>', byte-identical to the nonsense control zzz-nope.js.map. Retrieved 2026-09-18. adversarially verified

F
No

The vendor publishes its partner/marketplace commercial terms (referral fee, revenue share percentage, or per-location partner fee) in public documentation.

extensibility-partner-revshare

The claim is about what the vendor publishes, so an enumeration of what it publishes is dispositive. The foodtecsolutions.com sitemap index was dumped in full on 2026-09-04 (202 URLs across the post, page and store sitemaps) and contains no partner, developer or marketplace-terms page. The T&C affirmatively routes partner commercial terms into a bilateral instrument instead: third-party API use is permitted only under an 'API License and Linking Agreement' 'in a form promulgated by FoodTec', and section 16 makes the FoodTec Solution and all related information confidential. No referral fee, revenue share or per-location partner fee is published anywhere. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
No

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

extensibility-free-sandbox

Overturned from unresolved. The published Terms and Conditions gate every third-party touch of a FoodTec API behind an executed bilateral document: the API License and Linking Agreement is defined as an agreement 'in a form promulgated by FoodTec under which a Third Party is permitted to use one or more FoodTec APIs' and Confidential Information. A contract executed before first use is structurally incompatible with a sandbox available to a developer who does not hold a paid production account. `sandbox` occurs zero times across the 233 first-party prose documents; its only two occurrences anywhere are inside the shipped client, where both are Sentry's 'Could not create sandbox iframe for pure fetch check' warning -- a third-party library string, not a FoodTec developer environment. developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
No

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

Overturned from unresolved. The claim asks for OPERATOR-granted, scoped, individually revocable permissions. The published Terms and Conditions place the grant in the opposite party's hands: a Third Party may use a FoodTec API only under an agreement 'in a form promulgated by FoodTec', and a Linked Application is defined as one 'that interacts with one or more FoodTec APIs' under that instrument. The restaurant's own access runs through a separate Restaurant API Use Agreement. Access is therefore vendor-granted by contract, not operator-granted by scope. A caution against a false zero: `OAuth` is NOT absent from FoodTec's estate -- the shipped ordering client posts to /oauth/token/authenticate and logs 'has logged in using an oauth token' -- but that is consumer social sign-in on the guest ordering site, not a partner-app authorisation model, and reading it as one would be the error this cell has been avoiding. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
Unknown

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

extensibility-webhooks-push

Checked 2026-08-03: no public API surface exists on which event delivery could be documented — the T&C describes 'Linked Applications' interacting with FoodTec APIs under an executed API License but says nothing about webhooks, the info.foodtecsolutions.com portal is a login wall, and searches for FoodTec webhook or event documentation return nothing (Cyclr's third-party connector guide likewise describes no event push). Push versus polling cannot be determined. Unresolved. || 324th: NEW: tokenised, word-boundary, case-insensitive controls over the 230-document corpus return 0 hits for 'webhook', 'webhooks', 'callback URL', 'subscribe to events' and 'event stream'; the single 'push notification' occurrence is the /terms/ Messaging Services definition and concerns consumer messaging, not integration events. FoodTec's published integration model is the opposite shape: https://foodtecsolutions.com/3rd-party-integrations/ (WP modified 2026-02-18) has FoodTec pushing menus and prices OUT to DoorDash/Grubhub/Uber Eats and pulling orders IN ("Orders go straight into your POS, reducing mistakes"), with no customer-supplied endpoint. This is a FLOOR, not a census -- FoodTec publishes no API reference at all -- so the absence cannot carry a `no`. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. || 325th: NEW SURFACE (325th): FoodTec's production ordering bundle (https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js, HTTP 200, text/javascript, 2,508,928 bytes, fetched 2026-09-17; the same build is referenced by live tenant sites) ships a real-time PUSH channel, but it is a browser WebSocket, not an outbound webhook. Shipped: core/web-socket-config.model.ts, core/web-socket-message.model.ts and core/web-socket-message-type.enum.ts = a closed list { SUBSCRIBE, UNSUBSCRIBE, BROADCAST, FROM_CLIENT, SERVER_ERROR, HEARTBEAT } over endpoints /ws/socket/websocket and /ws/socket/ordering/websocket, used by order-tracker to stream status to the guest. There is no customer-supplied endpoint URL, no HTTP callback registration, no retry/backoff policy and no payload signature anywhere: tokenised controls over the 1,538,218-byte own-source corpus (545 non-vendored files) give 'webhook' 0, 'callback URL' 0, 'HMAC' 0. So FoodTec has push INFRASTRUCTURE the old note could not see, and still no evidence of a partner-facing webhook. FLOOR, NOT CENSUS -- this is the guest ordering client, not an API reference; FoodTec publishes none. PROVENANCE, STATED HONESTLY: the file-level source names and bodies quoted here come from a source map of FoodTec's 'latte' ordering bundle (main.4e8dc9d78c1cace4.js, 962 sources of which 545 non-vendored, full sourcesContent) captured earlier in this session; I could NOT re-fetch any .js.map today -- every map path on cdn.foodtecsolutions.com answers with S3 <Code>AccessDenied</Code> (403, 111 bytes) although the bundles declare //# sourceMappingURL=, and the css-* tenant hosts return a soft-200 SPA shell for both <bundle>.js.map and zzz-nope.js.map (identical 855,754 bytes). So I re-verified every quoted token against the LIVE bundle I fetched myself, https://cdn.foodtecsolutions.com/pdirect/latte/9.5.89/11701/main.9b1b8680593498fa.js (HTTP 200, 2,508,928 bytes, 2026-09-17): 'Drive Thru', 'PUSH_NOTIFICATIONS', 'chinaUnionPay', 'allowHalves', 'right half', 'Gift Reload', 'HEARTBEAT', 'deliveryCompanies' and 'applePay' are each present in it. The citable URL of record for code evidence is that bundle. Retrieved 2026-09-17. || 326th: Cell NOT moved. NEW this pass: the second FoodTec domain (pizzadirector.net) was censused for anonymous specs and holds none, so the 324th's 'floor, not census' position is now bounded across BOTH domains the vendor owns rather than one. FoodTec publishes no developer documentation at all; what it has is mailed on request. NEW SURFACES MEASURED (326th) - all four are new to the record and none of them yielded product documentation; recording them so the next pass does not re-find them. (1) wiki.foodtecsolutions.com, the product manual: the BAR TYPE was checked with curl as ordered and it is a GENERIC 'User-agent: * / Disallow: /' with no crawler named, so robots is NOT the obstacle and the standing order would permit reading it like a browser - but the wiki is an Outline instance that AUTHENTICATES: / returns 302 to /login, /login is the only 200 (819 bytes, a sign-in page), and /search, /sitemap.xml, /api.php, /index.php, /doku.php, /wiki and /share/<id> all return 403 to an anonymous browser-UA client. No login was attempted. The Wayback CDX index for wiki.foodtecsolutions.com* returns an EMPTY array - zero captures have ever been taken - so there is no retired public copy either. This surface is permanently closed to us, and that is an authentication fact, not a robots fact. (2) docs.foodtecsolutions.com is LIVE and new (200, 405 bytes): a 'Documentation Area' form that takes a name and e-mail behind a reCAPTCHA and, verbatim, 'Please enter your email address correctly / to send you a link to your Documentation'. FoodTec therefore DOES maintain customer documentation and distributes it by e-mailed link on request; it publishes none of it. No submission was made. (3) pizzadirector.net is a SECOND FoodTec-owned domain, found because lab13.foodtecsolutions.com 301s to lab13.pizzadirector.net. crt.sh returns 38 names on it (demo1-demo12, foodtec-pizza, foodtec-qsr, lab9, lab13, lab16, penelope, thrax, order.lab13, plus www. variants). Probed every resolving host for /swagger/index.html, /openapi.json, /api/swagger.json and /docs: lab13 and lab16 301 to /ordering/ and 404 all four spec paths against a discriminating 404; foodtec-pizza 301s every path to foodtecsolutions.com; foodtec-qsr returns 200 with a zero-byte body at / and 404 elsewhere; demo1 has an EXPIRED certificate; penelope and thrax time out. The apex pizzadirector.net serves a 158 KB Angular page titled 'FoodTec Demo | Home | Glen Ellyn, IL' - the same customer ordering SPA the 325th already source-mapped, linking the Play listing com.foodtec.customer_app. No specification, no API surface, no back-office app on this domain. (4) TWO SOFT-200 / REFUSAL CONTROLS worth not repeating: css-pizza-man.foodtecsolutions.com is a CATCH-ALL - /admin, /manager, /backoffice, /bo, /pos, /api, /api/docs, /swagger-ui.html, /v3/api-docs, /actuator and /zzz-nope ALL return the identical 484,150-byte SPA shell, so a 200 on that host proves nothing; and cdn.foodtecsolutions.com now 403s every path to curl with a browser UA (it served the 325th), which is a refusal and not an absence - the 39-entry webpack chunk table in the cached runtime.d32047897c14b66e.js could not be walked because all 39 chunk URLs 403 today. css-edit-mode's main-3PDUFAL5.js.map is a soft 200: it returns 55,409 bytes of HTML beginning '<!DOCTYPE html>', byte-identical to the nonsense control zzz-nope.js.map. Retrieved 2026-09-18. adversarially verified

F
No

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

Overturned from unresolved. The claim requires signing AND documented retry AND a replayable event log -- all three are documentation propositions. `webhook` occurs zero times, tokenised, across all three corpora read this session, including the 2.5 MB shipped ordering client, which does open a WebSocket (/ws/socket/ordering/websocket) but exposes no outbound event delivery to a customer endpoint. The T&C admits third-party API use only under a bilaterally executed licence, so no public reference exists in which signing or retry could be stated, and no developer subdomain resolves. Control: `ordering` reads 489/64/12 over the same three corpora. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
Partial

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

Third-party marketplace orders inject as POS tickets and the T&C contemplates client-built Linked Applications hitting FoodTec APIs, but no public write-order endpoint is documented. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01

E
Unknown

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

extensibility-menu-write-api

Checked 2026-08-04: the T&C confirms FoodTec APIs and 'Linked Applications' exist under a gated license but no public reference documents any read or write endpoint, menu-related or otherwise; info.foodtecsolutions.com is login-walled. Unresolved. || 326th: Cell NOT moved. NEW this pass: probed every resolving host on both FoodTec domains for /openapi.json, /swagger/index.html, /api/swagger.json, /v3/api-docs and /docs - zero specifications exist anonymously, and the one host that answers 200 on those paths (css-pizza-man) answers 200 on a nonsense path too, so it is a catch-all and not a finding. NEW SURFACES MEASURED (326th) - all four are new to the record and none of them yielded product documentation; recording them so the next pass does not re-find them. (1) wiki.foodtecsolutions.com, the product manual: the BAR TYPE was checked with curl as ordered and it is a GENERIC 'User-agent: * / Disallow: /' with no crawler named, so robots is NOT the obstacle and the standing order would permit reading it like a browser - but the wiki is an Outline instance that AUTHENTICATES: / returns 302 to /login, /login is the only 200 (819 bytes, a sign-in page), and /search, /sitemap.xml, /api.php, /index.php, /doku.php, /wiki and /share/<id> all return 403 to an anonymous browser-UA client. No login was attempted. The Wayback CDX index for wiki.foodtecsolutions.com* returns an EMPTY array - zero captures have ever been taken - so there is no retired public copy either. This surface is permanently closed to us, and that is an authentication fact, not a robots fact. (2) docs.foodtecsolutions.com is LIVE and new (200, 405 bytes): a 'Documentation Area' form that takes a name and e-mail behind a reCAPTCHA and, verbatim, 'Please enter your email address correctly / to send you a link to your Documentation'. FoodTec therefore DOES maintain customer documentation and distributes it by e-mailed link on request; it publishes none of it. No submission was made. (3) pizzadirector.net is a SECOND FoodTec-owned domain, found because lab13.foodtecsolutions.com 301s to lab13.pizzadirector.net. crt.sh returns 38 names on it (demo1-demo12, foodtec-pizza, foodtec-qsr, lab9, lab13, lab16, penelope, thrax, order.lab13, plus www. variants). Probed every resolving host for /swagger/index.html, /openapi.json, /api/swagger.json and /docs: lab13 and lab16 301 to /ordering/ and 404 all four spec paths against a discriminating 404; foodtec-pizza 301s every path to foodtecsolutions.com; foodtec-qsr returns 200 with a zero-byte body at / and 404 elsewhere; demo1 has an EXPIRED certificate; penelope and thrax time out. The apex pizzadirector.net serves a 158 KB Angular page titled 'FoodTec Demo | Home | Glen Ellyn, IL' - the same customer ordering SPA the 325th already source-mapped, linking the Play listing com.foodtec.customer_app. No specification, no API surface, no back-office app on this domain. (4) TWO SOFT-200 / REFUSAL CONTROLS worth not repeating: css-pizza-man.foodtecsolutions.com is a CATCH-ALL - /admin, /manager, /backoffice, /bo, /pos, /api, /api/docs, /swagger-ui.html, /v3/api-docs, /actuator and /zzz-nope ALL return the identical 484,150-byte SPA shell, so a 200 on that host proves nothing; and cdn.foodtecsolutions.com now 403s every path to curl with a browser UA (it served the 325th), which is a refusal and not an absence - the 39-entry webpack chunk table in the cached runtime.d32047897c14b66e.js could not be walked because all 39 chunk URLs 403 today. css-edit-mode's main-3PDUFAL5.js.map is a soft 200: it returns 55,409 bytes of HTML beginning '<!DOCTYPE html>', byte-identical to the nonsense control zzz-nope.js.map. Retrieved 2026-09-18. adversarially verified

F
Unknown

Every core object the API can read (orders, menu, customers, employees, inventory) can also be written or updated via the same API. differentiator

extensibility-data-symmetry

Checked 2026-08-04: same absence of any public API reference; whether any object is readable let alone symmetrically writable cannot be determined from FoodTec's public corpus. Unresolved. || 324th: NEW: https://foodtecsolutions.com/terms/ (modified 2026-04-20) describes the API's data direction only in export terms -- "'Data Export' means the use of a Module or a FoodTec API to export one or more elements of Client Data, menu data, employee data or other data whether to achieve functional integration with a Third Party Product or Service, or otherwise" -- and sec.6(b) adds that the Client's data exclusivity "does not obligate FoodTec to extract or transfer any data". That is export-shaped wording in a legal definition, not an object-by-object read/write inventory, and a terms page settles rights rather than capability. No API reference, OpenAPI spec or developer portal is reachable (see surfaces), so the cell stays unknown. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. || 326th: Cell NOT moved. NEW this pass: no object model of any kind is published by FoodTec. Both of the vendor's documentation surfaces are gated (login wiki, e-mail 'Documentation Area') and neither of its two domains serves an anonymous schema, so read-vs-write symmetry cannot be assessed from any public artefact. NEW SURFACES MEASURED (326th) - all four are new to the record and none of them yielded product documentation; recording them so the next pass does not re-find them. (1) wiki.foodtecsolutions.com, the product manual: the BAR TYPE was checked with curl as ordered and it is a GENERIC 'User-agent: * / Disallow: /' with no crawler named, so robots is NOT the obstacle and the standing order would permit reading it like a browser - but the wiki is an Outline instance that AUTHENTICATES: / returns 302 to /login, /login is the only 200 (819 bytes, a sign-in page), and /search, /sitemap.xml, /api.php, /index.php, /doku.php, /wiki and /share/<id> all return 403 to an anonymous browser-UA client. No login was attempted. The Wayback CDX index for wiki.foodtecsolutions.com* returns an EMPTY array - zero captures have ever been taken - so there is no retired public copy either. This surface is permanently closed to us, and that is an authentication fact, not a robots fact. (2) docs.foodtecsolutions.com is LIVE and new (200, 405 bytes): a 'Documentation Area' form that takes a name and e-mail behind a reCAPTCHA and, verbatim, 'Please enter your email address correctly / to send you a link to your Documentation'. FoodTec therefore DOES maintain customer documentation and distributes it by e-mailed link on request; it publishes none of it. No submission was made. (3) pizzadirector.net is a SECOND FoodTec-owned domain, found because lab13.foodtecsolutions.com 301s to lab13.pizzadirector.net. crt.sh returns 38 names on it (demo1-demo12, foodtec-pizza, foodtec-qsr, lab9, lab13, lab16, penelope, thrax, order.lab13, plus www. variants). Probed every resolving host for /swagger/index.html, /openapi.json, /api/swagger.json and /docs: lab13 and lab16 301 to /ordering/ and 404 all four spec paths against a discriminating 404; foodtec-pizza 301s every path to foodtecsolutions.com; foodtec-qsr returns 200 with a zero-byte body at / and 404 elsewhere; demo1 has an EXPIRED certificate; penelope and thrax time out. The apex pizzadirector.net serves a 158 KB Angular page titled 'FoodTec Demo | Home | Glen Ellyn, IL' - the same customer ordering SPA the 325th already source-mapped, linking the Play listing com.foodtec.customer_app. No specification, no API surface, no back-office app on this domain. (4) TWO SOFT-200 / REFUSAL CONTROLS worth not repeating: css-pizza-man.foodtecsolutions.com is a CATCH-ALL - /admin, /manager, /backoffice, /bo, /pos, /api, /api/docs, /swagger-ui.html, /v3/api-docs, /actuator and /zzz-nope ALL return the identical 484,150-byte SPA shell, so a 200 on that host proves nothing; and cdn.foodtecsolutions.com now 403s every path to curl with a browser UA (it served the 325th), which is a refusal and not an absence - the 39-entry webpack chunk table in the cached runtime.d32047897c14b66e.js could not be walked because all 39 chunk URLs 403 today. css-edit-mode's main-3PDUFAL5.js.map is a soft 200: it returns 55,409 bytes of HTML beginning '<!DOCTYPE html>', byte-identical to the nonsense control zzz-nope.js.map. Retrieved 2026-09-18. adversarially verified

F
No

API rate limits are published as specific numeric quotas with documented throttling behavior and headers.

extensibility-published-rate-limits

Overturned from unresolved. `rate limit`, `throttling` and `quota` occur zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped ordering client, and every live API response captured -- The T&C independently explains why nothing is published: API use is admitted only under a bilaterally executed API License and Linking Agreement, so quotas are a term of a private contract rather than a published figure. developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN, so no unpublished developer host is hiding the figures either. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
No

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

extensibility-doordash-preferred

DoorDash publishes its own complete provider registry at https://merchants.doordash.com/api/partner-integrations — 64 providers, each carrying a `qualityStatus` of PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), plus a features-completed count against the eight high-quality features the program requires. It is served anonymously and merchants.doordash.com/robots.txt permits it (Allow: / with only /cdn-cgi/ and /monitoring barred). This is the instrument the program page points to when it says the roster is tracked in real time, and it supersedes the 2026 announcement post most of this corpus cited — that post introduces its ten names with the word `include`, which makes it a floor, not a ceiling. In that registry this vendor is the entry `foodtec_production`, rendered as 'FoodTec', with qualityStatus CERTIFIED and 6 of the 8 high-quality features built. CERTIFIED and AT_RISK are the program's other two tiers, so this is positive evidence of non-membership rather than a failure to find the vendor: it is present in the registry and carries a status that is not PREFERRED. GRADE HARMONISED TO B, 2026-09-11: this URL was first written at grade A. The adversarial pass ruled E on the principle that the rubric grades by the publisher's relationship to the SCORED vendor, and DoorDash is not that vendor. B is the settlement, for two reasons that are not preference: 39 rows already graded a DoorDash-published document B on this claim before today, and one URL on one claim cannot carry two grades; and E is unworkable, because nine of the 47 rows are `yes` on a differentiator-weight claim, which the grade floor refuses below B. B reads as the product documentation of the programme's own publisher, which is what this registry is. The dissent is recorded in verification.jsonl. https://merchants.doordash.com/api/partner-integrations · retrieved 2026-09-11

B
Partial

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

Shortfall: DoorDash is the only one of the three named marketplaces with a first-party integration this corpus can establish. Uber Eats and Grubhub are marketing assertions with no corresponding listing in either platform’s partner directory. The integration surface is additionally commercially gated: per FoodTec’s T&C a third party may only touch FoodTec APIs once ‘FoodTec has obtained a API License and Linking Agreement’, so an operator cannot add a delivery integration without FoodTec’s commercial participation. CORRECTED 2026-09-12: this note previously also characterised the DoorDash onboarding as ‘a manual queue’ and, after a parenthetical quoting FoodTec’s wait-time sentence, ‘rather than a self-serve connector’ — the two fragments are quoted separately here because they are not contiguous in the note being withdrawn. That clause is withdrawn. VERIFICATION PASS 2026-09-12: the withdrawal is upheld but narrowed. For `foodtec_production` both `SSIO_INTEGRATION_ONBOARDING` (label ‘Self-guided store setup’, defined on DoorDash’s programme page as ‘Enables you to complete the integration process on your own and at your own pace’) and `AUTO_ACTIVATE_SSIO` (label ‘Self-serve store activations’, plural in the label dictionary and singular as ‘Self-serve store activation’ in the programme prose) read TRUE in DoorDash’s partner registry (https://merchants.doordash.com/api/partner-integrations, retrieved 2026-09-12). Strictly, those flags attest that DoorDash’s self-serve store setup and activation path is available on this integration; they do not by themselves refute the existence of a FoodTec-side intake queue, so the accurate ground for withdrawal is that a published clause adverse to a named business rested on one wait-time sentence and the counterparty attests a self-serve path — not that the two are formally contradictory. Either way the clause may not stand. The verdict stays `partial` on the surviving shortfall: the claim requires DoorDash AND Uber Eats AND Grubhub, and only one of the three is established. https://foodtecsolutions.com/doordash-register/ · retrieved 2026-08-02 adversarially verified

C
Unknown

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

extensibility-middleware-compatibility

Checked 2026-08-04: the 3rd-Party Integrations page names only DoorDash, Grubhub and Uber Eats as direct marketplace integrations and never names an aggregation middleware platform (Deliverect, Chowly, Otter, Checkmate, ItsaCheckmate) as a supported endpoint. A third-party connector guide (community.cyclr.com) describes wiring FoodTec into Cyclr, which is evidence of at least one middleware integration existing in practice, but it is not FoodTec's own documentation and does not name Deliverect/Chowly/Otter/Checkmate/ItsaCheckmate specifically. Unresolved.

F
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

Checked 2026-08-04: the Inventory Reports page reports cost/margin data but explicitly uses no GL/QuickBooks/accounting terminology (inventory-cogs-gl-export, this pass); no page names a native, vendor-maintained QuickBooks Online connector or any other GL system with mapped journal entries. Unresolved.

F
No

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

extensibility-payroll-export

Overturned from unresolved, on the same instrument as labor-payroll-export-formats. FoodTec's payroll surface is the Employee Management page, which claims the module 'Tracks payroll including overtime' and holidays but names no provider and no native export. `Gusto`, `Paychex` and `Paylocity` occur zero times, tokenised, across all three corpora read this session, and the only `ADP` match anywhere is the Andorran peseta code in the shipped client's locale table. Two named payroll destinations are required; zero are published. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/employee-management/ · retrieved 2026-09-10

C
Partial

Raw transaction-level data can be exported on a schedule to a customer-controlled destination (S3/SFTP/warehouse/Snowflake share), not only viewed in the vendor's reporting UI. differentiator

extensibility-bi-data-warehouse

A hosted Data Repository and a licensed Data Warehouse exist, and 'Data Export' via a Module or a FoodTec API is a defined contractual concept. Shortfall: export to a customer-controlled destination on a schedule is not documented; the only stated routes require a promulgated Restaurant API Use Agreement, and no S3/SFTP/warehouse delivery is described. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
No

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

extensibility-app-marketplace

The sole public integrations page lists three delivery marketplaces. There is no browsable app marketplace and no self-install flow; DoorDash requires a registration form and a ~one-week wait. https://foodtecsolutions.com/3rd-party-integrations/ · retrieved 2026-08-01

B
Unknown

Operators can define custom fields or run vendor-hosted custom logic/scripts against POS objects without a vendor engineering engagement.

extensibility-custom-fields-scripting

Checked 2026-08-04: no page describes operator-defined custom fields or vendor-hosted custom scripting against POS objects without a FoodTec engineering engagement. Unresolved.

F
Partial

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

The T&C contemplates third-party front ends driving the platform: a 'Static Website' built by or for the client 'will be unable to interact with the FoodTec Solution without the use of APIs', and a 'Linked Application' is 'any Third Party Service or an application developed by Client itself or by a Third Party, that interacts with one or more FoodTec APIs'. Shortfall: the API surface is not published, the defined purpose is Data Export and functional integration rather than driving the transaction engine, and access requires a promulgated API License and Linking Agreement or Restaurant API Use Agreement. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
No

The vendor publishes an API changelog and a stated deprecation/notice policy for breaking changes.

extensibility-api-versioning-deprecation

Overturned from unresolved. `changelog`, `deprecation` and `sunset` occur zero times across the 233 first-party prose documents and every live API response; the three `deprecated` matches in the shipped client are all RxJS's `useDeprecatedSynchronousErrorHandling`, a library flag rather than a FoodTec notice. The APIs are versioned in the path -- every ordering endpoint sits under /ws/integrated/v1 -- but a version segment is not a changelog, and the T&C's only change-notice clause governs the terms document itself, not the interface. No developer or api subdomain resolves. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
Partial

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

There is a documented Module/API Data Export path covering 'Client Data, menu data, employee data or other data', plus a DPA obligation to 'securely delete or return the Personal Data within 30 days upon termination'. That is a weak, gated, partially-documented exit — not a documented nothing. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01 adversarially verified

B

Reliability, offline & operations

Partial

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

reliability-offline-order-entry

The 'FoodTec Solution' is defined as 'the integrated suite of on-premise Software and Software-as-a-Service applications and Data Repository', and the Hardware definition supplies on-site 'servers, proxy servers, firewalls, Network Attached Storage devices' - an on-premise architecture in which order entry does not depend on a cloud round trip. Shortfall: FoodTec publishes no statement of which functions continue and which degrade during an internet outage; the architecture is read off the contract's definitions, not from an operating description. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
Partial

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

reliability-offline-card-auth

FoodTec's Oct 2025 AWS-outage post states that during a cloud outage a store can 'capture credit card payments (with supported processors)', describing this as gathering payment details 'to process when the connection re-establishes'. Card payments are accepted while offline, satisfying the core claim, but the mechanism is deferred capture rather than offline authorization at the point of sale — the post states processing happens only 'when the connection re-establishes', with no offline auth code and no per-transaction or cumulative offline limit stated. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
No

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

This claim asks whether the vendor publicly documents who bears the loss when a store-and-forward transaction declines after reconnection and states an offline cap, and FoodTec affirmatively does not. Its only public description of offline card handling is this Oct 2025 post: 'you can securely gather payment details to process when the connection re-establishes' — with no statement of who bears the loss on a post-reconnect decline and no per-transaction or cumulative cap. The published T&C's only related clause is a blanket disclaimer of liability for 'FAILURE [OF] PAYMENT PROCESSORS TO PROCESS CREDIT CARD, DEBIT CARD TRANSACTIONS', which allocates nothing about offline declines specifically. FoodTec publishes no documentation portal (48-page sitemap has no docs section), so the documentation this claim asks about does not exist — matching the identical finding already recorded for the sibling cell payments-offline-decline-liability. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
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

Checked 2026-08-04: the same AWS-outage post describes edge computing keeping 'the important parts of your POS' inside the store and lets a store 'take phone and walk-up orders' during a cloud outage, but never states whether multiple terminals continue sharing a single check/table state over the local network versus operating as per-terminal islands. No technical architecture document exists to resolve this. Unresolved. || 324th: NEW: the FoodTec 9.5 release page https://foodtecsolutions.com/latest/ (WP modified 2024-08-27) is the vendor's own statement on degraded operation: "Improved Failover -- FoodTec was first to deliver Failover over 25 years ago. Faster, live failover now comes standard in 9.5, ensuring business - and revenue - continuity." It is reinforced by https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/. What is NOT stated is the thing the claim turns on: whether several terminals keep sharing ONE check/table state over the LAN during the outage, or fail over as per-terminal islands. No architecture is named, so this stays unknown. The same page is the only new evidence bearing on reliability-printer-fallback and reliability-cellular-backup and it addresses neither: tokenised controls over the corpus give 'backup printer' = 0, 'failover printer' = 0, 'cellular' = 0, '4G'/'5G' = 0, and the 59 raw 'LTE' matches are ALL substring poison inside words such as 'multe-'/'alternative' -- 0 survive tokenising. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
Partial

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

Shortfall: an in-store engine exists, but what survives an outage is narrower than transacting. FoodTec describes 'edge computing — which simply means the important parts of your POS also live inside your store', and its T&C corroborates on-premise infrastructure by having FoodTec supply on-site 'servers, firewalls and network storage devices' while the client provides 'dedicated AC power circuits, network cabling and internet service'. During the October 2025 AWS outage FoodTec says stores could 'take phone and walk-up orders', 'print and display tickets in the kitchen', and 'capture credit card payments (with supported processors)' — but capture is store-and-forward, 'securely gather payment details to process when the connection re-establishes', i.e. deferred authorisation, not offline card authorisation, and conditional on the processor. Only a vendor blog post describes any of this; no technical documentation of the local engine, its failover behaviour or its data-sync guarantees is published. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-02 adversarially verified

D
Yes

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

reliability-offline-kds-printing

FoodTec's Oct 2025 AWS-outage post states first-person that during an internet/cloud outage a store can still 'Take phone and walk-up orders' and 'Print and display tickets in the kitchen', attributing it to edge computing: 'the important parts of your POS also live inside your store.' That is the claim's exact subject — kitchen display and printer routing functioning while offline — described as the shipped system's behavior in a real outage. No technical documentation of the local routing path exists, so evidence stays at vendor-blog grade. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
Unknown

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

Checked 2026-08-03: the Kitchen Systems page's full bullet list (touch-screen or bump bar, POS-integrated tracking, dining/carry-out/delivery, Scoreboard integration, configurable KPI tracking, future/past orders, station and course status, rush and late alerts) contains nothing about printers or failover; FoodTec publishes no printer-compatibility or hardware documentation, and its Oct 2025 AWS-outage post covers cloud-loss behaviour ('print and display tickets in the kitchen'), not rerouting when a kitchen printer is unreachable. Unresolved.

F
No

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

The claim asks whether the vendor documents its partition conflict-resolution behavior, and FoodTec affirmatively does not: it publishes no technical documentation anywhere (the 48-page sitemap has no docs/help section and the 29-module web1 catalog is all product marketing); its only architecture statement — the AWS-outage post's 'edge computing... the important parts of your POS also live inside your store' plus payment details processed 'when the connection re-establishes' — never describes how concurrent edits reconcile (last-write-wins, merge, or prompt); and the published T&C contains no synchronization or conflict provisions (checked 2026-08-04). The documentation whose existence the claim asserts does not exist in the vendor's public corpus. https://foodtecsolutions.com/blog/2025/10/29/thousands-of-pizzerias-went-down-during-the-aws-outage-foodtecs-didnt/ · retrieved 2026-08-04

D
No

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

Upheld, but the old rationale was false in a way that inverted the vendor's own story. It said FoodTec publishes no offline feature list and that a site-wide search for offline returns zero results, and treated the gap as an unforced one, odd for a delivery-first vendor whose users praise its outage resilience. FoodTec does publish outage resilience -- it just does not call it offline. THE ZERO WAS ABOUT THE WRONG WORD: the vendor's term is failover, and the cited 9.5 release page markets it as a founding differentiator -- 'FoodTec was first to deliver Failover over 25 years ago. Faster, live failover now comes standard in 9.5, ensuring business – and revenue – continuity.' The cell nonetheless stands, because the claim wants an explicit published list of which features stop working offline, and one sentence of boast is not a matrix: no queue depth, no expiry, no enumeration of what degrades, and `store and forward`, `offline mode`, `local mode`, `loss of connectivity`, `redundancy` and `redundant` are all zero across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026. Two traps here. The four occurrences of offline are all the not-online sense (ordering offline, offline channels, offline materials) except one, which is a question in FoodTec's own buyer's checklist -- 'What support is available if the system goes offline?' -- a question to put to providers, NOT a statement about FoodTec, and it must never be cited as one. And the single occurrence of 'internet down' in the terms sits inside a system-monitoring clause about diagnostics, not a degradation contract. https://foodtecsolutions.com/latest/ · retrieved 2026-09-09

C
No

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

reliability-public-status-page

Upheld and re-probed 2026-09-09 rather than inherited: status.foodtecsolutions.com still fails DNS resolution, a real NXDOMAIN rather than a refusal that might decay. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026, `status page`, `system status`, `service status`, `uptime` and `service level agreement` occur zero times, tokenised and as bare substrings alike (the abbreviation sla is unusable here -- it reads 33 times with the boundaries stripped, inside legislation, translate and onslaught), and `incident` reads once, in the acceptable use policy. What FoodTec publishes instead is a private monitoring arrangement, described in the cited terms: 'System Monitoring (24/7) – The Support Services include an automated monitoring system designed to help diagnose problems or potential issues before they are reported to the Help Desk, including certain Hardware, Software, and networking performance (e.g. internet down, corrupted hard drives).' That is FoodTec watching the estate on the operator's behalf, which is the opposite of the claim -- a public per-component page with current and historical incident state and no login. docs.foodtecsolutions.com remains closed and is worse than closed -- it is a soft-200 catch-all, returning the identical 620-byte 'Documentation Area' email form for the root, for a real docspublic path this record cites, and for a fabricated filename alike, so no status code on that host can ever distinguish a document from the gate. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-09

B
No

A contractual uptime SLA with a stated percentage AND a service credit remedy is published or available in the standard agreement. differentiator

reliability-contractual-uptime-sla

The published T&C offers response/resolution goals only (P1 60 min response / 4 hr resolution through P3 16 business hours), with no uptime percentage and no service credits, and then disclaims them: 'There is no guarantee FoodTec will meet the above response or resolution times.' https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
No

The vendor publishes written post-incident reports or root-cause summaries for major outages.

reliability-incident-postmortems

Overturned from unresolved. This is the publisher's own complete post index: 153 entries, matching the REST API's own count of the `post` type exactly, so the blog is censused in both directions and none of its entries is an incident report. `postmortem`, `post-mortem`, `root cause`, `RCA`, `incident report` and `status page` occur zero times, tokenised, across all three corpora read this session, and status.foodtecsolutions.com returns NXDOMAIN. The one outage post FoodTec published is commentary on someone else's failure, not its own. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/post-sitemap.xml · retrieved 2026-09-10

B
Partial

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

Exhibit A defines Support Services as five components including a Help Desk and 24/7 System Monitoring, and Exhibit B sets a P1 'Store Down' response goal of 60 minutes. Shortfall: Exhibit B defines 'Business Hours' as 09:00-18:00 Eastern, Monday to Friday, excluding Massachusetts holidays, and all times are stated as goals only; Support Services are a priced line on the Sales Contract rather than documented as included in a base subscription, so 24/7/365 live human phone support is not established. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
Partial

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

Professional services exist but are not standard: the client is 'solely responsible for installation of the requisite dedicated AC power circuits, network cabling and internet service', and installation services apply only if the Sales Contract explicitly identifies them. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

reliability-menu-build-service

The web1 Menu Manager page states 'Our exclusive Menu Manager team oversees and implements menu changes for you', documenting that FoodTec staff, not the operator, execute menu changes. Shortfall: the page describes this as an ongoing service for changes generally rather than specifically framing it as a formal step of new-store onboarding, and states no timeline or scope for an initial build. https://web1.foodtecsolutions.com/solutions/menuManager · retrieved 2026-08-04

C
Partial

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

reliability-hardware-replacement-sla

An RMA program exists with manufacturer warranty pass-through, but no turnaround time and no advance exchange are stated, and the client pays return shipping. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Unknown

Operators can trigger and retrieve their own data backup/restore, or the vendor publishes RPO/RTO figures for data recovery.

reliability-backup-restore

Checked 2026-08-04: neither the T&C, the DPA, nor the AWS-outage post states an RPO/RTO figure or describes an operator-triggered backup/restore capability; the DPA covers only a 30-day Personal Data return/delete obligation on termination (commercial-post-termination-export-window, already scored partial). Unresolved. || 324th: NEW: the rebuilt master agreement https://foodtecsolutions.com/terms/ (modified 2026-04-20) bears on this cell without settling it. Sec.6(b): the Client's data exclusivity "does not obligate FoodTec to extract or transfer any data". Exhibit B publishes SUPPORT service goals only -- "P1-Store Down - Business is completely halted. Response Time: Within 60 Minutes. Resolution Time: Within Four (4) hours"; P2 within 2/8 business hours; P3 within 16/24 business hours -- and no RPO or RTO figure for data recovery anywhere. Tokenised controls: 'RPO' = 0, 'RTO' = 0, 'restore' = 0, 'recovery point' = 0, 'recovery time' = 0. Per the standing rule that a terms/DPA page settles rights and not capability, held unknown. NEW SURFACES this pass (every cell below had an EMPTY note and no url): (1) foodtecsolutions.com WordPress REST census -- /wp-json/wp/v2/types lists post,page,attachment,store; 48 pages + 153 posts + 662 media fetched 2026-09-17 (0 PDFs: every media item is image/png or image/jpeg, so there is no document library); (2) web1.foodtecsolutions.com, an Apache Tomcat 6 product-detail site the atlas already cites 47 times: its index.jsp nav enumerates 29 /solutions/<name> pages and an href fixpoint over those 29 bodies added none (1 round, 0 new), all 29 returned 200 while a nonsense path /solutions/zzz returns a Tomcat 404 error report, so 200 is discriminating; (3) a REBUILT legal page https://foodtecsolutions.com/terms/ (WP modified 2026-04-20, 31.7 KB), separate from the older /termsandconditions/ (modified 2025-11-25). NOT AVAILABLE: wiki.foodtecsolutions.com 302s to /login; docs.foodtecsolutions.com answers every path with an identical 405-byte body (catch-all); api.foodtecsolutions.com and developer.foodtecsolutions.com do not resolve; order.foodtecsolutions.com/ws/swagger.json is a 1,264-byte soft-200 -- the Web Ordering SPA shell, byte-identical to /ws/zzz-nope.json; web.archive.org CDX returned 503 Temporarily Offline. Corpus for all controls below = those 230 documents. Retrieved 2026-09-17. adversarially verified

F
No

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

Overturned from unresolved. `P2PE`, `attestation`, `Attestation of Compliance`, `AoC` and `trust center` occur zero times, tokenised, across all three corpora read this session. The T&C is the instrument that would carry a vendor attestation and instead assigns the obligation outward, to 'PCI regulations applicable to the operation of the Licensed Store'. status, trust and security under foodtecsolutions.com all return NXDOMAIN (measured, not inferred from a timeout), so there is no trust centre on another host either. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
Partial

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

reliability-mfa-role-based-access

FoodTec PA-DSS Implementation Guide v2.0 (revised 2013-11-19; Wayback capture 2015-07-19, v9.1 manual) s1.1: each POS function is a Secure Task with a required employee Security Level (Edit Store Prefs defaults to District Manager), and 'The Security Levels editor can be used not only to create new security levels, but also to rearrange the priorities of existing levels'. The role-based half is met. Shortfall: MFA isn't documented. s1.1.5 lets each task allow or disallow unique ID, iButton or fingerprint, or require a password, but documents no way to require two factors together. The guide's only two-factor text covers remote access (FoodTec support tokens; LogMeIn security codes), not POS or back-office admin logins. MFA and two-factor read zero across the current site corpus, and the only source is a decade-old manual with no current corroboration. https://web.archive.org/web/20150719233024id_/http://www.foodtecsolutions.com:80/docs-9.1/released/ads/security/docs/ImplementationGuide.html · retrieved 2026-09-12 adversarially verified

B
Partial

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

reliability-self-serve-training

Shortfall: training is a billable professional service, not a self-serve library. The T&C states 'training will be provided only to Client's employees then employed', that additional training time is provided 'at FoodTec's then-prevailing rates', that the client pays FoodTec staff 'travel, accommodation and other reasonable expenses', and that FoodTec 'does not guarantee that, after such training, the trainees will be able to use or operate the Products properly within the allotted estimate of hours'. Support Services are Help Desk phone/email, software maintenance and 24/7 monitoring — support channels, not training. FoodTec's page sitemap contains no training, academy, help-centre or documentation section; the only self-serve product pages located are a customer-facing /solutions/ area on web1.foodtecsolutions.com that is not linked from the public site. In-product ticketing exists in the FoodTec IQ app. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-02 adversarially verified

B
Partial

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

reliability-failover-terminal-role

Failover is a shipped, standard capability: 'FoodTec was first to deliver Failover over 25 years ago. Faster, live failover now comes standard in 9.5, ensuring business - and revenue - continuity.' Shortfall: the mechanism is not described - nothing states that any terminal can automatically assume the master or local-server role when the primary fails, and no failover time or trigger is published. https://foodtecsolutions.com/latest/ · retrieved 2026-09-04

D
Unknown

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

reliability-cellular-backup

Checked 2026-08-04: no page describes cellular/LTE failover for terminal connectivity, first-party or otherwise; matches hardware-handheld-lte, this pass, same absence. Unresolved.

F

Commercial, compliance & data ownership

No

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

Term-based only: an Initial Term commencing at Go Live, auto-renewing for successive one-year periods, with an early-termination fee covering all remaining months. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
No

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

Explicit liquidated damages: accrued unpaid fees plus all remaining fixed monthly fees plus average variable fees (SMS, support) multiplied by remaining months. Plus 'No payments to FoodTec hereunder are refundable' and a remote-disable remedy on default. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Yes

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

Publicly stated: successive one-year automatic renewals unless either party gives 30 days' written notice before expiration. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

Same defective source as payments-processor-choice. Absence of a FoodTec payments product page is not evidence that processing is unbundled — it is absence of documentation. Operator anecdote supports it; vendor documentation does not. https://foodtecsolutions.com/blog/2022/06/30/trend-watch-credit-card-processors-in-bed-with-pos-companies/ · retrieved 2026-08-01 adversarially verified

B
No

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

Upheld and now cited. This claim needs an interchange-plus option with the markup stated as a specific bps plus per-transaction figure, and FoodTec publishes no card rate at all -- not a blended one, not a markup, not a bps number. `interchange plus`, `basis points`, `bps`, `discount rate` and `processing rate` occur zero times across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026, tokenised and as bare substrings; the single occurrence of interchange is a 2022 blog essay explaining industry fee structure to operators, not a disclosure. The cited terms make the posture explicit rather than accidental: 'Fees' means 'any amount payable to FoodTec under a Sales Contract or any other FoodTec Agreements', so pricing is contractual by construction. The old rationale's reason -- that FoodTec is not the acquirer -- survives, and there is no acquiring language anywhere in the corpus to contradict it. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-09

B
Partial

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

Software side is capped: annual increases limited to 6% for SaaS and legacy support. But hardware pricing may be 'adjusted without notice', and there is no penalty-free exit on an increase. Processing rates are out of scope since FoodTec is not the processor. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
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

Positive evidence of absence, not absence of evidence: FoodTec's own page sitemap enumerates all 48 public pages on foodtecsolutions.com and contains no pricing page, no plans page and no rate card. The Point of Sale page carries no figures and routes to a demo form. The only commercial terms FoodTec publishes anywhere are the T&C's contract-length, auto-renewal and early-termination clauses. Pricing is quote-only. https://foodtecsolutions.com/page-sitemap.xml · retrieved 2026-08-02 adversarially verified

A
Partial

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

The T&C's fixed-plus-variable fee structure and operator reports of separate line items ('$800 a month just for the web ordering. Another $900 a year for support') indicate modules are priced separately; whether one can be cancelled without repricing the base is undocumented. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

E
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

Outright purchase is available (with a 30-day return window and 20% restocking fee) as an alternative to Hardware-as-a-Service, but no prices are published. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
No

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

The T&C states plainly: 'Any Hardware purchased from others is NOT covered by FoodTec. Any requests for assistance with Hardware purchased from third parties are not supported.' That is the vendor's own documentation of the limitation the claim asks about — FoodTec does not document support for a non-proprietary/third-party hardware option; it documents the opposite. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-04

B
No

One-time implementation, menu-build, onboarding, and training fees are published as specific amounts or explicitly stated as $0.

commercial-implementation-fee-published

Not published as amounts or as $0. Professional services apply only if explicitly identified in the Sales Contract; additional training bills at 'FoodTec's then-prevailing rates'. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

'Data Export' is defined as the use of a Module or a FoodTec API to export Client Data, menu data and employee data, so a documented export route exists. Shortfall: the API route is gated behind a promulgated Restaurant API Use Agreement for a specified Licensed Restaurant, and section 6 disclaims any obligation on FoodTec to 'search, extract or transfer any data'; no fee-free, ticket-free self-serve full-history export is documented. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04 adversarially verified

B
No

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

Same clause governs; no documented machine-readable export of guest records, loyalty ledgers or gift-card liability balances. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
Partial

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

The DPA specifies FoodTec will 'securely delete or return the Personal Data within 30 days upon termination', but this covers Personal Data only and is a return-or-delete obligation, not a self-serve retrieval window over full transactional history. https://foodtecsolutions.com/dataprocessing/ · retrieved 2026-08-01

B
Yes

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

T&C: the client owns Restaurant Data; FoodTec retains only Proprietary Data and aggregated anonymized transaction data. The DPA adds that all Personal Data 'shall remain the property of the Controller'. Ownership is clean; portability (scored separately) is not. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-08-01

B
No

The POS is source-available or open source with a documented self-hosting option (source published under an OSI or source-available license, not merely an open API).

commercial-source-available-selfhost

Upheld, and the old rationale's characterisation is now quoted rather than paraphrased. The claim needs source published under an OSI or source-available licence with a documented self-hosting option. FoodTec's terms are a closed licence throughout: `open source`, `source code`, `self-host` and `self hosted` occur zero times across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified dates spread across 2018 to 2026 with 44 in 2026, tokenised and as bare substrings alike, as do `gpl` and `mit license`, while proprietary reads 15 times and license 38, concentrated in the two terms pages. The only licence form the terms contemplate beyond subscription is a legacy one, and even it conveys no source: a 'Legacy Licensing Document' is defined as an agreement 'that provides for a perpetual license for one or more FoodTec Products, which require Software Maintenance for access to fixes, updates and upgrades'. A perpetual right to run a binary that still depends on the vendor for fixes is not source availability. The remote-disable remedy on default points the same way. There is no repository, and `on-premise` -- which reads 8 times -- is about where a server sits in a FoodTec deployment, never about the operator obtaining the software to host themselves. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-09

B
Partial

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

Card entry hardware is first-party ('EMV Terminals' in the Hardware definition) and the T&C routes card processing to third-party Payment Processors rather than into the POS. Shortfall: no validated P2PE listing, no tokenization description, and no named SAQ type for the merchant; the T&C assigns PCI responsibility to the client rather than documenting scope reduction. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-04

B
No

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

Overturned from unresolved. The v4.0.1 future-dated controls are named nowhere: `P2PE` and `attestation` read zero across all three corpora, `MFA` and `two-factor` read zero across the 233 prose documents, and nothing in the corpus describes payment-page script-integrity monitoring. One finding cuts the other way and is recorded because it does: the shipped ordering page actually IMPLEMENTS subresource integrity, serving every script tag with crossorigin=anonymous and an integrity sha384 digest. That is a Req 6.4.3-shaped control shipped and never claimed, which is the opposite of the documentation this cell asks for and is why the verdict is about documentation rather than about the control. The T&C references PCI only as an obligation of the Licensed Store. trust.foodtecsolutions.com and security.foodtecsolutions.com both return NXDOMAIN. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/termsandconditions/ · retrieved 2026-09-10

B
No

Vendor states it holds a current SOC 2 Type II (or ISO 27001) attestation and will provide the report under NDA via a trust center or on request.

commercial-soc2-attestation

Overturned from unresolved. The Data Processing Addendum is the document in which a SOC 2 Type II or ISO 27001 representation would sit, and it describes technical measures generically without naming either. `SOC 2`, `SOC2`, `ISO 27001`, `attestation` and `trust center` occur zero times, tokenised, across all three corpora read this session, and trust.foodtecsolutions.com and security.foodtecsolutions.com both return NXDOMAIN, so no trust centre exists on another host. The claim is about a stated attestation and an on-request report; both are publication propositions and the census that settles them is closed. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. https://foodtecsolutions.com/dataprocessing/ · retrieved 2026-09-10

B
Partial

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

A publicly posted DPA exists and commits FoodTec to promptly notify the controller of data-subject requests and assist in responding — but no in-app locate/export/delete tooling is documented, and GDPR/CCPA are not named specifically ('applicable Data Privacy Laws'). https://foodtecsolutions.com/dataprocessing/ · retrieved 2026-08-01

B
No

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

Overturned from unresolved, and the instrument is the publisher's own manifest rather than an argument from silence. `VPAT`, `ACR`, `WCAG`, `Section 508` and `accessibility conformance` occur zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped consumer ordering client, and every live API response -- and the shipped client contains no non-visual access mode. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. The T&C's allocation of ADA responsibility to the client is context, not the evidence: the evidence is that the vendor's complete published corpus, censused in both directions, contains no conformance report. https://foodtecsolutions.com/sitemap_index.xml · retrieved 2026-09-10

B
Partial

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

Online ordering only; the in-store POS was not observed. FoodTec's own ordering client (served bundle, cwo-1.0.92, retrieved 2026-09-15) can add a card fee and show a cash discount. The payment type carries paymentFee, paymentFeePercent, paymentFeeText, paymentFeeDisclosure and surchargesOnAllCreditTransactions, and the guest string cash_discount_note reads 'Pay only {finalPrice} and save {savings}.'. It can also exclude debit cards automatically: the card's first six digits go to getPaymentType(u){return this.http.post(${this.BASE_PATH}/cardType,{bin:u}), the card is marked s.isDebit="debit"===g.type, and a debit card gets no fee ( his.selectedAccountCreditCard.isDebit?this.paymentTypeFee=void 0:this.checkPaymentTypeFee(a)). Shortfalls: (1) There is no prepaid exclusion. The lookup only returns 'credit' or 'debit', and 'prepaid' appears 0 times in the client. (2) The debit check runs only when this.creditCardConfig.tsysTokenConfig is set, so only on the TSYS path. The same function sends other processors (Worldpay) down a branch with no BIN check. (3) A setting can switch the debit check off entirely: when surchargesOnAllCreditTransactions is on, the client calls this.checkPaymentTypeFee without checking isDebit. That setting lets a store charge the fee on debit cards. (4) No network percentage cap appears in the client; the fee amount is computed on the server. (5) The fee is disclosed only at checkout, as a banner showing the store's own paymentFeeDisclosure text. The vendor does not ship that wording (en.json has only the labels 'Payment Fee' and 'Cash Discount'), and nothing about menu-board or POS-receipt disclosure can be observed. Whether any of this is card-network compliant is therefore not established. https://ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/372.64941c101cc0636a.js · retrieved 2026-09-15 adversarially verified

A

Adversarial verification

An independent pass was instructed to refute this record, defaulting to downgrade when uncertain. It challenged 67 values — 39 upheld, 27 downgraded, 1 upgraded. It separately resolved 141 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.

Pricing and identity

FieldVerdictWhat the verifier found
pricing.contract_lengthupheldVerified verbatim in the T&C: term commences upon the Go Live Date, 'shall automatically renew for additional one (1) year periods... unless either party provides written notice... not less than thirty (30) days prior to the expiration.' source
pricing.early_termination_feeupheldVerified verbatim, three-part structure exactly as described, with the variable component 'liquidated to be equal to the average of the aggregate monthly Variable Fees... during the 12 months preceding the Event of Default', plus a remote-disable remedy. This is the strongest-sourced cell in the dossier. source
pricing.hardwareupheldVerified verbatim, including the thirty-day return window and 'remain the property of FoodTec'. Also verified the 6% annual cap on SaaS and Support Services renewal increases cited in commercial-rate-increase-clause. source
pricing.softwareupheldCapterra confirms 'Contact vendor', no free trial, no free version. The dossier correctly labels the Reddit figures as unverified anecdote rather than pricing — that discipline is right and the figures should never be promoted to a pricing claim. Sole evidence was www.capterra.com, which the source policy forbids as evidence for a capability claim. Requires re-verification against the vendor's own documentation.

Capability claims

ClaimAs first scoredVerdictWhat the verifier found
payments-processor-choiceyes (claimed) — sourced to FoodTec blog 'Your POS provider should allow you to choose your processor'downgrade-to-partialI read the cited blog post in full. It contains NO first-person statement about FoodTec's own policy — it is generic industry commentary advising restaurants to 'choose your POS and processor wisely' with providers that 'allow you to choose your processor'. FoodTec never says it does this. No supported-processor list exists on any FoodTec page; the only affirmative evidence is a single Reddit operator comment and a third-party acquirer (National Processing) claiming an integration. This is a marketing inference read as a product capability, and it is the entire basis of best_at item #2, so the summary claim of 'processor independence' is over-stated relative to the evidence. source
commercial-processing-not-bundledyes (claimed)downgrade-to-partialSame defective source as payments-processor-choice. Absence of a FoodTec payments product page is not evidence that processing is unbundled — it is absence of documentation. Operator anecdote supports it; vendor documentation does not. source
delivery-cash-reconcileyes (claimed) — driver settle-up blocks clock-outdowngrade-to-partialI pulled the full feature list from the cited delivery-monitoring page. Documented bullets are: GPS Tracking, Map and List View of Orders, Optimal route suggestions, Order assignment by driver or expeditor, Signature Capture on Credit Card Voucher, Easy tip addition, Route completion status, Driver performance stats, Late-status warnings, Coupon Scanning at the door. Driver settle-up / cash reconciliation appears NOWHERE. The sole source is a 2014 r/TalesFromThePizzaGuy thread — twelve-year-old user-generated content about a product that has since been rewritten. This is a headline differentiator resting on anecdote. source
delivery-dispatch-boardyes — note claims 'explicit multi-order bundling from real-time driver location'upheldBoard itself holds: 'Map and List View of Orders', 'Order assignment by driver or expeditor', 'Late-status warnings' are documented bullets. But the note's bundling claim is not a documented feature — bundling appears only as prose in a strategy section, not in the capability list. Score stands; strip the bundling assertion. source
delivery-driver-rosteryes — note claims 'clock-in queue' and 'run history'upheld'Driver performance stats' and 'Order assignment by driver or expeditor' support a first-party driver roster. But 'clock-in queue' and 'run history inside the POS' are not on the page or anywhere public — those specifics are invented detail around a defensible score. source
labor-clock-in-at-posyes (claimed)downgrade-to-partialI pulled the Employee Management bullet list verbatim: demand-based scheduling, recommends ideal labor requirements, accommodates employee shift requests, tracks payroll including overtime & holidays, monitors hours & transactions per employee, tracks tipping and allocates accordingly, identifies top performers, single dashboard, real time data feed, mobile access. There is no clock-in bullet. 'Monitors hours per employee' is not documentation of punch-in at the terminal. The thumbprint detail is a single Reddit report. source
guest-loyalty-native-email-smsyes (claimed) — 'both channels are native'downgrade-to-partialEmail holds (Loyalty Builder 'integrates with their email marketing platform'; Target Market is a named module). SMS does not: the only SMS evidence is a variable-fee line in the T&C, and the same T&C refers to instructions from 'Messaging Platform Vendors [and] Telecommunications Carriers' as Third Party Services — which points to pass-through delivery, not a native SMS product. No SMS campaign product page exists. A blog post about an AI writing assistant is not documentation that the send channel is first-party. source
order-capture-kiosk-first-partypartial (claimed)downgrade-to-unknownI read the cited kiosk blog. It makes no first-person claim to a FoodTec kiosk product, names no hardware and no partner, and the screenshot caption 'Your own kiosk UI and hardware may differ' reads as a disclaimer that the pictured kiosk is not FoodTec's. This is generic thought-leadership SEO content, not a product page. Three cells were scored partial off one caption. source
digital-kioskpartial (claimed)downgrade-to-unknownSame single blog caption; no kiosk product exists in FoodTec's public catalog. source
hardware-kioskpartial (claimed)downgrade-to-unknownSame. No form factor, no vendor, no first-person claim of a shipped kiosk. source
order-capture-offline-order-entrypartial (inferred) from a Reddit outage anecdotedowngrade-to-unknownOffline behavior is a conclusion-flipping cell and must clear the highest bar. The only evidence is one r/Marcos_pizza comment about an outage, with no description of what continued to work. The dossier itself notes a site-wide search for 'offline' returns zero results. No vendor statement, no degradation matrix, no architecture doc.
reliability-offline-order-entrypartial (inferred)downgrade-to-unknownIdentical single-anecdote basis. Scoring the same Reddit comment across three cells manufactures the appearance of corroboration.
hardware-offline-modepartial (inferred)downgrade-to-unknownThird scoring of the same anecdote. Nothing published.
reliability-local-transaction-enginepartial (inferred) — 'Capterra records a Windows on-premise deployment option'downgrade-to-unknownI fetched the cited Capterra listing. Deployment is listed as Web-based, Android, iPhone/iPad. There is no Windows on-premise option shown. The premise of the inference does not exist in the cited source. Sole evidence was www.capterra.com, which the source policy forbids as evidence for a capability claim. Requires re-verification against the vendor's own documentation.
hardware-commodity-devicespartial (inferred) from the same Capterra Windows on-premise linedowngrade-to-unknownSame non-existent premise. Whether the POS terminal can be operator-sourced remains entirely undocumented — and the T&C's purchase/HaaS framing suggests FoodTec supplies it. Sole evidence was www.capterra.com, which the source policy forbids as evidence for a capability claim. Requires re-verification against the vendor's own documentation.
hardware-os-platformspartial (inferred) — 'Cloud/SaaS/Web and Windows on-premise'upheldScore survives on Web + Android + iPhone/iPad from Capterra, but the Windows on-premise element must be struck — it is not in the cited listing. Sole evidence was www.capterra.com, which the source policy forbids as evidence for a capability claim. Requires re-verification against the vendor's own documentation.
reliability-247-live-supportno (documented) — 'Even the P1 store-down 60-minute goal sits inside that window'downgrade-to-unknownTwo problems. (1) The T&C response table qualifies P2 and P3 in 'Business Hours' but states P1 as 'Within 60 Minutes' response / 'Within Four (4) hours' resolution with no Business qualifier — the opposite of what the note asserts. (2) The Capterra listing enumerates support channels including '24/7 (Live rep)' alongside phone, chat, email and knowledge base. Vendor-supplied checkbox versus contract language is contradictory evidence, not a documented absence. Sole evidence was www.capterra.com, which the source policy forbids as evidence for a capability claim. Requires re-verification against the vendor's own documentation.
reliability-mfa-role-based-accesspartial (inferred) — login form asks Name, Password and 'Security Key', 'a second factor'downgrade-to-unknownA third field labelled 'Security Key' on a legacy customer portal is at least as likely a shared tenant/site identifier or static secret as a second authentication factor. Inferring MFA from a form field label is exactly the over-read this audit is looking for.
commercial-data-export-self-serveno (documented) — 'Export requires an API License or a Linked Application — i.e. a contract and a vendor conversation'downgrade-to-unknownThe T&C's own definition cuts against this: 'Data Export means the use of a Module or a FoodTec API to export one or more elements of Client Data, menu data, employee data or other data.' A Module is part of the FoodTec Solution the client already licenses, not a third-party agreement. The disclaimer clause I verified verbatim — 'Client's exclusivity in use of Restaurant Data is not and does not: (A) an undertaking by FoodTec to search, extract or transfer any data or transactions' — says FoodTec owes no extraction service; it does not say no in-product export exists. source
guest-loyalty-data-export-portabilityno (documented)downgrade-to-unknownSame over-read of the same clause. The Data Export definition explicitly contemplates exporting Client Data and employee data via a Module. Whether guest/loyalty records are covered is undocumented either way. source
extensibility-bi-data-warehouseno (documented)downgrade-to-unknownNothing affirmatively states the absence of a warehouse/SFTP drop; the dossier infers it from a liability disclaimer. Per the standing rule, undocumented is unknown, not no. source
extensibility-data-portability-exitno (documented)downgrade-to-partialThere is a documented Module/API Data Export path covering 'Client Data, menu data, employee data or other data', plus a DPA obligation to 'securely delete or return the Personal Data within 30 days upon termination'. That is a weak, gated, partially-documented exit — not a documented nothing. source
extensibility-doordash-preferredno (documented) — sourced only to FoodTec's own integrations pageupheldVerdict correct but was unsourced against the actual roster. Confirmed independently: DoorDash's 2026 Preferred Integrations roster (generated on performance and feature sets as of 2026-05-08) is Checkmate, Chowly, Deliverect, Otter, PAR, Qu, Square, Stream, Toast, UrbanPiper. FoodTec is absent. FoodTec's page nonetheless states verbatim 'Strong relationship with DoorDash. Preferred partner status helps keep things running smoothly.' The contradiction is real and now properly sourced. source
menu-pricing-fractional-placementpartial (inferred) — 'placement granularity nowhere documented'upheldScore stands at partial but the researcher missed the actual vendor evidence and under-sourced it. FoodTec's integrations page states 'Supports Half & Half toppings and detailed pizza options', and the web ordering page states customers get 'their two favorite pizza toppings on a half and half pizza'. That documents halves; quarters and per-section placement remain undocumented, so partial is right for the wrong reason. source
menu-pricing-half-and-half-ruleunknown (documented) — 'No public documentation of any half-and-half pricing rule... Notable gap for a pizza specialist'upheldUnknown is correct on the pricing RULE (higher-of / average / proportional is nowhere stated). But the framing as a 'notable gap for a pizza specialist' is wrong — half & half support is affirmatively documented by the vendor; only the price-resolution semantics are unknown. Fix the note, keep the score. source
menu-pricing-channel-price-bookspartial (inferred) from a Reddit observation of 20-30% web markupsupheldScore right, evidence weak. Upgrade the source: FoodTec's integrations page affirmatively documents 'different pricing for delivery platforms' alongside POS-driven menu sync. That is vendor documentation of channel price books for 3P at minimum, replacing a Reddit inference. source
digital-native-appyes (claimed) — 'on iOS and Android'upheldA branded consumer app is documented with order/re-order, points, coupon activation, eGift buy/reload/store and promoted offers. But the page does not state iOS and Android; that platform pair is the researcher's addition. Keep yes, strike the platform specificity. source
commercial-pricing-publishedno / grade F, sole evidence was a denylisted host (Capterra 'Contact vendor')upheldThe denylisted evidence is gone and I did not attempt to recover it. I retrieved FoodTec's own page sitemap instead, which enumerates all 48 public pages on foodtecsolutions.com: no /pricing/, no plans page, no rate card, no hardware price list. I then read the Point of Sale page, which carries no figures and ends in a demo form and a phone number. This is an exhaustive first-party enumeration, so it is positive evidence of absence rather than failure to find. The only commercial terms FoodTec publishes anywhere are the T&C's contract-length, auto-renewal and liquidated-damages termination clauses. Value stands at no, evidence rebuilt from F to A on a first-party source. source
delivery-3p-direct-integrationyes / grade D, cites foodtecsolutions.com/3rd-party-integrations/downgrade-to-partialThe cited page is FoodTec's own integrations marketing page and cannot carry a differentiator yes. Looking for corroboration, the only functional first-party artifact I found is foodtecsolutions.com/doordash-register/ - a live registration form for 'DoorDash Ordering Integration' that says 'Current wait time is about one week', which evidences a real DoorDash path but a hand-provisioned one. For Grubhub and Uber Eats I found nothing: neither platform's published POS partner directory lists FoodTec, and searches surfaced only middleware vendors. I also confirmed FoodTec is absent from DoorDash's 2026 Preferred Integration Partner cohort despite its 'Preferred partner status' wording. FoodTec publishes no integration documentation at all - the nearest technical artifact, Cyclr's connector guide, documents only a chain name and an API key issued on request. One corroborated direct connection out of three claimed is partial, not yes. source
delivery-driver-trackingyes / grade D, cites foodtecsolutions.com/delivery-monitoring/upheldThe cited marketing page says only 'GPS Tracking' in a feature list, which is not enough. I located the shipped product instead: the Delivery IQ App Store listing, seller Foodtec Solutions Inc, states 'GPS/location and order status data from the driver app connect the customer, restaurant and driver. Managers, kitchen staff and expeditors now have real-time information that empowers them to make better decisions on timing and order bundling.' Decisively, Apple's compelled listing disclosure reads 'This app may use your location even when it isn't open, which can dramatically decrease battery life' - background location reporting is therefore a property of the shipped binary that Apple requires the developer to declare, not a claim the vendor chose to make. Value stands, evidence moved from a marketing page to the product record. source
delivery-route-mapyes / grade D, cites foodtecsolutions.com/delivery-monitoring/ for 'Optimal route suggestions'downgrade-to-partialThis is the cell the marketing page most oversells. The shipped Delivery IQ listing documents 'Map and List Views of Orders', so a map view exists, but the navigation feature it describes is one-button routing that launches a customer address into the device's own GPS app. That is a single-address handoff to Apple or Google Maps, not an in-app multi-stop route. I found no artifact anywhere describing how a route is computed, sequenced or displayed; 'Optimal route suggestions' survives only as an unelaborated bullet on the Delivery Monitoring page. Map yes, optimised routing not established. source
extensibility-first-party-delivery-integrationsyes / grade D, cites foodtecsolutions.com/3rd-party-integrations/downgrade-to-partialSame evidence problem as delivery-3p-direct-integration and the same finding: DoorDash is the one integration with a functional first-party onboarding artifact, and it is a manual queue rather than a self-serve connector. Uber Eats and Grubhub are unattested outside FoodTec's own copy. There is a second reason this cannot be a yes on extensibility: FoodTec's published T&C requires a third party to hold an 'API License and Linking Agreement' before touching FoodTec APIs, and restaurants a separate 'Restaurant API Use Agreement', so an operator cannot add a delivery integration without FoodTec's commercial participation. That is a partner-gated surface, which the atlas's own guidance flags as conclusion-flipping. source
hardware-commodity-devicesunknown / grade F, sole evidence was a denylisted hostresolve-to-partialRecorded as a downgrade only because the schema has no upgrade-to-partial token; this is movement off unknown onto first-party evidence. I read FoodTec's published T&C, which lists the Products FoodTec supplies as 'POS terminals, EMV terminals, cameras, printers, monitors, registers, servers, firewalls and network storage devices' and makes the client responsible for 'installation of the requisite dedicated AC power circuits, network cabling and internet service'. So the terminal is vendor-supplied and site-wired, and no bring-your-own-terminal option, hardware specification or approved-device list appears anywhere in the site's 48-page sitemap. Against that, all three companion apps - Delivery IQ, Inventory IQ, FoodTec IQ - are ordinary public App Store and Play downloads that run on any consumer iOS or Android device. Commodity at the edges, proprietary and vendor-supplied at the terminal. source
hardware-os-platformspartial / grade F, sole evidence was a denylisted host (Web + Android + iPhone/iPad)upheldThe denylisted listing is unrecoverable, so I rebuilt the platform set from the app stores directly. The Delivery IQ App Store compatibility block requires iOS 15.6 or later on iPhone, iPad and iPod touch, plus macOS 12.5 on Apple silicon and visionOS 1.0; the FoodTec IQ listing carries the same iOS 15.6 floor. Android is confirmed independently - FoodTec's own product page calls Inventory IQ 'an Android app', and the Play packages com.foodtec.deliveryapp, com.foodtec.inventoryapp and com.foodtecsolutions.foodteciq are published under Foodtec Solutions Inc. Administration is web-delivered. What I could not find at any source is the operating system of the POS terminal itself, which is why this stays partial; the previously struck Windows-on-premise element remains struck. Same value, grade F to B on evidence I retrieved. source
inventory-native-not-partneryes / grade D, cites foodtecsolutions.com/inventory-optimization/upheldI went looking for a white-labelled third-party inventory vendor and found none. What I found instead was a FoodTec-hosted product area at web1.foodtecsolutions.com that is not linked from the public site and reads as documentation rather than sales copy: 'Inventory IQ is an Android app that simplifies Inventory counting and purchase order receiving. It tightly integrates with your POS to ensure information accuracy and inventory efficiency', and 'Once a count is submitted the latest inventory data are synced with your POS and are available in it and in your Inventory Reports.' It describes mechanics a partner-resold product would not - PO receiving by scanning the purchase order's QR code, an excessive-variance screen that interrupts submission against a configured tolerance, autosave every five minutes, multi-device concurrent counting. Ownership is corroborated three ways: Foodtec Solutions Inc is the named app-store developer, FoodTec publishes the app's own privacy policy at foodtecsolutions.com/inventoryiq/privacy/, and that policy names no inventory third party. Yes stands, grade D to B. source
labor-demand-labor-forecastyes / grade D, cites foodtecsolutions.com/employee-management/ for 'Demand-based scheduling'downgrade-to-unknownThis is the weakest cell in the set and the clearest case of marketing read as capability. The entire basis is three bullets - 'Demand-based scheduling', 'identify busy and quiet periods', 'Recommends ideal labor requirements to meet customer demand'. I re-read that page and found no elaboration, then searched for anything describing the forecast's inputs, horizon or output and found nothing; FoodTec publishes no documentation portal at all, its 48-page sitemap has no help, academy or docs section, and the customer-facing /solutions/ area has no labour page (both /solutions/labor and /solutions/employee return 404). The one shipped surface that touches labour is FoodTec IQ, and its store listing describes only reviewing and approving schedules, with no forecast view. A demand forecast is a substantial capability; I cannot name a shortfall because I cannot establish the feature exists at all, so this is unknown rather than partial. source
labor-native-schedulingyes / grade D, cites foodtecsolutions.com/employee-management/downgrade-to-partialUnlike the forecast cell, this one survives in reduced form. Scheduling is native and in-platform: the FoodTec IQ listing (seller Foodtec Solutions Inc) names 'review employee schedules' as a core function alongside store reports, FoodTec's own copy refers to 'our labor scheduling module' enforcing scheduled times against the biometric clock-in, and dated user reviews on the listing describe using it - complaining about shift-swap display defects and about having to request time off day by day rather than as a date range, which is the texture of a real product. But the only documented surface is review and approval on mobile. Schedule building, rules, overtime handling and publication are described in no artifact I could locate, and the app gates 'richer features' behind an unpriced premium tier. Native yes, documented only in part, so it cannot carry a differentiator yes at grade C. source
reliability-local-transaction-engineunknown / grade F, sole evidence was a denylisted host whose premise the prior verifier had already found non-existentresolve-to-partialRecorded as a downgrade only because the schema has no upgrade-to-partial token; this moves off unknown. Two independent first-party sources establish an in-store engine. The T&C has FoodTec supplying on-site 'servers, firewalls and network storage devices' while the client provides 'dedicated AC power circuits, network cabling and internet service' - that is an on-premise installation, not a pure cloud tenant. FoodTec's post-mortem on the October 2025 AWS outage then describes 'edge computing - which simply means the important parts of your POS also live inside your store'. But the capability is narrower than it first reads. What FoodTec says survives an outage is 'take phone and walk-up orders', 'print and display tickets in the kitchen', and 'capture credit card payments (with supported processors)', where capture means 'securely gather payment details to process when the connection re-establishes'. That is store-and-forward with deferred authorisation, conditional on the processor - not offline card authorisation, which the atlas treats as conclusion-flipping and which I therefore will not credit. No technical documentation of the local engine's failover or sync guarantees exists, so the grade stays at D. source
reliability-self-serve-trainingpartial / grade F, sole evidence was a denylisted host recording knowledge base and FAQ/forum channelsupheldThe denylisted listing's 'knowledge base' attribute is unrecoverable and I could not substantiate it independently: FoodTec's page sitemap contains no training, academy, help-centre or documentation section, and the only self-serve product pages I located are a customer-facing /solutions/ area on web1.foodtecsolutions.com that is not linked from the public site and is not a training library. The T&C supplies the positive half of the finding and it is unambiguous - 'training will be provided only to Client's employees then employed', additional time comes 'at FoodTec's then-prevailing rates', the client pays FoodTec staff 'travel, accommodation and other reasonable expenses', and FoodTec 'does not guarantee that, after such training, the trainees will be able to use or operate the Products properly within the allotted estimate of hours'. Support Services are Help Desk phone and email plus 24/7 monitoring, which are support channels rather than training. Training is a billable professional service with an in-product ticketing path. Partial stands with the shortfall now named from a primary document; grade F to B. source
reporting-anomaly-alertsyes / grade D, cites foodtecsolutions.com/security-loss-prevention/ for 'alerts when key thresholds are broken'downgrade-to-partialI could substantiate anomaly alerting, but only in inventory and not in the module the researcher cited. The InventoryIQ product page documents an 'Excessive Variance Configuration' with a tolerated variance per item - 'If an item you're counting has an excessive variance then it has surpassed the tolerated variance it can have' - an 'excessive variances' screen that 'pops up before a count submission', plus 'Hidden Expected Variances' and 'Intuitive Catch Weight Alerts'. That is a real, configurable, documented anomaly alert. The loss-prevention claim of threshold alerts across sales and employee exceptions is a different capability and rests entirely on one marketing sentence: nothing states which thresholds are configurable, who is notified, or by what channel. Scoped to what is documented, this is partial. source
reporting-multiloc-drilldownyes / grade D, cites foodtecsolutions.com/delivery-pizza/ for 'drill down into the details of every store and transaction'downgrade-to-partialThe quoted sentence is sales copy about a 'growing empire' and is the only place the drilldown appears. Testing it against the shipped product, the FoodTec IQ listing confirms the multi-location half - a manager can see KPIs per store and 'check store reports (sales, cost, orders etc.)' plus driver and delivery statistics across the estate, from one app. It does not confirm the drilldown half: I found no documented consolidated rollup, no cross-store comparison view, and no transaction-level drill path in any artifact. The app additionally gates 'richer features' behind an unpriced premium tier, so even the report set in scope is undetermined. Multi-location visibility yes, drilldown not established. source
order-capture-scheduled-ordersunknown / grade F, placeholder rationale — cell never examinedresolve-to-partialRecorded as resolve-to-partial; this is movement off an unexamined placeholder onto first-party product pages. FoodTec's customer-facing web-ordering product page documents a 'Defer Orders' feature - customers 'place an order and defer it for when they want it delivered. From a same-day delivery to up to 30 days later' - and the Kitchen Systems page lists 'Easy to find future and past orders' on the KDS, so future-dated orders are a shipped, vendor-documented capability. What no artifact documents is the taxonomy claim's second half: a per-channel lead time and injection into the make queue at a computed fire time rather than on receipt. Partial with that named shortfall. source
delivery-zone-pricingunknown / grade F, placeholder rationale — cell never examinedresolve-to-partialThe web-ordering product page documents 'Set Order Delivery Zones': operators 'set limits on the area covered by your store and decline orders that are outside your designated delivery area'. That establishes zone definition and out-of-zone decline as vendor-documented. The pricing half of the claim is not established anywhere - no per-zone delivery fee, order minimum or quoted promise time appears on the web-ordering, delivery-monitoring or Delivery IQ pages, and the hosted guest checkout at order.foodtecsolutions.com renders client-side so the shipped fee behaviour could not be inspected. Partial: zones documented, per-zone pricing undocumented. source
multi-location-price-zonesunknown / grade F, placeholder rationale — cell never examinedresolve-to-partialMenu Manager (web1.foodtecsolutions.com/solutions/menuManager) documents the outcome the claim asks about at the location-group axis: 'you can change your items' price and ingredients' and 'You can choose to implement menu changes to selected stores statewide or nationwide', with activation 'on the date of your choice'; the 3rd-party-integrations page separately documents 'different pricing for delivery platforms', covering the channel axis for 3P at minimum. But the mechanism is a FoodTec-staff service ('Our exclusive Menu Manager team oversees and implements menu changes for you'), no self-serve tier/zone object is documented, daypart pricing appears nowhere, and whether per-store prices avoid duplicating the item record is unstated - which is the exact thing the claim excludes. Partial, grade C. source
payments-offline-decline-liabilityunknown / grade F, placeholder rationale — cell never examinedresolve-to-noThis is a publication-shaped claim and the publication does not exist. FoodTec's only public description of offline payments is the Oct 2025 AWS-outage post, which documents deferred capture — 'securely gather payment details to process when the connection re-establishes' — and stops there: nothing on who bears the loss when a stored payment declines, nothing on a post-reconnect failed-payments report. I searched the published T&C for offline payments, declined transactions and chargebacks; its only related clause is a blanket all-caps disclaimer of liability for payment processors failing to process card transactions, which allocates nothing about offline declines. FoodTec has no documentation portal (48-page sitemap enumerated in the 2026-08-02 pass), so this is enumeration-grounded absence, not failure to find. source
digital-group-orderingunknown / grade F, placeholder rationale — cell never examinedresolve-to-partialThe web1 solutions catalog turns out to have a dedicated Group Ordering product page. It documents a leader-initiated flow: a customer 'initiates the process, as the group leader, and invites others via email to order', participants add their own items to one collective order, 'each group member can see what others have ordered', and the leader 'sets a time frame for order placements — although the standard time frame is 30 minutes'. That establishes multi-participant single-order group ordering as a shipped, vendor-documented capability. The claim's remaining elements are not met or not documented: invitation is email-based rather than a shareable link, no per-person or total spend cap appears anywhere, and payment is not split through the platform — 'the group leader collects individual payments and your driver only deals with the group leader'. Partial with those named shortfalls. source
guest-loyalty-referral-programunknown / grade F, placeholder rationale — cell never examinedresolve-to-noI read both loyalty artifacts in full. The web1 Loyalty product page enumerates the mechanic set at fine granularity — welcome sign-up bonus, required contact fields, configurable accrual rules, threshold and opt-in rewards, per-store rules, account merging, reward reminders, coupon-expiration alerts, per-order point caps, paper/plastic cards, discretionary points — with no referral mechanic; the marketing loyalty-programs page's nine-feature list has none either. The 29-module web1 catalog (which gives even 'Menu Sampling Badges' its own page) contains no referral module, and the adjacent Unique Coupons product is expressly anti-sharing: one-time codes designed for 'preventing customers from sharing it with others'. A feature catalog this granular enumerating the loyalty/marketing toolkit with referral absent everywhere is positive evidence of absence, not a gap in my search. source
reporting-tip-tax-complianceunknown / grade F, placeholder rationale — cell never examinedresolve-to-partialThe Employee Management page's bullet list — quoted verbatim in the 2026-08-01 verification of labor-clock-in-at-pos — includes 'Tracks payroll including overtime & holidays' and 'tracks tipping and allocates accordingly', which asserts tip tracking and tip allocation at marketing grade. I then checked every reporting surface for the claim's specific outputs: the Performance Reporting page lists dashboard KPIs (transactions, sales, costs, discounts) with no tip or tax content; the web1 DW Dashboard page has no tip content (noted in the 2026-08-03 pass); no artifact documents declared-versus-charged tips per employee, tip-pool distribution detail, or a tax liability summary by jurisdiction. Tip tracking/allocation claimed, payroll- and tax-ready outputs undocumented — partial at grade D on a table-stakes cell. source
reliability-offline-kds-printingunknown / grade F, placeholder rationale — cell never examinedresolve-to-yesFoodTec's AWS-outage post-mortem states first-person that during an internet/cloud outage a store can still 'Take phone and walk-up orders' and 'Print and display tickets in the kitchen', via 'edge computing — which simply means the important parts of your POS also live inside your store'. That is precisely the claim's subject (kitchen display and/or printer routing continuing offline), stated by the vendor about shipped behavior in a real October 2025 outage its stores rode through, and it coheres with the on-premise servers documented in the T&C and the resolve-to-partial on reliability-local-transaction-engine. No technical documentation of the routing path exists, so the grade is D — permissible for a yes on a table-stakes cell. source
reliability-sync-conflict-handlingunknown / grade F, placeholder rationale — cell never examinedresolve-to-noThe claim asserts the existence of vendor documentation of partition conflict-resolution behavior, and that documentation affirmatively does not exist. FoodTec publishes no technical documentation at all: the 48-page sitemap (enumerated 2026-08-02) has no docs, help or architecture section; the 29-module web1 catalog is entirely product marketing; the vendor's only architecture statement — the AWS-outage post's edge-computing description with payments processed 'when the connection re-establishes' — never says how concurrent edits reconcile; and I searched the published T&C for synchronization and conflict provisions and found none. Publication-shaped claim, enumerated corpus, no publication: no. source
menu-pricing-versioning-effective-datesunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Menu Manager page documents future-dated activation — operators 'have your new menu listings available on the date of your choice' — which is effective-dated staging. Shortfall: no preview-before-publish step and no rollback-to-prior-version-after-publish workflow is described anywhere on the page. source
menu-pricing-franchise-hierarchyunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Menu Manager page documents pushing changes to a subset of locations — operators can 'implement menu changes to selected stores statewide or nationwide' — which is central-to-location distribution. Shortfall: no field-level governance is documented (which attributes a location may vs may not override); changes are executed by FoodTec's own Menu Manager team ('Our exclusive Menu Manager team oversees and implements menu changes for you'), not through a self-serve permission model. source
payments-offline-store-and-forwardunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialFoodTec's Oct 2025 AWS-outage post documents card capture continuing during a cloud outage: 'you can securely gather payment details to process when the connection re-establishes (with supported processors)'. Shortfall: this is deferred capture, not store-and-forward with an offline authorization code, and no per-transaction or cumulative offline limit is stated anywhere. source
kitchen-prep-forecastingunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Sales Forecast page documents forecasting down to quarter-hour granularity from five years of historical sales, integrated with Labor Scheduler, and states it helps 'optimize inventory management and purchase and prevent under/over food production' — a forecast-driven prep-quantity benefit. Shortfall: the page frames this as feeding labor scheduling and purchasing decisions, not as a daily prep task list surfaced to kitchen staff on the KDS or any kitchen-facing screen; no prep-list artifact is described. source
inventory-vendor-catalogs-ediunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Vendor Integration page documents two-way electronic exchange: operators 'send and receive purchase orders electronically' and 'the vendor shares an electronic invoice which is retrieved by your POS the minute you start counting your inventory', with a nightly 'Vendor Sync' pulling the vendor's latest order catalog. Shortfall: no specific broadline distributor (Sysco, US Foods, Performance Food Group, or any other) is named anywhere on the page — the integration is described generically as 'your vendor's system'. source
inventory-par-auto-suggestunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Inventory page documents par-level purchasing directly: operators 'customize your par levels in each purchase order' and receive 'a suggested quantity to order so that every purchase order is cost-efficient' — on-hand-versus-par suggested PO quantities, per item. Shortfall: the page does not state that any suggestion mode is driven by a sales forecast rather than the static par figure; the separately-reviewed Sales Forecast module documents forecasting feeding labor scheduling and general purchasing optimization, but never ties a forecast output specifically into this par-based suggested-quantity calculation. source
inventory-waste-loggingunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Inventory Reports page reports waste as a figure distinct from usage variance — example text: '...variance, and waste to discover what's profitable' alongside a specific per-item waste dollar figure — and the web1 Inventory page separately states the system lets users 'estimate waste due to inventory misplacing, mishandling, and spoilage'. Shortfall: no reason-code entry workflow is documented; waste reads as a computed/estimated report figure rather than a structured logging workflow where staff select a reason code that debits inventory at time of entry. source
inventory-transfersunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Inventory page states the module lets operators 'transfer inventory from store to store' as a named capability. Shortfall: the page does not describe the transfer as a two-sided transaction (crediting the sending location, debiting the receiving location) nor any in-transit or approval state. source
inventory-menu-margin-linkageunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Inventory Reports page documents per-item recipe cost joined to actual price with a worked example: a 'medium Margarita costs $3.46 to make' and sells 'for $6.99. That's 49.5% profit for every Margarita you sell', described as 'knowing the cost and profit of every menu item' — contribution margin per item, computed from actual ingredient cost. Shortfall: no threshold-based alerting is documented — the page shows a per-item margin report, not a flag that fires when margin falls below a configured threshold after an ingredient cost change. source
multi-location-scheduled-publishunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Menu Manager page documents future-dated activation — new listings go live 'on the date of your choice'. Shortfall: no statement that the activation time is interpreted in each target location's own timezone, and no rollback-after-activation workflow is documented. source
hardware-peripheralsunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe T&C's Exhibit B hardware list documents cash drawers and barcode scanners as part of the standard supplied set: 'POS terminals, EMV Terminals, cameras, printers, bump screens, monitor displays, register drawers, servers, proxy servers, firewalls, Network Attached Storage devices, barcode scanners, video splitters and similar peripherals'. Shortfall: no published compatibility list, no explicit multi-drawer-per-terminal statement, and no scale/by-weight-item or customer-facing-display peripheral is named (video splitters suggest dual-display wiring but the customer-facing-display use case itself is never stated). source
reliability-offline-card-authunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialFoodTec's Oct 2025 AWS-outage post states that during a cloud outage a store can 'capture credit card payments (with supported processors)', describing this as gathering payment details 'to process when the connection re-establishes'. Card payments are accepted while offline, satisfying the core claim, but the mechanism is deferred capture rather than offline authorization at the point of sale — the post states processing happens only 'when the connection re-establishes', with no offline auth code and no per-transaction or cumulative offline limit stated. source
reliability-offline-decline-liabilityunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-noThis claim asks whether the vendor publicly documents who bears the loss when a store-and-forward transaction declines after reconnection and states an offline cap, and FoodTec affirmatively does not. Its only public description of offline card handling is this Oct 2025 post: 'you can securely gather payment details to process when the connection re-establishes' — with no statement of who bears the loss on a post-reconnect decline and no per-transaction or cumulative cap. The published T&C's only related clause is a blanket disclaimer of liability for 'FAILURE [OF] PAYMENT PROCESSORS TO PROCESS CREDIT CARD, DEBIT CARD TRANSACTIONS', which allocates nothing about offline declines specifically. FoodTec publishes no documentation portal (48-page sitemap has no docs section), so the documentation this claim asks about does not exist — matching the identical finding already recorded for the sibling cell payments-offline-decline-liability. source
reliability-menu-build-serviceunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-partialThe web1 Menu Manager page states 'Our exclusive Menu Manager team oversees and implements menu changes for you', documenting that FoodTec staff, not the operator, execute menu changes. Shortfall: the page describes this as an ongoing service for changes generally rather than specifically framing it as a formal step of new-store onboarding, and states no timeline or scope for an initial build. source
commercial-hardware-not-lockedunknown (placeholder: "No public documentation located during the 2026-08-01 research pass" — this claim was never actually examined)resolve-to-noThe T&C states plainly: 'Any Hardware purchased from others is NOT covered by FoodTec. Any requests for assistance with Hardware purchased from third parties are not supported.' That is the vendor's own documentation of the limitation the claim asks about — FoodTec does not document support for a non-proprietary/third-party hardware option; it documents the opposite. source
reporting-anomaly-alertspartial, grade B - Shortfall: documented anomaly alerting is confined to inventupheldGrade 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
inventory-native-not-partneryes / B - "FoodTec's own product page: 'Inventory IQ is an Android app that simp"downgrade-to-unknownThe cited page is web1.foodtecsolutions.com/solutions/inventoryIQ, a first-party product/feature page written to sell - grade C, not B, however operationally detailed the copy is. Detail such as QR-code PO receiving, a variance tolerance screen and 5-minute autosave is still sales copy, not an admin guide, and none of it addresses the actual proposition (native versus separately-contracted third party) beyond the absence of a named partner. I looked for the documentation myself: docs.foodtecsolutions.com serves an email-address-plus-reCAPTCHA gate rather than content, wiki.foodtecsolutions.com (Wiki.js) redirects every page to /login and 403s /en/* and /sitemap.xml under both a browser and a Googlebot user agent, help/support/kb/api/developer subdomains do not resolve, and the public sitemap holds only marketing, COVID-toolkit and legal pages. With no grade A or B source obtainable, the differentiator yes cannot stand; absence of evidence is unknown, not no. source
kitchen-prep-time-pacingpartial / D — "KDS 'considers age and size of order (and more)' when sequencing — a pacing heuristic, but per-i"upheldThe cited www.foodtecsolutions.com/delivery-pizza/ 301s to /delivery-pizza-multi-unit-restaurant-pos/. I fetched the destination under a Googlebot UA and matched the quotation against the raw HTML character-for-character — it is present, not conflated. I also pulled kitchen-systems/ and the 2025-09-14 paperless-kitchens post hunting for per-item cook times or start-time staggering; the strongest wording anywhere is 'when items should fire, which orders are linked and which orders are on rush', which is order-level, not item-level. Value unchanged; citation re-pointed and note re-evidenced. source
multi-location-new-store-templatepartial / D — "FoodTec markets the ability to configure systems matching an operator's established busines"upheldRe-fetched the redirect destination and matched both quoted sentences verbatim in the raw HTML. The wording is 'we work with you to configure' — a professional-services engagement, which is why this is partial rather than yes; nothing names a configuration template that is cloned per store. I also read the 2025-08-20 'Is it time for store no. 2' post, the only expansion-focused content in the sitemap, which talks about duplicating the operation via written manuals and standardized recipes and publishes no time-to-open figure. Value unchanged; citation re-pointed and note re-evidenced. source
commercial-data-export-self-serveunknown / grade F - The T&C's own definition cuts against this: 'Data Export means the use of a Module or a FoodTec API to export one or more elements of Client Data, menu data, employee data or other...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
commercial-pci-p2pe-tokenizationunknown / grade F - The T&C assigns PCI obligations to the client and does not name P2PE, tokenization or an applicable SAQ type.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
delivery-daas-dispatchunknown / grade F - Checked 2026-08-04: the Delivery Monitoring page documents only FoodTec's own DeliveryIQ driver-roster/dispatch workflow (GPS Tracking, route suggestions, driver assignment); no ha...resolve-to-partialResolved off the T&C's definitions section. 'Delivery Services' is defined as 'food delivery services such as Grubhub, DoorDash, DoorDash Drive, Uber Eats, UberDirect and any similar future courier services, whether or not branded under their own names or available to Client on a private label basis', and section 10 indemnifies FoodTec for the client's use of them. DoorDash Drive and UberDirect are on-demand courier products, not marketplaces, so the contract does place white-label DaaS inside the FoodTec Solution's surface. Held to partial: a contractual definition establishes that the capability is reached through the product, not that dispatch is native from the POS with a courier quote and status returning into the order record, none of which is documented anywhere. source
delivery-promise-timeunknown / grade F - Checked 2026-08-04: the Delivery Monitoring and web1 Web Ordering pages document zone definition and driver GPS tracking but never a dynamically adjusted delivery promise time driv...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
delivery-zones-polygonunknown / grade F - Checked 2026-08-04: the web1 Web Ordering page documents 'Set Order Delivery Zones' — operators 'set limits on the area covered by your store and decline orders that are outside yo...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
digital-kioskunknown / grade F - Same single blog caption; no kiosk product exists in FoodTec's public catalog.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
digital-scheduled-pacingunknown / grade F - Checked 2026-08-04: the web1 Web Ordering page documents a 'Defer Orders' future-order feature (already scored under order-capture-scheduled-orders) but no per-daypart capacity lim...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
extensibility-bi-data-warehouseunknown / grade F - Nothing affirmatively states the absence of a warehouse/SFTP drop; the dossier infers it from a liability disclaimer. Per the standing rule, undocumented is unknown, not no.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
extensibility-headless-embeddedunknown / grade F - Checked 2026-08-04: no page describes a headless/embedded mode where a third-party UI drives the FoodTec transaction engine via API; the web1 Web Ordering and Group Ordering produc...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
extensibility-partner-revshareunknown / grade F - Checked 2026-08-04: no page publishes a referral fee, revenue-share percentage, or per-location partner fee for FoodTec's partner program. Unresolved.resolve-to-noMANDATORY no-AUDIT, CONFIRMED - and the audit found the one page that could have overturned it. The claim is about what the vendor PUBLISHES, so an enumeration of the published corpus is dispositive rather than merely absent. I dumped the whole foodtecsolutions.com sitemap index on 2026-09-04 (202 URLs across the post, page and store sitemaps) and grepped it: exactly one candidate exists, /3rd-party-integrations/, so I re-fetched that page rather than trusting the record's August reading of it. It has been rewritten since - it is now a menu-sync feature page with a five-question FAQ - and it publishes no referral fee, no revenue share, no per-location partner fee and no partner programme terms of any kind. The T&C routes those terms into a bilateral instrument instead ('API License and Linking Agreement... in a form promulgated by FoodTec') and section 16 sweeps 'the FoodTec Solution, inclusive of all FoodTec Products, Modules, and components' into FoodTec Confidential and Proprietary Information. Nothing is published. source
guest-loyalty-data-export-portabilityunknown / grade F - Same over-read of the same clause. The Data Export definition explicitly contemplates exporting Client Data and employee data via a Module. Whether guest/loyalty records are covere...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
guest-loyalty-offer-stacking-rulesunknown / grade F - Checked 2026-08-04: the loyalty pages describe coupons, offers and loyalty as one POS-integrated system (digital-promo-parity, already scored) but never document explicit stacking/...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
guest-loyalty-redemption-fraud-controlsunknown / grade F - FoodTec's Feb 2026 loyalty-fraud article recommends redemption limits and manager-approved point adjustments as program design advice, explicitly not as documented product features...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
guest-loyalty-review-capture-routingunknown / grade F - Checked 2026-08-04: the web1 Loyalty and Surveys modules ('Collect customer data' for targeted coupons, per the web1 solutions catalog) touch customer feedback collection but no pa...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
guest-loyalty-rfm-segmentationunknown / grade F - Checked 2026-08-04: the loyalty pages state the customer database 'enables market segmentation for targeted campaigns' (guest-loyalty-targeted-offers, already scored partial) but n...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
guest-loyalty-tiersunknown / grade F - Checked 2026-08-04: the web1 Loyalty and foodtecsolutions.com/loyalty-programs/ pages document points accrual, threshold rewards, and account merging but no status tiers with autom...resolve-to-partialResolved off the Loyalty module page, but deliberately NOT to `no`. The page does enumerate reward methods - 'Point rewards can be either threshold or optional' - and status tiers are not among them, which is the shape a `no` would need. I declined it because the enumeration is of reward mechanics on a grade-C feature page, not of programme structures, and because threshold rewards (2% at 50 points, 5% at 150, 10% at 300, reset at the maximum) are genuinely tier-shaped. Partial, with the real shortfall named: point balances that reset, not status with rolling-window promotion and demotion. source
hardware-callerid-integrationunknown / grade F - Checked 2026-08-04: the T&C's Exhibit B hardware list and the Point of Sale page name no caller-ID hardware or telephony integration that pops a customer record on an inbound call....resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
hardware-kioskunknown / grade F - Same. No form factor, no vendor, no first-person claim of a shipped kiosk.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
hardware-offline-modeunknown / grade F - Third scoring of the same anecdote. Nothing published.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
hardware-p2pe-terminalunknown / grade F - Checked 2026-08-04: the T&C assigns PCI obligations to the client and mentions PCI compliance in Section 9(b)(ii) without naming P2PE, a validated PTS device, or a stated SAQ type;...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
hardware-printer-compatibilityunknown / grade F - Checked 2026-08-04: the T&C's Exhibit B lists 'printers' among hardware FoodTec itself supplies and separately states 'Any Hardware purchased from others is NOT covered by FoodTec....resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
hardware-remote-device-managementunknown / grade F - The T&C's remote-disable right implies some remote control plane, but no device-management console is documented.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-commissaryunknown / grade F - Checked 2026-08-04: the same web1 Inventory page that documents store-to-store transfers says nothing about a commissary/central-kitchen production model where one location issues ...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-invoice-ocrunknown / grade F - Checked 2026-08-04: the Vendor Integration page documents electronic invoice retrieval directly from a connected vendor's own system (inventory-vendor-catalogs-edi, above), which i...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-native-not-partnerunknown / grade F - FoodTec's own feature pages describe inventory counting, purchase-order receiving and recipe costing as POS-integrated FoodTec products (Inventory IQ is published by FoodTec on bot...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-price-change-alertsunknown / grade F - Checked 2026-08-04: neither the Inventory Optimization, InventoryIQ, web1 Inventory, Inventory Reports, nor Vendor Integration page describes tracking purchase-price history per it...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-realtime-depletionunknown / grade F - Checked 2026-08-04: the InventoryIQ page and web1 Inventory page document real-time tablet counting and sync back to the POS after a count is submitted, but neither states that ing...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
inventory-recipe-bom-costingunknown / grade F - InventoryIQ documentation covers counting and variance only. Recipes, sub-recipes and plate cost are never mentioned — a significant gap versus the differentiator bar.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
kitchen-order-throttlingunknown / grade F - Checked 2026-08-04: the Kitchen Systems page's complete feature list (touch-screen/bump-bar, POS-integrated tracking, dining/carry-out/delivery support, configurable KPI tracking, ...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
kitchen-waste-loggingunknown / grade F - Checked 2026-08-04: the Kitchen Systems page (touch-screen/bump-bar, station/course status, rush alerts, Performance Scoreboard) contains no waste/spoilage logging at the KDS scree...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
labor-demand-labor-forecastunknown / grade F - Re-verified 2026-08-02 and could not be established. The entire basis is three sales bullets on the Employee Management page — 'Demand-based scheduling', 'identify busy and quiet p...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
labor-granular-rbacunknown / grade F - The single Capterra reviewer's one complaint is user-management: 'better managing of my user, because sometime the last owner made some change and that i never approve' — suggestiv...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
labor-overtime-preventionunknown / grade F - 'Tracks payroll including overtime & holidays' is after-the-fact tracking; no clock-in warning or block is documented.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
menu-pricing-daypartingunknown / grade F - Checked 2026-08-04: the web1 Web Ordering page documents only store-level 'Open/Closing/Closed Store Alerts' (already scored under menu-pricing-countdown-auto-86), not per-item or ...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
menu-pricing-dynamic-pricingunknown / grade F - Checked 2026-08-04: no page describes automatic time/demand/channel-based price variation; Menu Manager documents only manually staged price changes executed by FoodTec's own team ...resolve-to-partialFound during the no-audit re-fetch of /3rd-party-integrations/, which has been rewritten since the August pass. Its FAQ answers directly: 'Can I set different prices for third-party platforms? Yes. You can choose different pricing for delivery platforms to help protect your margins.' Channel-varying price is therefore documented, together with a price-ending convention applied on sync. Held to partial rather than yes because the variation is per channel and operator-set - there is no rule-based variation by time or demand and no floor/ceiling guardrail. source
menu-pricing-half-and-half-ruleunknown / grade F - Unknown is correct on the pricing RULE (higher-of / average / proportional is nowhere stated). But the framing as a 'notable gap for a pizza specialist' is wrong — half & half supp...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
menu-pricing-recipe-linkageunknown / grade F - InventoryIQ page covers counting and variance only; recipes/BOM are never mentioned.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
multi-location-central-menu-publishunknown / grade F - No central menu authoring/publish workflow is documented on any public page, which is a notable blank for a vendor selling to franchise groups.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
multi-location-enterprise-apiunknown / grade F - Checked 2026-08-04: the DW Dashboard page describes a dashboard, not an API; the T&C confirms FoodTec APIs exist only behind an executed API License and Linking Agreement (reportin...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
multi-location-local-override-policyunknown / grade F - Checked 2026-08-04: the Menu Manager page documents FoodTec's own staff ('Our exclusive Menu Manager team') executing changes to selected stores, not a self-serve per-field permiss...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
multi-location-org-hierarchyunknown / grade F - Checked 2026-08-04: the web1 Menu Manager page's 'implement menu changes to selected stores statewide or nationwide' implies some geographic grouping, but no page names a first-cla...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
order-capture-kiosk-first-partyunknown / grade F - I read the cited kiosk blog. It makes no first-person claim to a FoodTec kiosk product, names no hardware and no partner, and the screenshot caption 'Your own kiosk UI and hardware...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
order-capture-offline-order-entryunknown / grade F - Offline behavior is a conclusion-flipping cell and must clear the highest bar. The only evidence is one r/Marcos_pizza comment about an outage, with no description of what continue...resolve-to-partialResolved off the T&C's architectural definitions, which are stronger evidence than anything on the marketing site: the 'FoodTec Solution' is 'the integrated suite of on-premise Software and Software-as-a-Service applications and Data Repository', and the Hardware definition supplies on-site 'servers, proxy servers, firewalls, Network Attached Storage devices'. That establishes order entry runs against a local server rather than a cloud round trip. It does not establish the second half of the claim - FoodTec publishes no statement of what does and does not work offline - so this is partial, and the same reasoning and the same shortfall are recorded on hardware-offline-mode and reliability-offline-order-entry. source
order-capture-throttlingunknown / grade F - Checked 2026-08-04: the Kitchen Systems page's full bullet list (touch-screen/bump-bar, station/course status, rush and late alerts, Performance Scoreboard, future/past order looku...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
payments-card-on-fileunknown / grade F - Checked 2026-08-04: the online-ordering page documents accounts with re-ordering of favorite orders and stored eGift cards (already scored under digital-account-saved-payment) but ...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
payments-emv-nfcunknown / grade F - No first-party terminal is described publicly; card acceptance depends on the merchant's chosen processor's hardware.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
payments-split-tenderunknown / grade F - Checked 2026-08-04: no page documents settling a single check with multiple tenders or a specific split-ways cap; matches order-capture-split-merge, same research pass, same absenc...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reliability-247-live-supportunknown / grade F - Two problems. (1) The T&C response table qualifies P2 and P3 in 'Business Hours' but states P1 as 'Within 60 Minutes' response / 'Within Four (4) hours' resolution with no Business...resolve-to-partialResolved off Exhibits A and B of the T&C, which no prior pass had read. Exhibit A defines Support Services as five components - Software Support, Software Maintenance, Help Desk, 24/7 System Monitoring, Loss Prevention Application - and Exhibit B publishes the Service Goals table (P1 Store Down: response 60 minutes, resolution 4 hours; P2: 2 and 8 business hours; P3: 16 and 24 business hours). The reason this is partial and not yes is the definition immediately below it: 'Business Hours means the hours between 9:00am and 6:00pm Eastern Time, Monday through Friday, excluding holidays in The Commonwealth of Massachusetts', and 'all times are goals and estimates only'. What is 24/7 is system monitoring; the human help desk is a business-hours function, and Support Services are a priced Sales Contract line rather than a documented base-subscription inclusion. source
reliability-failover-terminal-roleunknown / grade F - Checked 2026-08-04: no page describes a designated primary terminal/local server role, let alone another terminal automatically assuming it on failure; the T&C's Exhibit B names Fo...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reliability-offline-order-entryunknown / grade F - Identical single-anecdote basis. Scoring the same Reddit comment across three cells manufactures the appearance of corroboration.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-api-not-upchargedunknown / grade F - The T&C establishes a separate API License instrument but does not state its fee.resolve-to-noMANDATORY no-AUDIT, CONFIRMED against the primary text rather than the sweep's summary of it. I re-read sections 1, 17 and 18 of the live T&C. Section 17 grants only 'a non-exclusive, non-transferable, revocable license through Client Personnel to use those FoodTec Products that are Software as identified in the Sales Contract, in the operation of the Licensed Restaurant' - API use is not inside that grant. Section 1 then defines a separate 'Restaurant API Use Agreement', 'an agreement in a form promulgated by FoodTec under which Client may... use an AS IS FoodTec API to interact with the Restaurant Data for a specified Licensed Restaurant', and a separate 'API License and Linking Agreement' for third parties. The gate is per-restaurant and contractual, which is precisely what this claim's wording ('rather than gated behind... an enterprise-only contract') excludes. I deliberately did NOT extend this to extensibility-api-access-cost, which asks about a fee: FoodTec discloses no API price in either direction, so that cell stays unknown. A contract gate is not a price. source
reporting-cash-over-shortunknown / grade F - Per-driver cash over/short at settle-up is well attested; drawer-level over/short reporting is not documented.resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-channel-profitabilityunknown / grade F - Checked 2026-08-04: the same Performance Reporting page names no per-channel (dine-in vs direct online vs first-party delivery vs each 3P marketplace) revenue or margin breakdown n...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-eod-closeoutunknown / grade F - Checked 2026-08-04: the Performance Reporting page documents only 'Actionable Insights on transactions, sales, costs, discounts' as a general dashboard description; it does not des...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-history-retentionunknown / grade F - Checked 2026-08-03: the Performance Reporting page and the DW Dashboard product page (web1.foodtecsolutions.com/solutions/dwDashboard) let users 'Analyse data for specified periods...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-raw-warehouse-exportunknown / grade F - Checked 2026-08-04: no page describes an automated recurring bulk export of transaction-level raw data to a customer-controlled destination (S3, SFTP, Snowflake, BigQuery); the T&C...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-scheduled-deliveryunknown / grade F - Checked 2026-08-04: the Performance Reporting page describes a live, customizable dashboard but never a scheduled/recurring report delivered automatically by email on a defined cad...resolve-to-partialResolved from unknown by the 2026-09-04 sweep. I read the cited page in full; the decisive wording is quoted verbatim in the claim note, and the note names what the page does not establish. Held to partial rather than yes on that shortfall. source
reporting-tier-paywallunknown / grade F - Checked 2026-08-04: FoodTec publishes no pricing or plan-tier page at all (commercial-pricing-published, already scored no — the 48-page sitemap has none), so whether core reportin...resolve-to-partialResolved off a vendor blog post that unusually states packaging outright: 'All of these reports are included as part of FoodTec's core POS system. They do not require add-ons, upgrades, or extra modules - every pizzeria owner using FoodTec has access to them in our standard reporting package.' The named reports cover every example this claim lists - Labor Summary and Employee Salaries (labor versus sales), Item Sales (PMIX), Control Sales and Secure Action Log (comps/voids/refunds audit), Sales Comparison (period and multi-location comparison). Held to partial because the assertion lives in a blog post rather than a packaging or pricing document, FoodTec publishes no plan structure at all to test it against, and the Data Warehouse Dashboard that actually carries multi-location comparison is separately licensed. source
payments-published-ratesno (grade F), uncited: FoodTec is not the acquirer and publishes no card rates; there is no pricing page at all.upheldUpheld, and the citation is now the master agreement rather than the absence of a pricing page. FoodTec's published terms put every number behind a bilateral document: 'Fees' is defined as 'any amount payable to FoodTec under a Sales Contract or any other FoodTec Agreements', and the only figure the terms themselves state is a late-payment charge of '1.5% late payment charge (or, if less, the highest legal rate under applicable law) for each month the outstanding balance remains unpaid'. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts m source
labor-native-payrollno (grade F), uncited: Payroll is not among the twelve products in FoodTec's catalog; Employee Management 'tracks' payroll rather than processing it. No tax filing or direct deposit offering found.upheldUpheld, and the old rationale's careful distinction is now confirmed against the vendor's own feature list rather than asserted. The cited page describes Employee Management as 'a fully integrated module in your FoodTec POS' whose scope runs 'From on-boarding employees to productivity management, to payroll', and then enumerates what that means: it 'Tracks payroll including overtime holidays' and 'Tracks tipping and allocates accordingly'. Tracking is not processing. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-tota source
hardware-usable-after-churnno (grade F), uncited: Evidence points the wrong way: on default FoodTec 'may remotely disable products', and HaaS hardware never becomes the operator's property. No statement that purchased hardware works with other software.upheldUpheld, and this is now one of the few cells in the corpus where the vendor's documentation answers the question explicitly and answers it the wrong way. The claim is satisfied by documentation confirming hardware stays usable with other software after cancellation; FoodTec's terms reserve the opposite right. On an Event of Default, FoodTec may 'remotely disable or remove the FoodTec Solution in the entirety and/or any FoodTec Products, if any, rendering them inoperable by, or inaccessible to Client'. And the leasing route never conveys title in the first place: 'Hardware-as-a-Service' is defined as 'FoodTec's provision of Hardware to a FoodTec Restaurant for a term bearing a monthly fee as source
reliability-offline-feature-matrixno (grade F), uncited: FoodTec publishes no offline feature list; a site-wide search for 'offline' returns zero results. For a delivery-first vendor whose users specifically praise outage resilience, this is an unforced documentation gap.upheldUpheld, but the old rationale was false in a way that inverted the vendor's own story. It said FoodTec publishes no offline feature list and that a site-wide search for offline returns zero results, and treated the gap as an unforced one, odd for a delivery-first vendor whose users praise its outage resilience. FoodTec does publish outage resilience -- it just does not call it offline. THE ZERO WAS ABOUT THE WRONG WORD: the vendor's term is failover, and the cited 9.5 release page markets it as a founding differentiator -- 'FoodTec was first to deliver Failover over 25 years ago. Faster, live failover now comes standard in 9.5, ensuring business – and revenue – continuity.' The cell nonethel source
reliability-public-status-pageno (grade F), uncited: status.foodtecsolutions.com does not resolve (NXDOMAIN) and a site search for status/uptime returns no results. No public per-component status page found.upheldUpheld and re-probed 2026-09-09 rather than inherited: status.foodtecsolutions.com still fails DNS resolution, a real NXDOMAIN rather than a refusal that might decay. Across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions.com. Freshness was measured by timestamp rather than year, and no bulk re-save is hiding in it: the busiest single minute holds 2 documents, and the modified d source
commercial-interchange-plus-publishedno (grade F), uncited: FoodTec publishes no processing rates of any kind because it is not the acquirer.upheldUpheld and now cited. This claim needs an interchange-plus option with the markup stated as a specific bps plus per-transaction figure, and FoodTec publishes no card rate at all -- not a blended one, not a markup, not a bps number. `interchange plus`, `basis points`, `bps`, `discount rate` and `processing rate` occur zero times across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsoluti source
commercial-source-available-selfhostno (grade F), uncited: Fully proprietary licensed software; the T&C is a classic closed-source license with remote-disable rights.upheldUpheld, and the old rationale's characterisation is now quoted rather than paraphrased. The claim needs source published under an OSI or source-available licence with a documented self-hosting option. FoodTec's terms are a closed licence throughout: `open source`, `source code`, `self-host` and `self hosted` occur zero times across a 232-document corpus read 2026-09-09, six times the 34 pages the previous pass had: the WordPress REST API on foodtecsolutions.com returned every body in bulk -- 48 pages and 153 posts, both counts matching the x-wp-total header AND the per-type sitemaps exactly, so the census is closed in both directions -- plus a 32-page href fixpoint over web1.foodtecsolutions source
order-capture-drive-thruunknown / grade F — Site search for 'drive-thru' returns no product content.resolve-to-partialResolved, and the prior rationale was wrong. It rested on a site search for the term drive-thru returning no product content, but the QSR page names the module outright -- 'With optional QSR modules for Drive thru, Kitchen Display Systems, Web Ordering, Target Marketing, Delivery Apps, Inventory Tracking, cloud-based reporting and even Loss Prevention, we can grow with you' -- and the shipped Customer Web Ordering client (cwo-1.0.92) carries a closed OrderType enum whose members are Pickup, Delivery, Any, For Here, Curbside, To Go, To Stay, Dine In, Bar, Gift Reload, Drive Thru, PreOrder and Banquet. The live per-order-type config served anonymously at this URL exposes `allowParkingSpots` and `handleArrivalStatus` as configurable properties of an order type, and the client calls `GET /ws/integrated/v1/ordering/order/parkingSpots`, so pull-forward/parking-spot assignment is a shipped mechanism. Shortfall: nothing establishes order-point/pay-window/pickup-window separation, order sequencing or tandem-lane assignment, and both boolean flags read false on the store measured. source
order-capture-cateringunknown / grade F — Checked 2026-08-04: the web1 Web Ordering product page and foodtecsolutions.com/online-ordering/ describe delivery/pickup/dine-in and group ordering but no distinct catering flow with quotes, deposits or balance-due tracking; the 25-item web1 solutions catalog (Loyalty, eGift, Target Market, Delivery IQ, Inventory IQ, Web Ordering, Campaign Reports, Order Tracker, Labor Scheduler, Automated Campaigns, Campaign Filtering, Gift Cards, Inventory, Marketing Calendar, Surveys, Unique Coupons, Vendor Integration, DW Dashboard, Group Ordering, Inventory Reports, Menu Manager, Menu Sampling Badges, Mobile Apps, Sales Forecast, Web Scheduler) contains no Catering module. Unresolved.resolve-to-partialResolved against the live store configuration served anonymously at this URL (store pizzamarket-goffstown, release 9.5.97, 141 keys). `hasCateringNoticeTime` is a first-class store flag; in the shipped client menu items and specials each carry a `noticePeriod`, and when an item requires more notice than the order currently allows the client fetches dedicated time slots rather than the ASAP path. Banquet is a member of the client OrderType enum. Shortfall: this is lead-time enforcement only -- no quote or proposal object, no deposit, no balance-due tracking, and no event schedule separate from the order queue is exposed anywhere. source
digital-catering-portalunknown / grade F — Checked 2026-08-04: matches order-capture-catering — no distinct catering flow with separate menu, minimums, lead-time rules, deposits, or invoice/house-account terms is documented anywhere, and no Catering module appears in the web1 solutions catalog. Unresolved.resolve-to-partialResolved against the same live store configuration. Lead-time rules are shipped (`hasCateringNoticeTime`, per-item and per-special `noticePeriod`, a separate time-slot fetch when the notice period exceeds the order), and an invoice-style tender exists in the ordering channel: the configuration exposes `houseAccountsRequireName` and `houseAccountsRequirePhone`. Shortfall: no separate catering menu or order minimum, no quote or proposal, no deposit, and no ACH payment terms appear in the configuration, in the shipped client, or in the 233-document prose corpus. source
payments-house-accountsunknown / grade F — Checked 2026-08-04: no page describes on-account tabs, credit limits, or periodic statements; the Point of Sale page names no account-based tender type. Unresolved.resolve-to-partialResolved. The live store configuration exposes `houseAccountsRequireName` and `houseAccountsRequirePhone`, so an on-account tender is a configurable part of the shipped ordering product rather than an undocumented one. Shortfall: no per-account credit limit, no running balance and no periodic statement or invoice generation is exposed in the configuration, in the shipped client, or anywhere in the 233-document prose corpus. source
menu-pricing-modifier-price-by-parent-sizeunknown / grade F — Checked 2026-08-03: FoodTec's Menu Manager product page (web1.foodtecsolutions.com/solutions/menuManager) documents editing 'your items' price and ingredients as well as adjust item size' as a service performed by FoodTec's Menu Manager team, but says nothing about a modifier price matrix keyed to parent item or size. The Pizza Configurator named on the web-ordering pages carries no pricing semantics, and the hosted ordering flow at order.foodtecsolutions.com renders client-side and could not be read. Unresolved.resolve-to-partialResolved against the shipped Customer Web Ordering client (cwo-1.0.92). In its menu model an Ingredient deserializes its own `sizePrices` collection and exposes `getSizePrice(size)`, alongside `qualifiers` and `tags`; the parent Item carries a separate `sizePrices` collection of its own, and the live store configuration carries `showSizeSpecificIngredients`. A modifier therefore prices per selected size natively rather than by duplicating the modifier. Shortfall: only the size axis is evidenced. Nothing establishes a second axis keyed to the parent item, and no live menu payload could be read to confirm the matrix in data -- /ws/integrated/v1/menu is shadowed by the SPA route of the same name and returns the application shell. source
menu-pricing-topping-quantity-tiersunknown / grade F — Checked 2026-08-03: the Menu Manager and Web Ordering product pages on web1.foodtecsolutions.com and the 3rd-party-integrations page ('Half & Half toppings and detailed pizza options') document topping placement but never a light/regular/extra/double tier or a per-tier price multiplier. The live hosted ordering menus at order.foodtecsolutions.com, which would show the shipped topping picker, render client-side and could not be read. Unresolved.resolve-to-partialResolved against the shipped client. Each Ingredient carries a `qualifiers` collection, rendered by a dedicated `fts-qualifier-choice` component that binds `orderedQualifiers`, `qualifiers`, `size`, `isHalf` and `isSecondHalf`, so a qualifier is selected per ingredient and independently per half. The live store configuration names the tier in the operator vocabulary (`xtraLabel` reads 'Xtra?') and carries `extraIngredientUpsellStrategy` ('First Priced'), which prices extra ingredients rather than treating them as free repeats. Shortfall: a configurable price multiplier per tier, distinct from adding the modifier a second time, is not evidenced -- the Qualifier class carries no visible price field and no menu payload is reachable. source
menu-pricing-allergen-nutritionunknown / grade F — Re-checked 2026-09-04. No allergen or nutrition field appears on any FoodTec page, and the Menu Manager page - which enumerates what a menu item carries (price, ingredients, size, weight, total ingredients) - does not include them. The T&C makes the client 'solely responsible for... caloric information', which is a liability allocation rather than a capability denial and is not treated as evidence of absence. Unresolved.resolve-to-partialResolved. Nutrition exists in one dimension only: the live store configuration carries `showCalories`, `showCaloriesOnCheckout` and `showCaloriesForSizeUpsells`, so per-item calorie values are stored and publishable to the ordering channel. Shortfall: no allergen capability of any kind. `allergen` occurs zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped ordering client, and every live API response captured -- and nothing derives nutrition from linked recipe components or pushes either allergens or nutrition to third-party menus. Control: `pizza` reads 671/3/8 across the same three corpora, so the matcher is not silently failing. source
digital-surcharge-transparencyunknown / grade F — Checked 2026-08-03: no surcharge, service-fee or dual-pricing configuration is documented for any FoodTec channel (see payments-dual-pricing); the online-ordering pages describe payment options and assert PCI compliance only. The guest-facing checkout at order.foodtecsolutions.com renders client-side and could not be inspected for fee disclosure. Unresolved.resolve-to-partialResolved. The digital channel does carry guest-facing fee disclosure as a product feature: the live store configuration exposes `webOrderingServiceName`, `supplementalFeeName` and `supplementalFeeDescription` as named, described fee lines rendered to the guest, plus `compactOrderCharges` and `showSubTotalOnly`, and the client posts to /ws/integrated/v1/ordering/order/payments/getFee. Shortfall: this is a flat store-configured fee, not the POS surcharge configuration the claim asks about. No dual-pricing or card-surcharge model exists in the shipped client, and nothing handles jurisdictions or card brands where surcharging is prohibited. source
guest-loyalty-consent-managementunknown / grade F — Re-checked 2026-09-04. The only consent language FoodTec publishes (STOP to unsubscribe, HELP for help, autodialer disclosure, in the T&C) governs FoodTec's own SMS to its own leads, not the operator's guest consent tooling; treating it as the latter would launder a vendor lead-form notice into a product capability. Campaign reporting tracks email unsubscribes, but no per-channel consent record with timestamp and source of consent is documented anywhere. Unresolved.resolve-to-partialResolved against the shipped client. Marketing consent is captured per channel and with its origin: the client posts to /ws/integrated/v1/ordering/customer/subscriptions with a `channelDTOS` array, the `smsDisclaimer` text that was shown, and a `subscriptionSource` read from session storage, and the live store configuration carries `smsSubscriptions`, `hasSmsOffersCoupon`, `daysAfterSmsOfferSubsPopupAppears`, `guestCheckoutEmailPolicy` and `privacyPolicyAcknowledgment`. Source of consent is therefore recorded. Shortfall: no consent record with a timestamp is exposed on any read path, and the only revocation mechanism FoodTec documents anywhere is the STOP keyword in the Acceptable Use Policy, which is an obligation placed on the operator rather than tooling that honours revocation received by other means. source
guest-loyalty-wallet-passunknown / grade F — Loyalty cards are offered as 'electronic, paper, plastic'; no Apple/Google Wallet pass is named.resolve-to-noOverturned from unresolved to positive absence. The shipped consumer ordering client is the surface a wallet pass would live on, and it integrates Apple deeply -- a full ApplePaySession flow with merchant validation, `supportsApplePay` gating and merchant capabilities declaring supports3DS -- while containing no PassKit or wallet-pass path at all. `Apple Wallet`, `Google Wallet` and `wallet pass` occur zero times, tokenised, across all three corpora: the 233 first-party prose documents, the 2.5 MB client, and every live API response. The live loyalty-plan endpoint independently exposes the card media as `hasLoyaltyCards` and `needsLoyaltyCards` only, matching the web1 Loyalty page, whose card media are an online account plus, optionally, 'paper or plastic Loyalty cards'. The mobile Loyalty App is the other surface a pass could be issued from, and it does not rescue the cell: the /mobile-apps/ page and the web1 mobileApps module page are both inside the 233-document corpus over which those three terms read zero. A client that implements one Apple framework and not the other is positive evidence, not silence. Control: `ordering` reads 489/64/12 over the same three corpora. source
menu-pricing-dual-pricingunknown / grade F — Checked 2026-08-04: the Point of Sale page says only 'Our POS facilitates a number of payment options' with no cash-vs-card pricing content; the online-ordering and web1 webOrdering pages list 'Multiple Payment Options, including Gift Cards' but nothing about displayed dual prices; the published T&C contains no cash-discount, dual-pricing or surcharging provisions; a web search for FoodTec dual pricing / cash discounting surfaces only other vendors. No FoodTec artifact addresses the capability in either direction. Unresolved.resolve-to-noOverturned from unresolved. The claim requires the card price to display as the base price consistently across POS, kiosk AND online ordering, so the online-ordering channel alone can falsify it, and it does. The shipped Customer Web Ordering client models every other price concept explicitly -- per-size item prices, per-size ingredient prices, ingredient qualifiers, tips with excessive-tip thresholds, taxes, a named web-ordering service charge and a named supplemental fee -- and carries no second price per item and no cash-versus-card display anywhere. `dual pricing` and `cash discount` occur zero times, tokenised, across all three corpora read this session. The store configuration's only fee mechanism is a flat `supplementalFeeName`/`supplementalFeeDescription` pair applied to the whole check, which is a surcharge line, not item-level dual pricing. Stated plainly, because it is the whole basis of the verdict: FoodTec publishes nothing about the POS side in either direction, and this `no` rests on falsifying one conjunct of a claim that requires all of them. If the POS turns out to carry dual pricing the correct value becomes `partial`, not `yes`. source
kitchen-offline-operationunknown / grade F — Checked 2026-08-04: the Oct 2025 AWS-outage post states a store can 'print and display tickets in the kitchen' during a cloud outage, which is evidence for the sibling cell reliability-offline-kds-printing (already scored yes), but that cell is about printing/display continuing, not specifically about the KDS continuing to RECEIVE new tickets from on-site POS terminals during the outage — the post does not distinguish new-ticket receipt from already-queued-ticket display. No technical architecture document exists to resolve the distinction. Unresolved.resolve-to-partialResolved, and the prior rationale's distinction is answered by a sentence it did not quote. The post does separate new-ticket receipt from queued-ticket display: 'When the internet drops, taking orders and sending items to the kitchen are still possible with edge computing.' Its bulleted list of what the system can still do is 'Take phone and walk-up orders', 'Print and display tickets in the kitchen' and 'Capture credit card payments (with supported processors)'. Shortfall: this is a marketing post rather than architecture documentation. It states no queue depth, no reconnect reconciliation behaviour, and nothing about what happens when a KDS screen rather than the internet is the thing that fails. source
delivery-offline-behaviorunknown / grade F — Nothing published; a site search for 'offline' returns no results.resolve-to-noOverturned from unresolved. The claim asks whether the vendor DOCUMENTS offline behaviour for delivery, and FoodTec publishes exactly one offline-behaviour document -- this post -- which enumerates what continues during an internet outage in three bullets: 'Take phone and walk-up orders', 'Print and display tickets in the kitchen' and 'Capture credit card payments (with supported processors)'. Delivery appears in none of them, and neither driver assignment nor driver settlement nor cash delivery orders is mentioned in the body. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. Across those 233 documents `offline` occurs in 4, none of them about delivery. source
guest-loyalty-offline-behaviorunknown / grade F — Checked 2026-08-04: neither loyalty page nor the AWS-outage post states what loyalty lookup, accrual, or redemption do when the POS loses connectivity; FoodTec publishes no offline behavior matrix of any kind (site search for 'offline' returns zero results, per hardware-offline-mode finding). Unresolved.resolve-to-noOverturned from unresolved. The claim asks whether the vendor documents loyalty behaviour under connectivity loss. FoodTec publishes exactly one offline-behaviour document -- this post -- and its three-bullet enumeration of what still works covers order taking, kitchen printing and display, and card capture. Loyalty lookup, accrual and redemption appear in none of them, and the word does not appear in the post at all. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
labor-offline-time-punchunknown / grade F — Checked 2026-08-04: same Labor Scheduler and Employee Management pages reviewed; neither documents time-punch behavior of any kind, let alone offline reconciliation without loss or duplication. Unresolved.resolve-to-noOverturned from unresolved. The claim requires the offline time-punch behaviour to be documented. FoodTec's only published offline-behaviour document is this post, whose enumeration of what continues during an outage is order taking, kitchen printing and display, and card capture; time punches are absent, and so is any statement about reconciling them on reconnect. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
extensibility-free-sandboxunknown / grade F — Checked 2026-08-04: info.foodtecsolutions.com is a login-walled portal (extensibility-public-api-docs, already scored no); no page mentions a free sandbox or seeded test environment available without a paid production account. Unresolved.resolve-to-noOverturned from unresolved. The published Terms and Conditions gate every third-party touch of a FoodTec API behind an executed bilateral document: the API License and Linking Agreement is defined as an agreement 'in a form promulgated by FoodTec under which a Third Party is permitted to use one or more FoodTec APIs' and Confidential Information. A contract executed before first use is structurally incompatible with a sandbox available to a developer who does not hold a paid production account. `sandbox` occurs zero times across the 233 first-party prose documents; its only two occurrences anywhere are inside the shipped client, where both are Sentry's 'Could not create sandbox iframe for pure fetch check' warning -- a third-party library string, not a FoodTec developer environment. developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN. source
extensibility-oauth-partner-appsunknown / grade F — Checked 2026-08-03: no developer documentation is public in which an auth model could be stated — the T&C requires an executed 'API License and Linking Agreement' before a third party touches FoodTec APIs, info.foodtecsolutions.com is a login wall, and searches surface no FoodTec OAuth, scope or token reference. The one third-party artifact (Cyclr's connector setup guide) describes authenticating with an API key issued on request, which leans against scoped OAuth but is not FoodTec's own statement and does not enumerate supported auth methods. Unresolved.resolve-to-noOverturned from unresolved. The claim asks for OPERATOR-granted, scoped, individually revocable permissions. The published Terms and Conditions place the grant in the opposite party's hands: a Third Party may use a FoodTec API only under an agreement 'in a form promulgated by FoodTec', and a Linked Application is defined as one 'that interacts with one or more FoodTec APIs' under that instrument. The restaurant's own access runs through a separate Restaurant API Use Agreement. Access is therefore vendor-granted by contract, not operator-granted by scope. A caution against a false zero: `OAuth` is NOT absent from FoodTec's estate -- the shipped ordering client posts to /oauth/token/authenticate and logs 'has logged in using an oauth token' -- but that is consumer social sign-in on the guest ordering site, not a partner-app authorisation model, and reading it as one would be the error this cell has been avoiding. source
extensibility-published-rate-limitsunknown / grade F — Checked 2026-08-04: no numeric API quota, throttling behavior, or rate-limit header is published anywhere; consistent with the total absence of a public API reference. Unresolved.resolve-to-noOverturned from unresolved. `rate limit`, `throttling` and `quota` occur zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped ordering client, and every live API response captured -- The T&C independently explains why nothing is published: API use is admitted only under a bilaterally executed API License and Linking Agreement, so quotas are a term of a private contract rather than a published figure. developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN, so no unpublished developer host is hiding the figures either. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
extensibility-api-versioning-deprecationunknown / grade F — Checked 2026-08-04: the T&C states only that the Terms and Conditions document itself 'may update... from time to time by posting the updated version'; that is a legal-terms clause, not an API changelog or a stated breaking-change deprecation policy, and no such document exists elsewhere. Unresolved.resolve-to-noOverturned from unresolved. `changelog`, `deprecation` and `sunset` occur zero times across the 233 first-party prose documents and every live API response; the three `deprecated` matches in the shipped client are all RxJS's `useDeprecatedSynchronousErrorHandling`, a library flag rather than a FoodTec notice. The APIs are versioned in the path -- every ordering endpoint sits under /ws/integrated/v1 -- but a version segment is not a changelog, and the T&C's only change-notice clause governs the terms document itself, not the interface. No developer or api subdomain resolves. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
extensibility-webhook-reliabilityunknown / grade F — Checked 2026-08-04: matches extensibility-webhooks-push (already scored unknown) and reporting-webhooks (this pass) — no public API surface exists on which signing, retry, or replay behavior could be documented. Unresolved.resolve-to-noOverturned from unresolved. The claim requires signing AND documented retry AND a replayable event log -- all three are documentation propositions. `webhook` occurs zero times, tokenised, across all three corpora read this session, including the 2.5 MB shipped ordering client, which does open a WebSocket (/ws/socket/ordering/websocket) but exposes no outbound event delivery to a customer endpoint. The T&C admits third-party API use only under a bilaterally executed licence, so no public reference exists in which signing or retry could be stated, and no developer subdomain resolves. Control: `ordering` reads 489/64/12 over the same three corpora. source
reliability-pci-dss-4-attestationunknown / grade F — No AoC, P2PE listing or trust center published; the DPA does not mention PCI DSS or SOC 2 at all.resolve-to-noOverturned from unresolved. `P2PE`, `attestation`, `Attestation of Compliance`, `AoC` and `trust center` occur zero times, tokenised, across all three corpora read this session. The T&C is the instrument that would carry a vendor attestation and instead assigns the obligation outward, to 'PCI regulations applicable to the operation of the Licensed Store'. status, trust and security under foodtecsolutions.com all return NXDOMAIN (measured, not inferred from a timeout), so there is no trust centre on another host either. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
commercial-pci-dss-4-controlsunknown / grade F — Checked 2026-08-04: the T&C's Section 9(b)(ii) references PCI compliance obligations generically ('PCI regulations applicable to the operation of the Licensed Store') without naming PCI DSS v4.0.1, MFA for cardholder-data-environment access, or payment-page script-integrity monitoring; no AoC or trust center is published (matches reliability-pci-dss-4-attestation, already scored unknown). Unresolved.resolve-to-noOverturned from unresolved. The v4.0.1 future-dated controls are named nowhere: `P2PE` and `attestation` read zero across all three corpora, `MFA` and `two-factor` read zero across the 233 prose documents, and nothing in the corpus describes payment-page script-integrity monitoring. One finding cuts the other way and is recorded because it does: the shipped ordering page actually IMPLEMENTS subresource integrity, serving every script tag with crossorigin=anonymous and an integrity sha384 digest. That is a Req 6.4.3-shaped control shipped and never claimed, which is the opposite of the documentation this cell asks for and is why the verdict is about documentation rather than about the control. The T&C references PCI only as an obligation of the Licensed Store. trust.foodtecsolutions.com and security.foodtecsolutions.com both return NXDOMAIN. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
commercial-soc2-attestationunknown / grade F — Neither the T&C nor the DPA mentions SOC 2 or ISO 27001; the DPA describes only general technical measures such as access logging. No trust center found.resolve-to-noOverturned from unresolved. The Data Processing Addendum is the document in which a SOC 2 Type II or ISO 27001 representation would sit, and it describes technical measures generically without naming either. `SOC 2`, `SOC2`, `ISO 27001`, `attestation` and `trust center` occur zero times, tokenised, across all three corpora read this session, and trust.foodtecsolutions.com and security.foodtecsolutions.com both return NXDOMAIN, so no trust centre exists on another host. The claim is about a stated attestation and an on-request report; both are publication propositions and the census that settles them is closed. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
commercial-wcag-kiosk-accessibilityunknown / grade F — Re-checked 2026-09-04 against the full 202-URL sitemap: no VPAT, ACR or accessibility statement exists on any FoodTec page, and the kiosk is described only as 'a self-service dedicated tablet'. The T&C makes the client 'solely responsible for... ADA accessibility', but that is a liability allocation, not a statement about the kiosk's conformance, so it cannot carry a `no`. Unresolved.resolve-to-noOverturned from unresolved, and the instrument is the publisher's own manifest rather than an argument from silence. `VPAT`, `ACR`, `WCAG`, `Section 508` and `accessibility conformance` occur zero times, tokenised, across all three corpora read this session -- the 233 first-party prose documents, the 2.5 MB shipped consumer ordering client, and every live API response -- and the shipped client contains no non-visual access mode. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. The T&C's allocation of ADA responsibility to the client is context, not the evidence: the evidence is that the vendor's complete published corpus, censused in both directions, contains no conformance report. source
reliability-incident-postmortemsunknown / grade F — Checked 2026-08-04: the Oct 2025 AWS-outage post is commentary on an external AWS/Azure outage that other vendors suffered and FoodTec did not ('An internet outage took down over 140,000 POS systems across the country... FoodTec's didn't'), not a root-cause postmortem of a FoodTec-caused incident; no page describes any FoodTec-specific outage or its resolution. Unresolved.resolve-to-noOverturned from unresolved. This is the publisher's own complete post index: 153 entries, matching the REST API's own count of the `post` type exactly, so the blog is censused in both directions and none of its entries is an incident report. `postmortem`, `post-mortem`, `root cause`, `RCA`, `incident report` and `status page` occur zero times, tokenised, across all three corpora read this session, and status.foodtecsolutions.com returns NXDOMAIN. The one outage post FoodTec published is commentary on someone else's failure, not its own. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
guest-loyalty-10dlc-registrationunknown / grade F — Checked 2026-08-04: the Acceptable Use Policy (foodtecsolutions.com/acceptableusepolicy/) sets messaging-consent obligations on the operator (opt-in, opt-out keywords, consent records — already sourced at guest-loyalty-consent-management) but never mentions 10DLC, A2P brand/campaign registration, or carrier registration; no other FoodTec page addresses SMS compliance mechanics. Unresolved.resolve-to-noOverturned from unresolved. The Acceptable Use Policy is FoodTec's messaging-compliance instrument -- it sets opt-in, opt-out keyword and consent-record obligations on the operator -- and it is silent on carrier registration. `10DLC` occurs zero times, tokenised, across all three corpora read this session; the two `A2P` matches are both the minified Angular symbol `A2p` in the shipped client's dependency-injection table, not a messaging term. The live store configuration does show FoodTec brokering SMS itself (`hasSMSProvider`, `smsCampaigns`, `smsSubscriptions`), which makes the absence of any registration statement a documented gap rather than an unexamined one. source
order-capture-voice-aiunknown / grade F — FoodTec's July 2026 AI article names exactly one shipped AI feature — an AI Assistant for writing email/SMS campaigns. No voice agent, no documented voice-AI partner program.resolve-to-noOverturned from unresolved. FoodTec's own 2026 AI article names exactly one shipped AI feature -- 'AI Assistant (pictured below) for creating email and SMS campaigns' -- and nothing else in the 233-document corpus describes a voice agent. The alternative limb of the claim, a documented API partner program for third-party voice AI, is foreclosed by the T&C, which admits third parties to FoodTec APIs only under a bilaterally executed API License and Linking Agreement, and by the fact that developer, developers, api, apidocs and partners under foodtecsolutions.com all return NXDOMAIN. The 9.5 release page describes FoodTec's actual answer to the inbound phone order and it is not AI: 'FoodTec continues to partner with VOIP providers to reduce hardware needs and pass Caller ID directly to the POS.' source
digital-voice-ai-phoneunknown / grade F — FoodTec's own AI article names only a marketing-copy AI Assistant; no voice ordering product or named partner.resolve-to-noOverturned from unresolved. The 9.5 release page is where FoodTec describes its inbound-phone-order mechanism, and the mechanism is caller identification, not transcription: 'FoodTec continues to partner with VOIP providers to reduce hardware needs and pass Caller ID directly to the POS.' The order still lands with a human. FoodTec's own 2026 AI article names one shipped AI feature and it is a campaign-copy assistant; no voice product and no named certified partner appears in the 233-document corpus or in the shipped ordering client. source
digital-drivethru-aiunknown / grade F — Checked 2026-08-04: FoodTec's own July 2026 AI article names exactly one shipped AI feature, a campaign-copy assistant (matches order-capture-voice-ai, already scored); no drive-thru voice ordering product or partner is named. Unresolved.resolve-to-noOverturned from unresolved. Drive Thru is a real FoodTec order type -- it is a member of the shipped client's OrderType enum and the QSR page sells a Drive thru module -- so the lane exists and its AI is genuinely absent rather than out of scope. FoodTec's own 2026 AI article names exactly one shipped AI feature, a campaign-copy assistant, and neither a lane voice agent nor an escalation-to-human handoff appears anywhere in the 233-document corpus or in the shipped client. source
inventory-lot-traceabilityunknown / grade F — Checked 2026-08-04: no page (Inventory Optimization, InventoryIQ, web1 Inventory, Inventory Reports, Vendor Integration) mentions lot or batch numbers at receiving or a forward/backward recall trace. Unresolved.resolve-to-noOverturned from unresolved. This page enumerates the InventoryIQ feature set outright, eleven items long: Mobile & User-friendly, Synced with Your POS, Pair Devices Save Time, Inventory Location and Completion Alerts, Excessive Variance Configuration, Intuitive Catch Weight, Alerts Hidden Expected Variances, Smart Count Sequence, Count Purchased Inventory, Voice & Text Search, and Reporting. The web1 inventory pages add store-to-store transfers, par-level suggested purchase orders, vendor purchase-order and invoice exchange, and waste versus variance reporting. Lot or batch capture at receiving appears in none of them, and `lot number`, `batch number` and `traceability` occur zero times, tokenised, across all three corpora read this session. An enumerated first-party feature set at this granularity with recall tracing absent everywhere is positive evidence of absence. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
inventory-shelf-life-expiryunknown / grade F — Checked 2026-08-04: same set of inventory pages reviewed; none mentions expiration or use-by date tracking or an expiring-soon alert. Unresolved.resolve-to-noOverturned from unresolved. The same eleven-item InventoryIQ feature enumeration on this page, and the web1 inventory pages behind it, name no expiration or use-by date and no expiring-soon alert. `use-by` occurs zero times across all three corpora; the single `shelf life` match in the corpus is a 2019 interview about staff retention, and every `expiration date` match is either coupon expiry on the Unique Coupons page or credit-card expiry fields in the shipped ordering client. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
multi-location-royalty-calculationunknown / grade F — Checked 2026-08-04: no page (Menu Manager, DW Dashboard, Performance Reporting, or the 25-item web1 solutions catalog) names royalty, ad-fund, or marketing-fee calculation from POS net sales. Unresolved.resolve-to-noOverturned from unresolved. This is FoodTec's own multi-unit pitch page and its enterprise story is central configuration and drill-down reporting, with no franchise financial layer. The census makes the absence positive rather than merely unobserved: `franchisee` and `ad fund` occur zero times, tokenised, across all three corpora read this session, and the two `royalty` matches in 233 documents are both the royalty-free licence boilerplate in the DeliveryIQ and InventoryIQ privacy policies. A vendor whose stated ICP is franchise groups publishing nothing at all on royalty basis or schedule, across a corpus closed in both directions, is evidence of absence. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
multi-location-royalty-collectionunknown / grade F — Checked 2026-08-04: same pages reviewed; no automated ACH/debit collection of royalties or franchisee-visible royalty statement is documented anywhere. Unresolved.resolve-to-noOverturned from unresolved. Collection presupposes the calculation this record now scores `no`, and the same census applies: `franchisee` and `ad fund` read zero across all three corpora and the only two `royalty` matches are privacy-policy licence boilerplate. No automated ACH or debit collection of fees from franchisee accounts and no franchisee-visible statement of charges appears on the multi-unit page, in the 29-module web1 catalogue, or anywhere else in the 233-document corpus. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
labor-payroll-export-formatsunknown / grade F — Checked 2026-08-04: the T&C's Data Export definition names 'Client Data, menu data, employee data or other data' generically (guest-loyalty-data-export-portability, already scored) but no page names a specific export format or integration with Gusto, ADP, Paychex or QuickBooks. Unresolved.resolve-to-noOverturned from unresolved. The Employee Management page is FoodTec's payroll surface -- it claims the module 'Tracks payroll including overtime' and holidays and 'Tracks tipping and allocates accordingly' -- and it names no export format and no payroll provider. `Gusto`, `ADP`, `Paychex`, `Paylocity` and `QuickBooks` occur zero times, tokenised, across the 233 first-party prose documents and every live API response; the single `ADP` match anywhere is the Andorran peseta currency code in the shipped client's Angular locale table, which is why it is quoted here rather than left as a silent zero. The claim requires documented formats or direct integration for at least two named providers; neither exists. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
extensibility-payroll-exportunknown / grade F — Checked 2026-08-04: matches labor-payroll-export-formats, this pass — no page names Gusto, ADP, Paychex, Paylocity or any other payroll provider as an export target. Unresolved.resolve-to-noOverturned from unresolved, on the same instrument as labor-payroll-export-formats. FoodTec's payroll surface is the Employee Management page, which claims the module 'Tracks payroll including overtime' and holidays but names no provider and no native export. `Gusto`, `Paychex` and `Paylocity` occur zero times, tokenised, across all three corpora read this session, and the only `ADP` match anywhere is the Andorran peseta code in the shipped client's locale table. Two named payroll destinations are required; zero are published. Corpus re-derived 2026-09-10 and closed in both directions: `wp/v2/types` names one public custom type (`store`) beyond posts and pages, the REST API returns 153 posts + 48 pages, and the per-type sitemaps return 153 + 48 + 1, the single difference being /blog/store, which REST omits and which was fetched separately -- 202 marketing documents, plus a 31-page href fixpoint over web1.foodtecsolutions.com, for 233 first-party prose documents. `wp/v2/media?mime_type=application/pdf` returns 0 of 599 media items, so there is no PDF corpus on this host. source
labor-digital-onboarding-i9unknown / grade F — Checked 2026-08-04: neither the Labor Scheduler nor the Employee Management page mentions new-hire onboarding, W-4/I-9 collection, or E-Verify submission. Unresolved.resolve-to-partialResolved. The vendor does claim the onboarding step: the Employee Management page states that 'From on-boarding employees to productivity management, to payroll, the module streamlines your administrative processes', so new-hire onboarding is inside the module rather than absent from it. Shortfall: nothing beyond the phrase. `W-4` occurs zero times across all three corpora read this session; the only `I-9` and `E-Verify` matches in 233 documents are a 2019 blog post advising operators about I-9 mistakes, which is industry commentary and not a product surface. No document collection, no E-Verify submission. source
order-capture-native-handheldunknown / grade F — Re-checked 2026-09-04. FoodTec's 2025-09-09 post 'Increase Table Turns with Hand-Held Ordering Terminals' is generic industry advocacy for mobile POS devices - it describes what hand-held terminals do for a pizzeria in the abstract and closes with 'CONTACT US'. It never states that FoodTec ships one, names a device, or describes a FoodTec hand-held app. Reading it as evidence of a first-party handheld would be exactly the marketing-as-capability error. The only first-party mobile apps FoodTec documents are Delivery IQ (driver), Inventory IQ (Android counting) and FoodTec IQ (management). Unresolved.resolve-to-partialResolved off unresolved on an artefact the prior pass did not read. The full-service page does not merely advocate handhelds in the abstract the way the 2025 blog post did -- it lists tableside ordering as a shipped FoodTec module: 'All our FoodTec solutions including Table Management, Tip Reporting, Loyalty, and Table-side ordering have been designed and developed specifically to support your business needs, maximize revenue and ensure your success as a full-service restaurant.' The Point of Sale page adds that 'The POS is mobile-enabled putting the right tools in your hands wherever you go.' Shortfall: this is a vendor marketing claim and nothing more. No device is named, nothing establishes a native application rather than a mirrored desktop session, and no tableside card capture is described anywhere -- the only at-the-door payment FoodTec documents is the Delivery IQ driver flow. source
order-capture-order-ready-signalunknown / grade F — Checked 2026-08-04: the 3rd-Party Integrations and Delivery Monitoring pages document menu/price sync and order injection from marketplaces into the POS but say nothing about pushing an order-ready status back out to DoorDash/Grubhub/Uber Eats from POS or KDS state (matches kitchen-order-ready-callbresolve-to-partialDoorDash partner-integrations registry pass. unknown/F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NO source
menu-pricing-86-propagationunknown / grade F — Checked 2026-08-04: the 3rd-Party Integrations page documents item/price/topping/image sync to DoorDash, Grubhub and Uber Eats (already scored under menu-pricing-3p-menu-push) but never states that marking an item 86'd propagates to those channels, to the vendor's own online ordering, or to a kiosk,resolve-to-partialDoorDash partner-integrations registry pass. unknown/F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NO source
kitchen-order-ready-callbackunknown / grade F — Checked 2026-08-04: neither the Kitchen Systems nor the 3rd-Party Integrations page describes bumping an order on the KDS sending a ready-status event back to a marketplace; matches order-capture-order-ready-signal, same research pass. Unresolved.resolve-to-partialDoorDash partner-integrations registry pass. unknown/F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NO source
delivery-86-syncunknown / grade F — Checked 2026-08-04: the 3rd-Party Integrations page documents item/price/image sync to marketplaces (menu-pricing-3p-menu-push) but never item-level out-of-stock (86) push or restore-on-availability; matches kitchen-channel-pause-propagation, same absence. Unresolved.resolve-to-partialDoorDash partner-integrations registry pass. unknown/F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NO source
delivery-store-pauseunknown / grade F — Checked 2026-08-04: no page describes pausing a store on a connected marketplace from inside the POS with a timed auto-reactivation; the 3rd-Party Integrations and Delivery Monitoring pages are silent. Unresolved.resolve-to-partialDoorDash partner-integrations registry pass. unknown/F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash's integrations comparison page. SCOPE: this attests the vendor's DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NO source
kitchen-channel-pause-propagationunknown / grade F — Checked 2026-08-04: the same full Kitchen Systems bullet list and the 3rd-Party Integrations page (item/price/image sync only) contain nothing about a POS/KDS pause or 86 action propagating to DoorDash, Uber Eats or Grubhub. Unresolved.resolve-to-partial260th session, DoorDash partner-integrations feature-flag pass. unknown / grade F -> partial/B. DoorDash publishes a machine-readable registry of its integration partners at https://merchants.doordash.com/api/partner-integrations — 64 providers, each tiered PREFERRED (12), CERTIFIED (47) or AT_RISK_OF_SUSPENSION (5), and each carrying an explicit true/false flag for 23 named integration features across four collections. It is served anonymously and merchants.doordash.com/robots.txt permits it. The programme is described, and its eight high-quality features defined in prose, at https://merchants.doordash.com/en-us/learning-center/doordash-preferred-integrations-program; the merchant-facing label for each flag comes from the label dictionary embedded in DoorDash’s integrations comparison page. SCOPE: this attests the vendor’s DOORDASH integration specifically — not Uber Eats, not Grubhub, and not the POS in general. DIRECTION: a true flag is a positive attestation; a false flag is NOT a reliable negative on its own, because Lavu’s help centre documents a DoorDash temporary-closure control with scheduled auto-reopen while Lavu’s `STORE_AVAILABILITY_WEBHOOKS` flag reads false, and Xenial’s developer docs enumerate an order-ready notification while its `SUPPORT_ORDER_READY_SIGNAL` flag reads false. Re-probed 2026-09-12: the registry payload is byte-identical to the 259th’s frozen copy (md5 e638fc99931673ecdcdbbb3ea2fbbfaf, 158,095 bytes, 64 providers) and every quotation below was confirmed verbatim-present in the bytes fetched that day. Both of the claim’s disjuncts are attested for `foodtec_production` on DoorDash. `STORE_AVAILABILITY_WEBHOOKS` (‘Integrated close/pause store’) is TRUE, and `ITEM_LEVEL_86`, defined on the programme page as ‘Real-time item 86ing - updates item availability across systems when items are marked unavailable’, is also TRUE; both sit in collections that are active for this provider. The prior unknown rested on the Kitchen Systems bullet list and the 3rd-Party Integrations page being silent on a POS/KDS pause or 86 propagating outward, and the registry is not silent on it. SHORTFALL: the claim names DoorDash, Uber Eats and Grubhub, and this instrument attests DoorDash only — FoodTec’s own corpus documents item, price and image sync to all three but never an outbound pause or availability change to any of them. source
extensibility-first-party-delivery-integrationspartial / grade C — Shortfall: DoorDash is the only first-party delivery integration with a functional onboarding artifact, and it is a manual queue ('Current wait time is about one week') rather than a self-serve connector. Uber Eats and Grubhub are marketing assertions with no corresponding listing in either platform's partner directoryupheld260th session (note-correction-verdict-stands), DoorDash partner-integrations feature-flag pass. partial / grade C -> partial/C. Shortfall: DoorDash is the only one of the three named marketplaces with a first-party integration this corpus can establish. Uber Eats and Grubhub are marketing assertions with no corresponding listing in either platform’s partner directory. The integration surface is additionally commercially gated: per FoodTec’s T&C a third party may only touch FoodTec APIs once ‘FoodTec has obtained a API License and Linking Agreement’, so an operator cannot add a delivery integration without FoodTec’s commercial participation. CORRECTED 2026-09-12: this note previously also characterised the DoorDash onboarding as ‘a manual queue rather than a self-serve connector’, off the wait-time sentence on FoodTec’s DoorDash registration page. DoorDash’s own partner registry (https://merchants.doordash.com/api/partner-integrations) contradicts that half of the shortfall: for `foodtec_production` both `SSIO_INTEGRATION_ONBOARDING` (‘Self-guided store setup’) and `AUTO_ACTIVATE_SSIO` (‘Self-serve store activations’, plural in the label dictionary and singular in the programme prose) read TRUE, and the programme page defines the first as ‘Enables you to complete the integration process on your own and at your own pace’. The self-serve clause is withdrawn; the verdict stays `partial` on the surviving shortfall, which is that only one of the three named marketplaces is established. source
kitchen-channel-pause-propagationpartial / grade B — resolved from unknown on 2026-09-12 off `STORE_AVAILABILITY_WEBHOOKS` and `ITEM_LEVEL_86` both TRUE for `foodtec_production`, shortfall "this instrument attests DoorDash only"upheldThe strongest of the nine. I confirmed from my own fetch that foodtec_production carries STORE_AVAILABILITY_WEBHOOKS true and ITEM_LEVEL_86 true, both in collections with active:true, so both of the claim's disjuncts are attested and both rest on true flags rather than on a false read as a negative. The direction is the claim's: DoorDash's feature-copy dictionary glosses the 86 feature "86 items on your POS or middleware and see the changes on your DoorDash store in real-time, reducing cancellations". The shortfall is real and specific — DoorDash is one of the three marketplaces the claim names. `partial` rather than `yes` is the right call for a DoorDash-only positive. ONE QUOTATION DEFECT, repaired not fatal: the note quoted the programme page's bullet as the single span "Real-time item 86ing - updates item availability across systems when items are marked unavailable", which is not contiguous in the source — it crosses a bold-emphasis boundary and is two separate text nodes in the page's own rich-text JSON. I split it into two verbatim spans. Every other quoted span in this note family was machine-checked against my own bytes and is verbatim-present and contiguous. source
extensibility-first-party-delivery-integrationspartial / grade C — note corrected 2026-09-12 to withdraw the clause "a manual queue rather than a self-serve connector" because `SSIO_INTEGRATION_ONBOARDING` and `AUTO_ACTIVATE_SSIO` both read TRUE; partial held on the surviving halfupheldVerdict upheld, the withdrawal upheld but narrowed, and one collateral defect fixed. Both flags are true for foodtec_production in my own fetch, and the note's finicky detail is correct: the label dictionary says "Self-serve store activations" (plural) while the programme prose bullet says "Self-serve store activation" (singular), and the note attributes each spelling to the right source. The narrowing: those flags attest that DoorDash's self-serve store setup and activation path is available on this integration; they do not strictly refute a FoodTec-side intake queue, so "contradicts" overstated it. The clause still had to go, because a published clause adverse to a named business rested on one wait-time sentence. The verdict survives on the untouched half — the claim requires DoorDash AND Uber Eats AND Grubhub and only DoorDash is established — so removing the withdrawn half does not remove the basis. Collateral defect: the edit flipped "verified" from true to false on a cell that had been through the adversarial pass; restored. source
order-capture-split-mergeunknown, grade Fresolve-to-partialThe page is shipped end-user help (docs-9.1/released/help/ordersplitter.html, 'How To Split An Order'), not a spec. It describes moving items, specials or coupons into a split order that is printed or paid separately, repeated for a second or third split, and links to a Split Item procedure. So split-by-item is met. Split by seat, even N-way split, split by dollar or percentage, and merging checks or tables (including after partial payment) are absent from the page and from the 75-document v9 text corpus. The live corroboration is one operator quote on FoodTec's 2022 blog ('I can split it up by item, I can split it up by quantities'). It is a customer testimonial, grade E at best, and adds no mode the manual lacks. The only documentation is 2015, so partial/B is the ceiling. source
order-capture-bar-tab-preauthunknown, grade FupheldProposed partial/B from the archived 2015-16 FoodTec v9.x manual; rejected on verification: The quotes are real, but the source is not shipped documentation. Bar.html is linked only from docs-9.x/released/ads/docs/ProductSpecs.html, whose header reads 'business-level product specifications for current and future product enhancements'. The document is a goals-and-design spec: it opens 'Improving the Bar support in Pizza Director has two primary goals', is written in the future tense ('The Bar Screen will look and function', 'the bar page will be able to import'), and is stamped 'Last modified: Sat Oct 28 ... 2006'. A 2006 enhancement spec shows intended behaviour; it does not show that the running-tab pre-auth shipped. No v9 help page, the CreditCard doc, or any of the 201 live WordPress texts mentions open tabs, bar tabs or pre-authorization. Even read generously, only the core conjunct (a tab opened against a card pre-auth) is spec'd. The auth amount is 'a fixed amount such as $20', not stated as configurable; incremental re-auth is absent; and open bar orders carry over to the next bar shift rather than auto-closing. A differentiator cell resting on one 20-year-old design spec with no shipped or current corroboration cannot be partial. source
order-capture-transfer-auditunknown, grade FupheldProposed partial/B from the archived 2015-16 FoodTec v9.x manual; rejected on verification: This quote is a different sentence from the bar-tab quotes, in the Bar Shift section, and states a different proposition: tip-accounting ownership rather than payment. It carries the same defect: it comes from the 2006 enhancement spec listed under ProductSpecs ('current and future product enhancements'), not shipped docs. The sentence is an accounting ownership rule that presupposes a bar-to-server/table transfer; it does not document a transfer operation. It says nothing about server-to-server or device-to-device transfer. The audit conjunct, which is the core of this claim ('recorded in an audit log naming both employees'), fails everywhere: the PA-DSS guide's audit log covers Secure Task and remote access, not check transfers. The only live hit is a 2020 FoodTec blog's generic advice ('Don't allow employees to transfer checks ... without manager assistance'), addressed to 'your POS'. It is not product documentation and does not mention an audit. A partial that meets one transfer path only by implication, in a spec, and misses the audit core shortfalls every conjunct and refutes itself. source
payments-p2pe-pci4unknown, grade FupheldProposed partial/B from the archived 2015-16 FoodTec v9.x manual; rejected on verification: No conjunct holds. (1) P2PE: the guide says card numbers are 'encrypted in hardware or software' before going to the processor, and that 'Encrypted swipe hardware must be sourced from FoodTec or your processor' with injected keys. That is processor-side E2EE. It is not a PCI-validated P2PE solution, and software encryption is expressly allowed. The same section 3.10 table lists a First Data 'Keyboard wedge swipe' as Encrypted: No, so unencrypted swipes were a supported configuration. (2) PCI DSS 4.x AoC or P2PE listing: the document is the 'PA-DSS Implementation Guide ... Version 2.0, revised on November 19, 2013', written against PCI DSS 2.0 and certifying only FoodTec 9.0 under PA-DSS v2.0, a standard since retired. The live corpus has no AoC, no P2PE listing and no trust centre; the T&C pushes PCI obligations onto the client. A partial that meets neither conjunct refutes itself. The existing unknown's rationale should gain one line noting the 2013 PA-DSS v2.0 guide, so this is not re-mined as P2PE evidence. source
kitchen-expo-consolidationunknown, grade Fresolve-to-partialThe claim has two conjuncts. (1) A consolidated order view across prep stations is met for dine-in. The expediter screen shows each table's full order tree, fed by the kitchen bumps, with status colours: 'Ready items table color' means some items are prepared but not expedited, and 'making' / 'late making' mean items are still in the kitchen. The page says 'That way the expediter knows which items are stuck and delay the order.' (2) Completion gated on every station bumping is not met. The expediter presses DONE by hand once 'all items of the order are bumped', and nothing says the system blocks DONE or completes the order automatically. In standalone mode, DONE bumps and expedites at once. The slip format 'should only target Dine In orders', so delivery and carry-out are outside it, and FoodTec is a delivery-heavy pizza POS. On the live corpus, kitchen-systems says 'item and station-level transparency so managers and expeditors can identify and fix bottlenecks quickly', and the 2025 paperless-kitchens post says 'An expediter or a manager can quickly glance at the screen'. Both are grade-C/D marketing that describes neither consolidation nor completion logic. They do not contradict the manual, but they do not corroborate it. With an age cap and one conjunct met, partial at grade B stands. source
kitchen-all-day-countsunknown, grade Fresolve-to-partialThe Bump page's 'Displaying kitchen items' section describes a running quantity indicator on the bump's right panel. It sums configured Kitchen Items (for example ounces of fries, pieces of boneless wings) across the orders feeding that bump. It rises with each order and falls when the order or item is made. That meets the core conjunct: outstanding quantity per item across open tickets on the station. Limits: the count covers only Kitchen Items an operator builds by hand ('the setup is somehow complex': Edit Kitchen Items, one rule per menu item, then assign them to a bump), so it is not an automatic all-day view of everything on the station. The per-modifier half is met only through per-size or per-qualifier rules feeding a Kitchen Item quantity, not a per-modifier count. The live corpus (kitchen-systems, the 2025 KDS posts) never mentions it, so there is neither corroboration nor contradiction. The age cap holds it at partial/B. source
labor-tip-distribution-audit-trailunknown, grade FupheldProposed partial/B from the archived 2015-16 FoodTec v9.x manual; rejected on verification: The quotes hold but the claim fit does not. The claim is a tip-DISTRIBUTION audit trail: a per-shift, per-employee record of tips received, contributions INTO a pool, and distributions OUT of it, exportable for audit. Its point, per why_it_matters, is showing the distribution math. The Data Exports 'labor' view carries DeclaredTips, CashSaleTips, ChargeSaleTips and OtherSaleTips per shift. That is ordinary tip declaration and tip-by-tender sales data, which any tip-capturing POS produces, not a pool ledger. The export is a data-warehouse feed for chain reporting, not an audit record. Nothing in the corpus shows pool contribution or distribution. The Labor Report page (9.1) has only an unexplained pref, 'has tip pool - does the store handle tip pool?'. The 9.2 Bar page (last modified 2006-10-28, not a 2015 document) says 'It is left up to the bartenders how to distribute the tips; Pizza Director will not attempt to manage this process.' That leans toward absence, but it is too old, bar-scoped and overlapped by the later pref to support no. The 2026-09-04 re-check already ruled that the received-tips quarter alone is not a partial. This is the same quarter with an export column list added, and the distribution conjuncts that define the claim stay wholly unmet. A published partial would imply FoodTec keeps partial distribution records, and nothing shows that. Unknown/F. The per-shift cash vs charge tip columns may be relevant to labor-qualified-tips-w2-reporting and should be assessed there, not here. Proposed rationale: 'Re-checked 2026-09-12 against the archived v9.x manual (2015 captures). The Data Exports labor view has per-shift DeclaredTips, CashSaleTips and ChargeSaleTips columns (tips received by tender). No page documents contributions to or distributions from a tip pool: the Labor Report pref "has tip pool" is unexplained, and the 2006 Bar page says Pizza Director "will not attempt to manage" bartender tip distribution. Tips-received columns alone are not a distribution audit trail. Unresolved.' source
multi-location-config-audit-logunknown, grade Fresolve-to-partialValue and grade survive, note corrected. Conjuncts: who (met, but the record field reads 'if known'); what/which object (met only as far as the example 'the specific preference setting being changed and the new value', and only for functions governed by a Secure Task; price, tax and discount objects aren't named); when (met); which location (the Audit record fields list machine and remote IP, not store; location only comes from the Data Warehouse holding each store's logs); corporate queryability (met, but only through the optional Data Warehouse, conditioned 'If you own more than one store'); immutable (not met: the log can be selectively or completely disabled). This is PCI DSS Req 10 logging, but its fields really do carry who/what/new value/when, so it isn't a different proposition. No shortfall covers every conjunct, so partial isn't self-refuting. Age: 2013 guide, 2015 capture; txt/wp (201) and wp1 mention audit only in the DPA, so there's no current corroboration and no contradiction. Grade B is the ceiling. The proposal's 'which-location' was over-stated and is corrected in the note. source
reliability-mfa-role-based-accessunknown, grade Fresolve-to-partial'with role-based permissions' is a genuine conjunct in the claim text, so the partial isn't self-refuting: one conjunct is met, one is not. That matches corpus convention: flipdish, lavu, linga and hungerrush score partial with role-based access only and MFA undocumented. The role-based half is met in s1.1.1-1.1.4: Secure Tasks carry required Security Levels, Edit Store Prefs defaults to District Manager, and levels are editable and re-prioritisable. The MFA half is not documented. s1.1.5 lists password/unique ID, iButton and fingerprint, and per task you can allow or disallow each method or require password, but nothing lets you require two together. The only two-factor text is s3.4 (FoodTec support remote access with YubiKey/Google Authenticator; LogMeIn security codes for remote access), which is not an admin login. Corrected: the proposal's 'i.e. single-factor' asserts an absence the guide doesn't state; that becomes 'no documented way to require two'. txt/wp and wp1 read zero for mfa/multi-factor/two-factor/2fa/authenticator. Age: 2013 guide, B is the ceiling. source
menu-pricing-nested-modifiersunknown, grade Fresolve-to-partialHost ordering-latte-cdn.foodtecsolutions.com is an S3 bucket. robots.txt returns 403 with a 111-byte AccessDenied XML body, and a made-up path returns the same 403, so the bucket has no robots file and nothing bars us. The cited bundle fetched at 2,525,437 bytes and is byte-identical to the corpus main.js. QUOTES (all verbatim in the served bytes): at-most message at offset 1436682 (proposal said 1436695); at-least message with V4.minIngredients=z1 at 1437195 (proposal said 1437208); areDependenciesMet at exactly 1420357; itemWithRequiredIngredientChoices&&this.openErrorModal( at exactly 165931. The proposal wrote `z2.i[sDefault]`; the served text is `z2.isDefault`, corrected in the note. CHALLENGE: first, is this just the basic modifier group every POS has, making the partial self-refuting? No. Per-group min/max/required alone would be that baseline. But the dependsOn mechanism meets the definition in substance: a group that appears only when a particular modifier is picked is a nested group. In source, addIngredient pushes the dependent groups onto the order, removeIngredientsFromDependingChoices cascades removal, and addDefaultIngredientsFromDependingChoices chains back into addIngredient, so the cascade recurses. The same mechanism is how peers get credit for nesting: Toast yes/B, and Chowly was upgraded to partial on chained levels. So the proposal`s claim that these are conditional sibling groups, not nested groups, gets form ahead of function, and I corrected that framing. Partial still stands because the depth-3 conjunct is never shown in data or docs; the code is merely able to recurse. The flat storage and the isDefault-based recursion are further caveats. CONTROLS: tokenised, whole-word, over main.js plus every file in chunks/. nested 0, submodifier(s) 0, childmodifier(s) 0, modifiergroup(s) 0, dependsOn 32, enforcedIngredients 3, minIngredients 1. The only whole-word nested hits in src/src are two unrelated comments (virtual scrolling, a filter pipe). The proposal said `nested` occurs once in the first-party tree; I found two, neither about menus. POISON: IngredientChoice.groups (OrderableIngredientGroup) and IngredientChoiceGroup {choices: string[], isExpanded} only group choices for display; they are not nesting. The half_and_half variant of the max message is a pizza-halves rule, not nesting. PEERS: 72 records score this claim; 37 partial, of which 29 are grade B. Chowbus got partial for a documented three levels without per-level min/max; Toast yes/B. Partial/A for a client that shows the mechanism but not the depth is consistent with those. PRIOR: data/vendors/foodtec/verification.jsonl has no row for this claim; claims.jsonl holds unknown/F. DECISION: amended. The value stays partial/A because the source is the vendor`s own served client code. The note is rewritten to credit dependsOn as conditional nesting, and the shortfall now rests on depth-3 being unshown, not on the model being flat. source
payments-dual-pricingunknown, grade Fresolve-to-partialQuote checks: I re-fetched chunk 372 from ordering-latte-cdn.foodtecsolutions.com (HTTP 200, 689,190 bytes). It matched the proposal's quotes exactly in the served bytes: cash_discount_note at 391330, the dueAmount+fee/100 and -fee/100 pipes at 391456 and 391541, and the paymentFeeName||...cash_discount label at 344861. The CASH && fee<0 condition is also in the served code at 393773, and a second guard `M.paymentTypeFee.fee<0&&!M.isGiftCardAmountAppliedWithCash` is at 346191. I re-fetched chunk 581 (71,359 bytes); its paymentFees->cash_discount mapping is at 65177. en.json holds "cash_discount": "Cash Discount" (21581, 95006) and "cash_discount_note": "Pay only {finalPrice} and save {savings}." (23104). Chunk 113 has fts-order-tree-pricing at 6780, beside route.print_receipt.charged. Robots: https://ordering-latte-cdn.foodtecsolutions.com/robots.txt returns 403 S3 AccessDenied, so no robots file is served (a 4xx under RFC 9309, not a bar). product.yaml has no scope_overrides (group pizza-delivery). Generic fee or dual pricing? The fee setting itself is generic per payment type: positive fees render as '<type> fee', and the card side has paymentFeePercent. But the client has a purpose-built cash-discount display (a savings message only when CASH and fee<0, and a 'Cash Discount' label), so the cash-discount-mode part holds. Neither the per-item two-price part nor the both-totals-printed part holds. Controls: I tokenised dualPric/cashPrice/cardPrice/nonCash/creditPrice/twoPrice at 0 in both 372 and 581. Poison: 'surcharge' was not used here (in this client it means combo size surcharges). The doordash 'Dual Pricing' flag name is unrelated. Peers: Toast is partial/B for 'single-advertised-price with a discount at cash tender, not two stored prices printed side by side', the same shape as this, and Linga and Aloha earned partial by printing the cash line. That supports partial, not yes. Amended from the proposal: its line 'shown to the guest as the cash total next to the card total' overstates the display, because only the cash price and the savings are printed, so that line is removed. Grade A: this is the vendor's own shipped client code. Sibling flag: the 2026-09-10 menu-pricing-dual-pricing resolve-to-no says 'cash discount' occurs zero times across its corpora, and that is now false for chunk 372. Its no rests on a different requirement (card price shown as the base price), so it may still stand, but the basis sentence needs correcting. Each sibling proposal must meet its own claim's requirements; this verdict proves only the online cash discount. source
digital-subscriptionsunknown, grade Fresolve-to-partialQUOTES re-fetched from served bytes 2026-09-15. Robots: ordering-latte-cdn.foodtecsolutions.com/robots.txt returns 403 with S3 AccessDenied XML (missing object, so no directives). main.4e8dc9d78c1cace4.js returned 200 at 2,525,437 B. Quotes and offsets: placeSubscription quote found at 1379333 (claimed 1379416, -83); /subscription/trial at 1379641 (exact); cancel?undoCancellation=true at 1379916 (exact); /subscription/cancel at 1380510 (exact); SCHEDULED_CANCELLATION/GRACE_PERIOD/FAILED_TO_RENEW at 1467336 (-26); the enum `(M=z||(z={})).MONTHLY="MONTHLY",M.ANNUAL="ANNUAL",M.TRIAL="TRIAL"` immediately after it, so the proposal's `M.MONTHLY` prefix is really `(M=z||(z={})).MONTHLY` (cosmetic); perkName class at 1467578; freeTrialDaysInMilliseconds at 1468029; BASE_PATH loyalty at 1376231. 221.6227458916dfe153.js returned 200 at 301,859 B: trial ternary at 276601 (-114); placeSubscription(s) at 276907; "/mo":"/an" at 20124 (+51); next_payment at 20559 (-83). en.json returned 200: all three quotes at their exact claimed offsets (29709, 21694, 34837). Every quote is verbatim in served bytes, and none relies only on the source map. The model fields annualPrice, monthlyPrice and autoRenew are 0 in served main.js, so they are source-map-only and must not be quoted as served. REACHABILITY: runtime.js maps 221:"6227458916dfe153", and main.js @1257123 loads it on the route {path:"loyalty",loadChildren:()=>Promise.all([...n.e(221),n.e(475)])...LoyaltyModule}, so it is a live route, not dead code. SCOPE: consumer and restaurant-sold, confirmed by the en.json FAQ ("valid across all restaurants in the chain", "you will not be charged for the next billing cycle"). The API sits under ordering/account/loyalty (guest account), not merchant billing. POISON, tokenised: in main.js `subscribe` x523, `unsubscribe` x118, `loadingSubscription` x43 and RxJS internals (`_subscriptions`, `innerSubscription`, `UnsubscriptionError`) are Angular/RxJS. `emailSubscription`, `smsSubscriptions`, `updateCustomerSubscriptions`, `subscribe_email_offers_full` and en.json "Manage your subscriptions"/"Subscribe for offers?" are the marketing opt-in already scored under guest-loyalty-consent-management. None of the cited quotes come from either family. DOWNGRADE yes -> partial: (1) The evidence is guest-client code for a server-side programme. No operator-side configuration (plan creation, pricing, perks, processor for recurring charges) is documented on any FoodTec host. The foodtecsolutions.com wp-json search for subscription returns only two 2026 listicle posts (discovery-only), and for membership only 2018-2021 blog posts. (2) No adoption was observed: plans.json for pizzamarket-goffstown is [] (2 B). (3) Peers: Toast, with first-party help-centre docs of a native guest subscription product, sits at partial/B; ChowNow is yes/B off a vendor support FAQ; Clover, Square and SpotOn are partial/B. A yes/A off client bytes alone, with zero observed tenants and no operator docs, would out-rank every documented peer. Grade A stands because served client code is source code and matches thanx/nexopos precedent. No prior foodtec verification row touches this id (verification.jsonl subscri hits are only the consent/10DLC rows). Niche weight, so the differentiator grade floor does not bind; the downgrade is on sufficiency, not the floor. source
payments-surcharge-guardrailsunknown, grade Fresolve-to-partialQUOTES: I re-fetched the served chunks from ordering-latte-cdn.foodtecsolutions.com/cwo-1.0.92/ on 2026-09-15: 640 (200, 51,750 B), 372 (200, 689,190 B) and main (200, 2,525,437 B). All five quotes in the proposal appear verbatim in the served bytes. Two offsets are slightly off: 640 is at 41864, not 41890, and the isDebit ternaries in 372 are at 468722 and 468843, not 468753. getPaymentType is at 1431001 in main, and the flag appears in 372 at 463149 and 467636. ROBOTS: robots.txt returns 403 S3 AccessDenied (111 B) to both PowerShell and curl, so it is unmeasured, not a bar. This is a public static asset CDN. ADVERSARIAL FINDINGS: (a) The flag bypasses the exclusion. Served 372 has `surchargesOnAllCreditTransactions)?this.checkPaymentTypeFee(a):this.shouldApplyPaymentTypeFeeCheck(a)`, and the isDebit test exists only inside shouldApplyPaymentTypeFeeCheck. Served 640's template shows the fee when `surchargesOnAllCreditTransactions&&(paymentFee||paymentFeePercent)||!o.creditCard.isDebit&&...`, so it shows for a debit card when the flag is on. The exclusion is a store option, not a guardrail. The proposal called this 'surcharge regardless', and I made the debit consequence explicit. (b) Enforcement is client-side. In source, checkPaymentTypeFee calls fetchPaymentTypeFee(aType, amount) with no debit field. The server may still check, because credit-card.model serialises isDebit and bin, but nothing shows it does. (c) In source, a credit card on a store that does not use TSYS gets no fee check in shouldApplyPaymentTypeFeeCheck unless the flag is on. So BIN exclusion exists only on the TSYS path. CONTROLS: prepaid, fundingSource, surchargeCap and maxSurcharge occur 0 times in served main, 372 and 640. CardType is debit or credit only. POISON: I did not rely on any `surcharge` token apart from the card-fee flag. sizeSurcharges (combo upcharges) is excluded. CONJUNCTS: debit BIN detection is present but can be turned off and runs only in the browser on TSYS. Prepaid is absent. The cap is unevidenced. Per-location enable is met through the per-store payment-type fee config, and it is the one conjunct that holds cleanly. PEERS: hungerrush is partial/B on per-location enable alone. Clover and Linga are partial with debit exclusion. So partial is consistent, and yes is impossible without prepaid and a cap. PRIOR: verification.jsonl has no surcharge-guardrails row. digital-surcharge-transparency (partial) said 'No dual-pricing or card-surcharge model exists in the shipped client'. This finding contradicts that sentence, and that note should be revisited. OVERLAP: this does not by itself satisfy commercial-dual-pricing-compliant, which also needs prepaid exclusion and receipt/menu disclosure. DECISION: amended. The value stays partial and grade A (served source code). I cited chunk 372, because both the exclusion and the bypass live there, and rewrote the note to lead with the bypass and the client-side, TSYS-only scope. source
digital-qr-tableunknown, grade Fresolve-to-partialSERVED BYTES: I re-fetched 489.c94d7e09071ea69f.js (6,640 B), 618.dbb02ed9714d9ae3.js (64,400 B) and main.4e8dc9d78c1cace4.js (2,525,437 B) from ordering-latte-cdn.foodtecsolutions.com on 2026-09-15. robots.txt returned a 403 refusal, not a Disallow, so there is no bar to measure; the assets themselves served at 200. All 7 proposal quotes are verbatim in the served bytes: 489 @1426 startOrder audit and @1721 isOrderAheadTable/orderTable/setQrLandingTent/createOrder; main @1255303 the welcome route lazy-loads 489; main @1468446 the Disabled/Table/Tent enum; 618 @62233 'Web Pay : Order already paid' and @63058 'Creating session from external reference/order id'; main @1392534 webPay/addTip. POISON CHECK: 'table' here is not HTML or CSS. It is queryParamMap.get("table") and orderTable, and the store config getters isOrderAheadTable/isOrderAheadTent key off orderAheadMode==="Table"/"Tent". 'tent' means a table tent. en.json says "If not, simply enter the number on your table tent." and "check in with your table or tent number". The component is fts-qr-landing, with the route title component.routing.qr_landing. The scan-to-order conjunct is met, shown in source code (grade A). OPEN/ATTACH TO THE EXISTING CHECK: not met, because createOrder always makes a new order-ahead order. 'Already placed an order?' only routes to /tracker check-in with the table number. That is arrival check-in, not joining a POS check. SPLIT AND TIP: nothing in chunk 489. DOUBLE-COUNT: the proposal leaned on Web Pay (618) for the scan-to-pay, split and tip conjuncts. That is the same mechanism payments-qr-guest-pay claims, and 618 is a pay-by-link reached by order id or ref, with no table binding. So I amended the note to rest this cell only on the QR table landing. I dropped the 'splitting via candidatePayments' reliance, which is pre-set POS portions and not a guest-driven split. PEERS: deliverect is partial/B for QR order and pay tied to a table number with no attach, split or tip, and lavu, linga and xenial are partial for one half of scan-to-order/scan-to-pay. Partial is consistent. PRIOR: foodtec verification.jsonl has no row for digital-qr-table. The 2026-08-04 unknown came from marketing pages and never searched the client. DECISION: resolve unknown to partial/A with a narrowed note. The amended note names the new-order, no-split and no-tip shortfalls. source
commercial-dual-pricing-compliantunknown, grade Fresolve-to-partialQUOTES: all five checked verbatim in the SERVED bytes on 2026-09-15. 372.64941c101cc0636a.js (200, 689,190 B): the debit-exclusion quote is at 468637, the surchargesOnAllCreditTransactions quote at 463089, and the paymentFeeDisclosure textInterpolate1 at 447014; the proposal's offsets are about 116 too high, but the text matches exactly. 640.e55f1ac24fcedfa2.js (200, 51,750 B): the getPaymentType(s.bin) quote is at 41864. main.4e8dc9d78c1cace4.js (200, 2,525,437 B): the POST /cardType quote is at 1431001. ROBOTS: robots.txt on this CDN host returns 403, which is a refusal and not a Disallow, and every chunk was served. I read the full shouldApplyPaymentTypeFeeCheck body. The isDebit test sits only inside sysTokenConfig&&a.isCreditCard. The other branch is .isCreditCard||(...), which never checks the BIN. Both onPaymentTypeChanged and init test surchargesOnAllCreditTransactions first and call checkPaymentTypeFee directly, skipping the debit test; I made that a named shortfall because it can actively allow a debit surcharge. The fee text comes from the PaymentType model (the store's own configuration), so the disclosure is written by the tenant, not enforced by the vendor. CONTROLS (whole-word, over 372+640+main): prepaid 0, fundingSource 0, maxFee 0, isDebit 7, paymentFeeDisclosure 4, cash_discount 3. POISON: I read all 5 'surcharge' hits in chunk 372; they are the surchargesOnAllCreditTransactions flag and its copy into the model. The combo sizeSurcharges sense is excluded and nothing here relies on it. SCOPE: foodtec product.yaml has no scope_overrides, and the claim's segments include pizza. PEERS: no vendor in data/vendors/*/claims.jsonl scores this claim yes or partial, so nothing here claims a new first. PRIOR: foodtec verification.jsonl recorded menu-pricing-dual-pricing as no and said no card-surcharge model existed in the client (digital-surcharge-transparency). That pass read the store config endpoint only. This served source falsifies that remark, and those notes should be revisited. OVERLAP: this same mechanism would also be evidence for payments-surcharge-guardrails. It passes here only because this claim's first conjunct (a surcharge or cash-discount mechanism exists) is met outright, and the debit half of the second and the checkout part of the third are met in part. For guardrails, the cap and prepaid conjuncts both fail, so that cell must be judged on its own terms. DECISION: partial is the right shape, but I amended it to make the note channel-specific (online ordering, not POS), to state that the flag allows a debit surcharge, to state that the disclosure is tenant-authored, and to state that compliance itself is not established. A yes is impossible given the missing prepaid exclusion and disclosure. Grade A, served first-party source code. source
payments-qr-guest-payunknown, grade Fresolve-to-partialSCOPE: foodtec product.yaml has no scope_overrides, so payments is in scope. ROBOTS: ordering-latte-cdn.foodtecsolutions.com/robots.txt returns 403 with an S3 AccessDenied XML body, so the file does not exist and nothing is barred. QUOTES: I re-fetched 618.dbb02ed9714d9ae3.js (200, 64,400 bytes) and main.4e8dc9d78c1cace4.js (200, 2,525,437 bytes) on 2026-09-15 and matched each quote as an exact substring. In 618: 'Creating session from ${n?"external reference":"order id"}' @63058, 'Order already paid' @62232, 'Order closed' @62354, 'Paying order #' @34754, 'this.orderService.webPay()' @35224, 'component.qr_payment.check' @47675, and the candidatePayments/paymentOrdinal find @62080. In main.js: '{path:"pay",loadChildren:' @1256854, webPay/${encodeURIComponent(u)} @1392181, webPay() post @1392396, webPay/addTip @1392591, createWebSessionByOrderId @1392049. The en.json qr_payment block matches verbatim. The proposal's offsets are off by a few bytes (@63068 vs 63058, @1256860 vs 1256854), which does not matter. AMENDMENTS: (1) the proposal says the client 'treats the order as paid or closed when it returns'. In fact isPaid/isClosed are guards checked before payment that send the guest to the paid/closed page, which is not evidence of a POS close-out, so I rewrote it. (2) I dropped the unverified 'Apple Pay' and the 'no login required' phrasing; the served signin_reminder string says signing in is optional. CHALLENGE ANSWERED: is /pay a pay-at-table for a check opened on the POS, or just paying a pending online order? The client cannot tell. It loads any order by id or external reference. The external-reference path, candidatePayments split sequences, the 'Your Check' wording and the qr_payment namespace all point to a check created somewhere else, but none of them proves a dine-in check. That uncertainty is why the value stays partial and the note says so. Viewing and tipping from the guest's own phone does satisfy the 'view and pay from their own phone' part; the QR-on-check and automatic POS close parts are unobservable, not absent, so partial rather than no. CONTROLS (word-boundary tokens over served 618): table=0, tent=0, server=0, dineIn=0, tableName=0, guest=0, externalRef=0; check=1 (the translation key only); qr=3 (all inside the qr_payment key); isClosed=4 (guards). initParams across 618+main has no table/tent/check field on the pay route, only orderId, ref, isExternalRef and paymentOrdinal. POISON: `check` also hits the translation key and checkbox/check-state code; `close` means modal close; `qr` is only the namespace; `table` is also HTML <table>; `ref` is Angular ElementRef/ViewRef, so I only counted initParams.ref. DOUBLE COUNT: digital-qr-table cites the same chunk 618, but its main evidence is the QR landing chunk 489 (table/tent order start), a different proposition. This cell rests only on the /pay flow, so the overlap is a shared citation, not a double-scored fact. Order-capture-qr-same-check correctly stays unknown. PRIOR: verification.jsonl holds no earlier verdict on this id; the prior foodtec rejections concern grade C marketing pages, and this cell cites first-party served code. PEERS: across data/vendors/*/claims.jsonl, 9 yes, 19 partial, 12 no, 6 unknown. The partials are the same shape: chownow partial/C (a guest order, not closing a POS check) and cake-pos partial/B (the QR Pay channel exists but the mechanics are undocumented). A partial with two named unobservable parts is consistent with them. DECISION: amended, partial/A, with a corrected note. source
menu-pricing-included-allowanceunknown, grade Fresolve-to-partialTHE CONJUNCT EXISTS: restaurant.yaml:233-236 reads 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. That is two conjuncts, an allowance with overage-only charging AND substitution credit-or-forbid control, so substitution is not a misattributed separate feature. Meeting only the substitution conjunct matches the peer agilysys, partial/B (its note: The substitution half of the claim is configurable and documented ... Shortfall: no included-modifier allowance). Brink was left at yes, but its own note hedges toward partial. ROBOTS: ordering-latte-cdn.foodtecsolutions.com/robots.txt returns 403 with an S3 AccessDenied XML body (my live probe matches the cached h_cdn.robots). The host serves no robots file, so nothing bars the path. The bundle itself returned 200, application/javascript, 2,525,437 bytes, and its SHA-256 C15241A6...EFD7E is identical to the cached .cache/q304-foodtec/main.js. QUOTES: the Max ${N.maxSubstitutions} substitutions template is verbatim in the served bytes at offset 1437413, and strictSubstitutions is at 1437250. The proposal gave @1437208, the start of the enclosing expression about 40 bytes earlier, which is acceptable. The calcQualifierWeight quote is verbatim at ordered-choice.service.ts:219, and the validation branch is at :170-177. AMENDMENTS: (1) noReplacedDefaults is only a declared field (ingredient-choice.model.ts:14) with ZERO consumers in first-party src, so the note must not say it works. (2) The strict rule caps removals but does not credit them; it is a limit, not a credit. It meets the forbid branch only loosely, which is acceptable for a partial and is not a yes. (3) The replaceable/isDefault exemption applies to the minimum-choice weight, not to price; the proposal left that unclear. CONTROLS (tokenised over the served main.js, first-party src/src and en.json): included appears once in main.js, and that hit is POISON, the Sentry sampling message (not included in the random sample). free is POISON as PriceStatus.FREE (per-size price status) and FontAwesome Free. extra and extras are POISON as the Extra qualifier label, Sentry extra and Angular router extras. The camelCase fields includedToppings, freeToppings, maxFree, numberOfFree and freeIngredients return 0 hits in src/src; the only hits are node_modules (Sentry includedKeys, Object.freeze). In en.json, included/not_included are subscription plan labels, as the proposal said. NEW LEAD the proposal missed: order_notification.add_ingredient_for_free (Add {ingredient} for free!) appears when a server-computed ingredientUpsell.priceDiff is not > 0 (order-notification.component.ts:756-764; served main.js offset 565482). A zero-cost topping upsell is consistent with a server-side allowance but could equally be a $0 ingredient or a promotion. It proves nothing on its own; it supports the no-to-partial caution and is not grounds for a yes. PRIOR: foodtec verification.jsonl has no row for this id (the only included hit is reporting-tier-paywall), and the claims row is unknown/F from a 2026-08-03 marketing-page pass, so this is a resolution with no earlier rejection. DECISION: partial/A stands. The substitution conjunct is genuinely met in served source code, and the allowance/overage conjunct stays unresolved. Amended because the note overstated noReplacedDefaults and mixed up the weight exemption with pricing. source
menu-pricing-dual-pricingno, grade Aupgrade-to-partialRe-fetched 2026-09-15 from PowerShell/node. Robots: https://ordering-latte-cdn.foodtecsolutions.com/robots.txt returns 403 application/xml S3 `AccessDenied`, and a made-up path under /cwo-1.0.92/ returns the same 403 body. That means no robots file exists on this bucket, not a bar. Served bytes: main.4e8dc9d78c1cace4.js returned 200 at 2,525,437 bytes with `cash_discount` 0 times and `cashPaymentTypeFee` 0 times, so the prior pass's count was right for that file only. 581.3cad58f16e05eb3e.js returned 200 at 71,359 bytes, with `cash_discount` once at offset about 65290 and the quote verbatim. 372.64941c101cc0636a.js returned 200 at 689,190 bytes, with `cash_discount` 3 times and `cashPaymentTypeFee` 10 times. The `cash_discount_note` quote is verbatim at about 391374. The fee-label branches `paymentTypeFee.fee>=0?...fee:...cash_discount` are at about 344931 and 345859. cwo-1.0.92/assets/i18n/en.json returned 200 with `"cash_discount": "Cash Discount"` (checkout payment_info and order_tree_pricing) and `"cash_discount_note": "Pay only {finalPrice} and save {savings}."`. The root /assets/i18n/en.json returns 403, so the served path is the versioned one. Same build: cwo-1.0.92/index.html names main.4e8dc9d78c1cace4.js, the prior citation, and runtime.3e227be7676120ae.js. That runtime's chunk map contains `372:"64941c101cc0636a"` and `581:"3cad58f16e05eb3e"`, so both chunks belong to the exact build the prior verdict read. The prior pass's error was corpus scope, not vocabulary: it never read the lazy chunks. Judgement against the taxonomy (item-level dual pricing or cash discount, card price as base, consistent across POS, kiosk and online, printed on the receipt): the prior `no` rested on falsifying the online-ordering conjunct, and that conjunct now holds. No other conjunct gives positive evidence of absence. The item-level shortfall is a limitation, not an absence, and POS/kiosk/receipt are simply unpublished, which cannot support `no`. The prior note itself said a found cash discount makes this `partial`. Peer precedent matches: toast is partial/B for "one advertised price with a cash discount at tender, rather than storing two item-level prices", and thrive-pos and otter are partial for cash-discount programmes without item-level storage. Grade A: shipped vendor client source on a first-party CDN. Not verified by me: the proposal's print-receipt chunk 113 embedding `fts-order-tree-pricing`, so the note does not rely on it. The prior note's zero-count sentence is factually false and must be replaced whatever the value. Verification row verdict family: prior asserted `no` becomes `upgrade-to-partial`. source
digital-surcharge-transparencypartial, grade AupheldValue upheld; note corrected. The 2026-09-10 note said 'No dual-pricing or card-surcharge model exists in the shipped client', based on the store configuration endpoint and main.js only. The 304th session's whole-client census (main + 40 lazy chunks) found a per-payment-type card fee and cash discount in chunk 372 (debit exclusion via POST cardType on the TSYS path, surchargesOnAllCreditTransactions bypass, paymentFeeDisclosure), verified by two independent verifiers for payments-surcharge-guardrails and commercial-dual-pricing-compliant. That falsifies the sentence but not the partial: jurisdiction/card-brand prohibition handling is still absent and POS parity is unobservable. source
multi-location-multi-tax-jurisdictionunknown, grade Fresolve-to-partialRe-fetched live 2026-09-15 with node fetch: 581.3cad58f16e05eb3e.js HTTP 200, application/javascript, 71,359 chars; 372.64941c101cc0636a.js 200, 689,190; main.4e8dc9d78c1cace4.js 200, 2,525,437. All quoted strings were present verbatim in served bytes, but 5 of 8 proposed offsets were wrong. Corrected served offsets: 581 `itemizeTaxRates)&&(null===(O=g.taxRateGroups)...for(const C of g.taxRateGroups){u.push({name:C.sub...` at 65487 (proposed 65609); `trackByTaxRateGroup(r,s){return s.subTotalName||r}trackByTax(r,s){return s.who||r}` at 66698 (proposed 66732); 372 `M.subTotalName,":"` at 350022 (proposed 350024), `M.who,":"` at 349466 (proposed 349467), `property("ngIf",M.itemizeTaxRates)` at 351950 (proposed 351968); main `taxRateGroups:t.l.deserializeChildren(W,"taxRateGroups",T)` at 1488144 EXACT, `taxes:t.l.deserializeChildren(W,"taxes",O)` at 1485802 EXACT, `/ws/integrated/v1/ordering/config/chain/stores` at 1364838 (proposed 1364872). Context in 581 confirms the template gate `property("ngIf",null==r.storeConfig?null:r.storeConfig.itemizeTaxRates)` beside `!(null!=r.storeConfig&&r.storeConfig.itemizeTaxRates||null==r.order||!r.order.tax)`, which falls back to a single tax line. Tokenised controls over the three served files: jurisdiction 0, exempt 0, inclusive 0, taxInclusive 0, county 0, vat 0, grocery 0, prepared 0; taxable 2 each in 581 and 372. Challenge: is this just the generic tax breakdown every POS has? Partly, yes. But the claim's conjunct 'multiple simultaneous tax rates' is genuinely shown by the model (a list of groups, each with several named taxes) and is not self-refuting, because it meets one conjunct and part of per-location configuration. Amended because the proposal's 'each store is configured separately' overstates the tax proposition: the only per-store tax field served is a DISPLAY toggle (itemizeTaxRates), not rate configuration. The note now says so, and the offsets are corrected. Peer precedent: clover partial/F (per-merchant configuration plus multiple simultaneous rates, jurisdiction rules and exemptions undocumented); chownow partial/B (per-location tax, simultaneous rates undocumented); lightspeed-restaurant partial/B (per-location rates in the API); flipdish partial/A (named rates, no stacking). FoodTec's evidence of simultaneous rates is at least as strong as clover's or chownow's, so partial fits precedent. Grade A stands because this is the served application code, bounded in the note to the consumer client. foodtec verification.jsonl has 0 prior rows for this id; the current claim is unknown/F (2026-09-04, Tax Summary/Detail reports only), so the applied row is resolve-to-partial. robots: the bucket's robots.txt returns 403 AccessDenied XML, so there is no file and fetching is allowed. source
hardware-handheld-purpose-builtunknown, grade FupheldProposed partial from the decompiled FoodTec staff Android apps (305th session); rejected on verification: I re-checked the strings locally and they hold. man_com.foodtec.deliveryapp.txt declares com.foodtecsolutions.pax.pax.POSLinkService and five com.pax.market.android.app.sdk PAXSTORE components. d_deliv_all.txt has PaxPlugin (11 hits) and isPosLinkInstalled. libapp has isPaxDevice, isPaxAndNotWifi, 'TSYS PAX', 'Amount over contactless limit. Insert card' and 'SWIPE ONLY'. What the strings show is that the software can run on third-party PAX terminals. They do not satisfy the claim, which reads 'OFFERS a purpose-built handheld ORDERING device with an integrated card reader ... with published drop rating and IP ingress rating'. (1) Offering: nothing in the binary shows that FoodTec supplies or sells a PAX device. No model is named: the A77 and 'aries' hits are device-table noise. The only FoodTec supply document, the T&C Hardware list, names 'EMV Terminals' generically and no handheld. Every partial among the peers (Clover Flex, Flipdish, CAKEpop, HungerRush, Agilysys IG Fly) rests on the vendor's own device. (2) Ordering: the proposal itself concedes this is the driver pay-at-the-door app with no order entry, so it is a different device class (a mobile payment terminal, not a tableside or line-busting ordering handheld). (3) The drop and IP ratings are absent. The integrated card reader, the only conjunct claimed as met, belongs to PAX's hardware, and its connection to FoodTec is compatibility, not an offering. A partial that falls short on offering, ordering and ratings is self-refuting. Grade A for software compatibility is fair even though the binary came from a mirror (the sha256 is recorded). But the evidence answers a different proposition, and that proposition belongs in hardware-p2pe-terminal or payments notes. It could also serve as a lead for hardware-handheld-lte (isPaxAndNotWifi) and offline card payment (store-and-forward strings), not this cell. The cell stays unknown/F with its existing rationale. Suggest adding one sentence to that rationale: Delivery IQ 3.0.37 ships PAX POSLink/PAXSTORE integration for driver card payment on PAX terminals, but no FoodTec-offered ordering handheld is shown. source
payments-softpos-tap-to-payunknown, grade FupheldProposed no from the decompiled FoodTec staff Android apps (305th session); rejected on verification: Re-ran tokenised controls locally. The binary side holds up: stripeterminal/taptopay/softpos/adyen/proximityreader/paymentcardreader get 0 hits in all 3 libapp.so and all dex sets, and android.permission.NFC is in 0 of 3 manifests. The squareup hits are all com/squareup/okhttp, which is a poison token, not the Square reader SDK. The proposal's 'NfcAdapter 0' is literally true, but Delivery IQ dex does carry Landroid/nfc/NfcManager plus COMPLETECONTACTLESSEMV/ContactlessEntryFlag, most likely PAX POSLink SDK fields. The cwo-1.0.92 web ordering corpus (main.js 2.5 MB, 80 chunks, en.json) has 0 hits for tap to pay/softpos/contactless/card terminal/card reader/pax/nfc/apple pay/google pay. The q266 WP blog/docs corpus only has generic industry copy ('contactless, tap and pay, mobile wallets' in a 2021 trends post; a COVID cleaning page naming 'PAX Terminals'). So FoodTec publishes tap-to-pay on phone nowhere, but it also publishes no enumeration of payment devices. Rejected because the census cannot bound a POS-wide no: (1) the scored product is the Windows FoodTec POS, and it was not censused; (2) FoodTec markets a shipped 'Table-side ordering' module and 'The POS is mobile-enabled' (full-service page, already cited on order-capture-native-handheld), and no binary or doc for that surface is in the 20-package Play census, so an uncensused mobile merchant surface exists by the vendor's own claim; (3) three companion apps (driver, manager dashboard, inventory) lacking an SDK is an absence of evidence, not a vendor statement of absence. Peer no/B verdicts (Arryved, CAKE, HungerRush, Flipdish) all rest on the vendor's own docs saying a reader is required or naming the alternative for the POS itself. Nothing like that exists here. The PAX card-terminal strings show the driver app's alternative only. Keep unknown/F; the rationale may cite the zero-token census as bounded to the three companion apps. source
hardware-tap-to-phoneunknown, grade FupheldProposed no from the decompiled FoodTec staff Android apps (305th session); rejected on verification: Same census, same failure, and the proposal itself says it moves with payments-softpos-tap-to-pay. The local rerun confirms 0 SoftPOS/tap-to-pay/ProximityReader tokens and 0 NFC permissions across the 3 Delivery IQ / FoodTec IQ / Inventory IQ binaries (squareup = okhttp poison; android/nfc/NfcManager and Contactless* fields in Delivery IQ dex sit inside the PAX POSLink payload, whose Delivery IQ strings name a separate 'card terminal'). The cwo-1.0.92 ordering bundle and chunks have 0 relevant hits, and the WP blog/doc corpus has only generic industry contactless copy. What decides it: the claim is about any FoodTec merchant device taking contactless without a separate reader. FoodTec's Windows POS and its marketed 'Table-side ordering' / 'mobile-enabled' POS surface are outside the census. FoodTec also publishes no hardware enumeration: the T&C lists only 'POS terminals, EMV Terminals' as classes. So there is no positive evidence of absence at product scope. Unlike peer no/B cells (Flipdish 'you will need to purchase a Flipdish card reader', CAKE OrderPad hardware essentials), no vendor statement requires a reader. Keep unknown/F. source
labor-tip-distribution-audit-trailunknown, grade FupheldProposed partial from the decompiled FoodTec staff Android apps (305th session); rejected on verification: Strings reproduce exactly in s_com.foodtecsolutions.foodteciq_libapp.txt, each as a whole tab-delimited line: 'ESTIMATED TIPS' @273198, 'Tip Details' @274073, 'My Tips:' @380824, 'tips viewed' @245173, 'tip shares viewed' @611017, 'The earnings and tip figures are estimates.' @609713, package:fsiq/estimatedtips.dart @604227. But the taxonomy claim is a RETAINED per-shift, per-employee record of tips received, pool contributions and pool distributions, EXPORTABLE for audit. None of those conjuncts is met. (1) The app labels its own figures estimates, which is the opposite of a retained record. (2) Nothing shows the figures are per shift; 'My Tips:' has no period. (3) No pool contribution or distribution exists: 'tip shares' is only an analytics event name, and pool is only Dart ObjectPool. (4) There is no export, because the only 'export' @4937 is a Dart keyword. The peer partial/A-B cells all cite a retained per-shift record or report, most of them exportable. A consumer view of estimates does not reach that floor, and the proposer's own shortfall concedes every conjunct, which makes the partial self-refuting. Double counting: the only substantive content, that FoodTec computes a per-employee tip allocation, is already carried by payments-tip-pooling and labor-tip-pooling-rules partial/D ('Tracks tipping and allocates accordingly'). The cell stays unknown and keeps its existing rationale. The binary also came from a mirror, and Play lists 3.1.15. source

Sources

Every URL this record cites. 106 in total.