OneTablet API Documentation

fetchLocations

POST/management/stores/fetchLocations

Your physical locations (kitchens): address, timezone, the brands each carries, and the store count.

Cross-reference: every store from fetchStores carries its location.id and brand.id, so the directory reads join on ids.

Scope: kitchens your organization OWNS, plus kitchens where one of your brands operates. Retired kitchens are excluded. Location.storeCount counts exactly the storefronts fetchStores would return for you at that kitchen, so the two always reconcile.

Paging: sorted by name ascending. Loop until nextCursor is absent.

Request

application/json
required
  • pageobject

    Cursor pagination.

    • limitnumber

      Page size, 1-100. Defaults to 50 when omitted.

    • cursorstring

      Opaque cursor from the previous response. Omit for the first page.

Responses

200 — OK
  • locationsobject[]

    The page of locations.

    • idstring

      OneTablet's identifier for the location.

    • codestring

      The location's short site code, as shown on kitchen tickets and platform dashboards.

    • namestring

      Operator-facing name.

    • timezonestring

      IANA timezone, e.g. "America/New_York" — NOT an offset, which DST breaks.

    • addressstring

      Free-text street address as configured. Structured components may be added additively later.

    • brandsobject[]

      The brands carried at this location.

      • idstring

        OneTablet's identifier for the brand — join the directory reads on this, not on name.

      • codestring

        The brand's short code.

      • namestring

        The brand's display name.

      • displayNamestring

        The brand's public-facing name, as printed on tickets (ONE-2618).

        ADDITIVE to the published shape. name stays what it always was; this is the prose form where the two differ.

    • storeCountnumber

      How many storefronts operate at this location.

    • displayNamestring

      Human-readable display name, e.g. "Harlem Store" (ONE-2618, additive).

      name is the unique operator-facing name; this is the one to show a person where they differ.

    • organizationIdstring

      The organization that OWNS the kitchen (ONE-2618, additive).

      NOT necessarily yours — for a host-located brand this is the host's id, which is exactly how you tell the two cases apart.

  • nextCursorstring

    Opaque cursor for the next page. Absent means the last page.

About Stores

The places you operate and the brands you operate there.

OneTablet models a restaurant business in three layers, and every other section of this API assumes them. A brand is a menu concept — what a customer sees on a delivery app. A location is a physical address with a kitchen in it. A store is one storefront: a single brand, at a single location, on a single platform — so a location running two brands on three platforms has six stores, each with its own menu, hours and pause state.

The directory reads join on IDS, never on display names: every store carries its location.id and brand.id, and a location carries the id of each brand it runs.

Start here — a location carries the timezone that every schedule, report window and business day elsewhere on this API is interpreted in.

All three reads are org-scoped to the organization your api key resolves to, and all three are reads: nothing here mutates, and nothing here calls out to a delivery platform live (ONE-2618).