DiningMutation

Fields

    acceptOrder
    Order!
    Required
    Accept a pending order.
      orderId
      Int!
      Required
      Order to accept.
    addProductToVendorMenu
    Boolean!
    Required
    Put a product on a menu. Idempotent — a product already on the menu is left where it is.
      menuId
      Int!
      Required
      Menu to add the product to.
      productId
      Int!
      Required
      Product to add.
    cancelOrder
    Order!
    Required
    Cancel a pending or accepted order.
      orderId
      Int!
      Required
      Order to cancel.
    createBot
    Bot!
    Required

    Create a new bot owned by the authenticated vendor.

    Requires a user-context token, unlike the other bot mutations: The bot records a human author, which is required and must be a real user. A client_credentials token has no honest value to put there, and inventing one would corrupt the attribution the public bot directory renders.

      input
      CreateBotInput!
      Required
      Details of the bot to create.
        avatarUrl
        String
        URL of the bot's avatar image.
        botType
        BotType!
        Required
        Which runtime surface the bot plugs into.
        category
        String
        Directory category the bot is filed under.
        configuration
        JSON
        Free-form JSON configuration passed through to the bot runtime.
        description
        String
        What the bot does, shown in the directory. Up to 500 characters.
        displayName
        String!
        Required
        Human-readable name shown in chat and the directory. 2–100 characters.
        isPublic
        Boolean

        Whether to list the bot in the public directory. Defaults to false.

        username
        String!
        Required

        Handle the bot is mentioned by, without the leading @. 3–50 characters, alphanumeric and underscores only, and unique platform-wide.

        webhookSecret
        String
        Shared secret the delivery signature is computed with. 32–128 characters. Store it — it is never returned again.
        webhookUrl
        String
        HTTPS URL to deliver the bot's events to. Without one it receives nothing.
    createLocation
    Location!
    Required
    Create a new location for the authenticated vendor.
      input
      CreateLocationInput!
      Required
      Details of the location to create.
        address
        String!
        Required
        Street address of the branch.
        city
        String
        City the branch is in.
        country
        String
        Country the branch is in.
        deliveryAvailable
        Boolean

        Whether the branch delivers. Defaults to true.

        deliveryRadius
        Float
        How far the branch delivers, in kilometres. Omit for unlimited.
        email
        String
        Contact email address for the branch.
        isActive
        Boolean

        Whether the branch is in service. Defaults to true.

        latitude
        Float
        Latitude in decimal degrees (WGS 84).
        longitude
        Float
        Longitude in decimal degrees (WGS 84).
        name
        String!
        Required

        Branch name, e.g. Downtown store.

        phone
        String
        Contact phone number for the branch.
        pickupAvailable
        Boolean

        Whether customers can collect from this branch. Defaults to true.

        postalCode
        String
        Postal or ZIP code.
        state
        String
        State, province or region the branch is in.
    createManualReservation
    Reservation!
    Required
    Create a manual (phone/walk-in) reservation.
      input
      CreateManualReservationInput!
      Required
      Details of the reservation to record.
        autoConfirm
        Boolean
        Whether to auto-confirm the reservation on creation (host-entered reservations are usually already confirmed).
        customerEmail
        String
        Guest's email address, up to 255 characters.
        customerPhone
        String
        Guest's phone number, up to 32 characters.
        occasion
        String
        What the party is celebrating. Optional, up to 100 characters.
        partySize
        Int!
        Required
        Number of guests (1-200).
        reservedAt
        DateTime!
        Required
        When the party is expected (UTC).
        restaurantTableId
        Int
        Table to assign. Omit to let the restaurant assign one later.
        seatingPreference
        String
        Where the guest would like to sit. Optional, up to 100 characters.
        specialRequests
        String
        Free-text requests for the restaurant. Optional, up to 2000 characters.
        userId
        Int

        The guest, identified exactly one way — userId, customerPhone or customerEmail. Supplying more than one is rejected, as is supplying none: a reservation always has a guest.

        vendorLocationId
        Int!
        Required
        Branch to book a table at.
    createProduct
    Product!
    Required
    Create a product. Currency is taken from the vendor configuration.
      input
      CreateProductInput!
      Required
      Details of the product to create.
        ageRestricted
        Boolean

        Whether buyers must pass an age check. Defaults to false.

        availableQty
        Int

        Opening stock for locationId. Omit to leave the branch unstocked.

        barcode
        String
        Scanned barcode (EAN/UPC) if the product carries one.
        capacity
        String

        Packaged size as free text, e.g. 500 alongside a unit of ml.

        deliverable
        Boolean

        Whether the product can be delivered. Defaults to true.

        description
        String
        Long-form description shown on the product page.
        digital
        Boolean

        Whether the product is digital and needs no physical fulfilment. Defaults to false.

        discountPrice
        Decimal

        Sale price in major units. Defaults to 0, meaning no discount.

        featured
        Boolean

        Whether to surface the product in featured placements. Defaults to false.

        imageUrls
        [String!]!
        Required
        Defaults:
        Publicly reachable image URLs. At least one is required — a product with no image renders as a blank tile everywhere it is listed. Defaulted at the schema level so the omission is rejected by the service with an actionable message rather than by GraphQL validation.
        isActive
        Boolean

        Whether the product is orderable. Defaults to true.

        locationId
        Int!
        Required
        Branch the initial inventory row is attached to. Must belong to the authenticated vendor.
        name
        String!
        Required
        Customer-facing product name.
        packageCount
        String
        Number of items in a multi-pack, as free text.
        plusOption
        Boolean

        Whether the product is restricted to Plus members. Defaults to false.

        price
        Decimal!
        Required

        List price in major units of the vendor's currency, e.g. 12.50. Excludes tax.

        sku
        String
        Vendor's own stock-keeping unit. Not checked for uniqueness.
        unit
        String

        Unit capacity is expressed in, e.g. g, ml, piece.

    createServicePeriod
    RestaurantServicePeriod!
    Required
    Create a service period.
      input
      CreateRestaurantServicePeriodInput!
      Required
      Details of the service period to create.
        defaultTurnTimeMinutes
        Int!
        Required
        How long a table is held per booking when no party-size rule matches (15-600).
        endTime
        NaiveTime!
        Required
        Local time the shift stops taking bookings.
        isActive
        Boolean
        Whether the shift takes bookings. Defaults to true.
        maxCoversPerSlot
        Int!
        Required
        Most guests the kitchen will take in a single slot (1-10000).
        name
        String!
        Required
        Shift name shown to staff, such as "Dinner". 1-100 characters.
        slotIntervalMinutes
        Int!
        Required
        Spacing between consecutive bookable start times, in minutes (5-240).
        startTime
        NaiveTime!
        Required
        Local time the shift opens for bookings.
        turnoverBufferMinutes
        Int!
        Required
        Extra minutes left between one booking and the next on the same table (0-240).
        vendorLocationId
        Int!
        Required
        Branch the shift belongs to.
        weekday
        Int!
        Required
        0 = Monday … 6 = Sunday.
    createTable
    RestaurantTable!
    Required
    Create a table at one of the vendor's locations.
      input
      CreateRestaurantTableInput!
      Required
      Details of the table to create.
        isActive
        Boolean
        Whether the table is in use. Defaults to true.
        isCombinable
        Boolean
        Whether the table can be joined to others. Defaults to false.
        label
        String!
        Required
        Name staff use for the table, such as "T12". 1-50 characters.
        maxCapacity
        Int!
        Required
        Largest party the table seats (1-100).
        minCapacity
        Int!
        Required
        Smallest party the table is offered to (1-100).
        section
        RestaurantTableSection!
        Required
        Part of the room the table stands in.
        sortOrder
        Int
        Position in the table list; lower values sort first. Defaults to 0.
      vendorLocationId
      Int!
      Required
      Location the table belongs to.
    createVendorCoupon
    Coupon!
    Required
    Create a coupon on this vendor's storefront. The code must be unique platform-wide, so a collision with an existing coupon — including another vendor's — is rejected.
      input
      CreateVendorCouponInput!
      Required
      Details of the coupon to create.
        code
        String!
        Required
        Code customers type at checkout. Must be unique across the platform.
        color
        String!
        Required
        Hex colour for UI display (e.g. "#FF5733").
        description
        String
        Terms or explanation shown with the coupon. Optional.
        discount
        Decimal!
        Required

        Percentage when percentage is true, otherwise a fixed amount.

        Never negative: the order paths subtract this, so a negative value would increase what the customer pays.

        expiresOn
        DateTime
        When the coupon stops working (UTC). Omit for a coupon that never expires.
        forDelivery
        Boolean!
        Required
        Whether the discount applies to the delivery fee.
        isActive
        Boolean!
        Required
        Whether the coupon can be redeemed straight away.
        maxCouponAmount
        Decimal
        Caps a percentage discount. Ignored for fixed amounts.
        minOrderAmount
        Decimal
        Smallest order the coupon applies to, in the vendor's currency. Omit for no minimum.
        percentage
        Boolean!
        Required

        Whether discount is a percentage rather than a fixed amount.

        productIds
        [Int!]
        Required
        Restrict to specific products. All of the vendor's products when empty.
        times
        Int
        Total redemptions allowed across all customers.
        vendorLocationIds
        [Int!]
        Required
        Restrict to specific locations. Valid at all of the vendor's locations when omitted or empty.
    createVendorMenu
    AdminMenu!
    Required
    Create a menu on the authenticated vendor's storefront.
      input
      CreateVendorMenuInput!
      Required
      Details of the menu to create.
        inOrder
        Int
        Sort position among the vendor's menus, lowest first. Omit to leave it unset.
        isActive
        Boolean
        Whether the menu is visible to customers. Omit for the default.
        name
        LocalizedStringInput!
        Required
        Menu name shown to customers, in as many languages as you offer.
        vendorLocationId
        Int!
        Required
        The location this menu belongs to. Must be one of the vendor's own.
    createWebhook
    Webhook!
    Required
    Register a new webhook endpoint for the authenticated business.
      input
      CreateWebhookInput!
      Required
      Endpoint URL and the events to subscribe to.
        events
        [WebhookEvent!]!
        Required
        Events to subscribe to. At least one.
        isActive
        Boolean
        Whether to start delivering immediately. Defaults to active.
        url
        String!
        Required
        HTTPS URL to deliver events to.
    decideReservation
    Reservation!
    Required
    Approve or reject a pending reservation request.
      action
      ReservationApprovalAction!
      Required
      Whether to approve or reject the request.
      reservationId
      Int!
      Required
      Reservation request to decide.
    deleteBot
    Boolean!
    Required

    Permanently delete a bot. Returns true on success.

      botId
      Int!
      Required
      Unique identifier of the bot to delete.
    deleteLocation
    Boolean!
    Required

    Delete a location. Returns true on success.

      locationId
      Int!
      Required
      Unique identifier of the location to delete.
    deleteProduct
    Boolean!
    Required

    Delete a product (soft delete). Returns true on success.

      productId
      Int!
      Required
      Unique identifier of the product to delete.
    deleteServicePeriod
    Boolean!
    Required

    Delete a service period. Returns true on success.

      periodId
      Int!
      Required
      Unique identifier of the service period to delete.
    deleteTable
    Boolean!
    Required

    Delete one of the vendor's tables. Returns true on success.

      tableId
      Int!
      Required
      Unique identifier of the table to delete.
    deleteTurnTime
    Boolean!
    Required

    Delete a turn time. Returns true on success.

      turnTimeId
      Int!
      Required
      Unique identifier of the turn time to delete.
    deleteVendorCoupon
    Boolean!
    Required
    Delete a coupon this vendor owns.
      couponId
      Int!
      Required
      Unique identifier of the coupon to delete.
    deleteVendorMenu
    Boolean!
    Required
    Delete one of the vendor's menus.
      menuId
      Int!
      Required
      Unique identifier of the menu to delete.
    deleteWebhook
    Boolean!
    Required

    Permanently delete a webhook. Returns true on success.

      webhookId
      Int!
      Required
      Unique identifier of the webhook endpoint to delete.
    markOrderPreparing
    Order!
    Required
    Mark an accepted order as preparing.
      orderId
      Int!
      Required
      Order now being prepared.
    markOrderReady
    Order!
    Required
    Mark a preparing order as ready.
      orderId
      Int!
      Required
      Order now ready for collection.
    regenerateBotSecret
    String!
    Required
    Regenerate a webhook bot's secret, invalidating the previous one. Returns the new secret so the caller can update their webhook handler.
      botId
      Int!
      Required
      Unique identifier of the bot to issue a new secret for.
    regenerateWebhookSecret
    String!
    Required
    Rotate a webhook's signing secret, returning the new secret. The new value is only surfaced here — it is stored hashed-in-place and cannot be retrieved again afterwards.
      webhookId
      Int!
      Required
      Webhook whose signing secret to replace.
    removeProductFromVendorMenu
    Boolean!
    Required
    Take a product off a menu. The product itself is untouched.
      menuId
      Int!
      Required
      Menu to remove the product from.
      productId
      Int!
      Required
      Product to remove.
    testBotWebhook
    BotWebhookTest!
    Required
    Queue a test webhook delivery for a webhook-type bot.
      botId
      Int!
      Required
      Bot whose webhook endpoint to test.
    transitionReservation
    Reservation!
    Required
    Move a reservation through its host-stand lifecycle (seated/completed/…).
    updateBot
    Bot!
    Required
    Update an existing bot. Permissions, version and tags are not editable through the developer API.
      botId
      Int!
      Required
      Bot to update.
      input
      UpdateBotInput!
      Required
      Fields to change on the bot.
        avatarUrl
        String
        Replacement avatar image URL.
        category
        String
        Replacement directory category.
        configuration
        JSON
        Replacement JSON configuration. Replaces the stored blob outright.
        description
        String
        Replacement description. Up to 500 characters.
        displayName
        String
        Replacement display name. 2–100 characters.
        isPublic
        Boolean
        Whether the bot is listed in the public directory.
        webhookSecret
        String
        Rotated signing secret. 32–128 characters. Supplying it invalidates the previous secret immediately.
        webhookUrl
        String
        Replacement HTTPS delivery URL.
    updateLocation
    Location!
    Required
    Update an existing location.
      input
      UpdateLocationInput!
      Required
      Fields to change on the location.
        address
        String
        Replacement street address.
        city
        String
        Replacement city.
        country
        String
        Replacement country.
        deliveryAvailable
        Boolean
        Whether the branch delivers.
        deliveryRadius
        Float
        Replacement delivery radius in kilometres.
        email
        String
        Replacement contact email address.
        isActive
        Boolean
        Whether the branch is in service.
        latitude
        Float
        Replacement latitude in decimal degrees (WGS 84).
        longitude
        Float
        Replacement longitude in decimal degrees (WGS 84).
        name
        String
        Replacement branch name.
        phone
        String
        Replacement contact phone number.
        pickupAvailable
        Boolean
        Whether customers can collect from this branch.
        postalCode
        String
        Replacement postal or ZIP code.
        state
        String
        Replacement state, province or region.
      locationId
      Int!
      Required
      Location to update.
    updateProduct
    Product!
    Required
    Update a product.
      input
      UpdateProductInput!
      Required
      Fields to change on the product.
        ageRestricted
        Boolean
        Whether buyers must pass an age check.
        availableQty
        Int

        New stock level, applied to every branch stocking this product.

        barcode
        String
        Replacement barcode.
        capacity
        String
        Replacement packaged size.
        deliverable
        Boolean
        Whether the product can be delivered.
        description
        String
        Replacement description.
        digital
        Boolean
        Whether the product is digital.
        discountPrice
        Decimal

        Replacement sale price in major units. 0 clears the discount.

        featured
        Boolean
        Whether the product appears in featured placements.
        isActive
        Boolean
        Whether the product is orderable.
        name
        String
        Replacement product name.
        packageCount
        String
        Replacement multi-pack count.
        plusOption
        Boolean
        Whether the product is restricted to Plus members.
        price
        Decimal
        Replacement list price in major units of the product's currency.
        sku
        String
        Replacement stock-keeping unit.
        unit
        String

        Replacement unit for capacity.

      productId
      Int!
      Required
      Product to update.
    updateServicePeriod
    RestaurantServicePeriod!
    Required
    Update a service period.
      input
      UpdateRestaurantServicePeriodInput!
      Required
      Fields to change on the service period.
        defaultTurnTimeMinutes
        Int
        How long a table is held per booking when no party-size rule matches (15-600).
        endTime
        NaiveTime
        New local time the shift stops taking bookings.
        isActive
        Boolean
        Whether the shift takes bookings.
        maxCoversPerSlot
        Int
        Most guests the kitchen will take in a single slot (1-10000).
        name
        String
        New shift name. Omit to leave unchanged.
        slotIntervalMinutes
        Int
        Spacing between consecutive bookable start times, in minutes (5-240).
        startTime
        NaiveTime
        New local time the shift opens for bookings.
        turnoverBufferMinutes
        Int
        Extra minutes left between one booking and the next on the same table (0-240).
        weekday
        Int
        0 = Monday … 6 = Sunday.
      periodId
      Int!
      Required
      Service period to update.
    updateTable
    RestaurantTable!
    Required
    Update one of the vendor's tables.
      input
      UpdateRestaurantTableInput!
      Required
      Fields to change on the table.
        isActive
        Boolean
        Whether the table is in use.
        isCombinable
        Boolean
        Whether the table can be joined to others.
        label
        String
        New name staff use for the table. Omit to leave unchanged.
        maxCapacity
        Int
        New largest party the table seats (1-100).
        minCapacity
        Int
        New smallest party the table is offered to (1-100).
        section
        RestaurantTableSection
        New part of the room the table stands in.
        sortOrder
        Int
        New position in the table list; lower values sort first.
      tableId
      Int!
      Required
      Table to update.
    updateVendorCoupon
    Coupon!
    Required
    Update a coupon this vendor owns.
      couponId
      Int!
      Required
      Coupon to update.
      input
      UpdateVendorCouponInput!
      Required
      Fields to change on the coupon.
        code
        String
        New code customers type at checkout. Omit to leave it unchanged.
        color
        String

        New hex colour for display (e.g. #FF5733). Omit to leave it unchanged.

        description
        String
        New terms or explanation. Omit to leave it unchanged.
        discount
        Decimal
        Never negative, for the same reason as on create: the order paths subtract it.
        expiresOn
        DateTime
        New expiry (UTC). Omit to leave it unchanged.
        forDelivery
        Boolean
        Whether the discount applies to the delivery fee. Omit to leave it unchanged.
        isActive
        Boolean
        Whether the coupon can still be redeemed. Omit to leave it unchanged.
        maxCouponAmount
        Decimal
        New cap on a percentage discount. Omit to leave it unchanged.
        minOrderAmount
        Decimal
        New order minimum, in the vendor's currency. Omit to leave it unchanged.
        percentage
        Boolean

        Whether discount is a percentage. Omit to leave it unchanged.

        productIds
        [Int!]
        Required
        Replaces the product restriction outright. An empty list clears it.
        times
        Int
        New total redemption limit. Omit to leave it unchanged.
        vendorLocationIds
        [Int!]
        Required

        Replaces the location restriction outright. Some(vec![]) clears it.

    updateVendorMenu
    AdminMenu!
    Required
    Rename a menu, change its description, or activate/deactivate it.
      input
      UpdateVendorMenuInput!
      Required
      Fields to change on the menu.
        inOrder
        Int
        Sort position among the vendor's menus, lowest first. Omit to leave unchanged.
        isActive
        Boolean
        Whether the menu is visible to customers. Omit to leave unchanged.
        name
        LocalizedStringInput
        Menu name shown to customers. Omit to leave every language unchanged.
      menuId
      Int!
      Required
      Menu to update.
    updateWebhook
    Webhook!
    Required
    Modify an existing webhook's URL, events, or active status.
      input
      UpdateWebhookInput!
      Required
      Fields to change on the webhook.
        events
        [WebhookEvent!]
        Required
        Replacement subscription list. Replaces the existing set outright.
        isActive
        Boolean

        Whether the webhook delivers. Set false to pause without deleting.

        url
        String
        Replacement HTTPS delivery URL.
      webhookId
      Int!
      Required
      Webhook to update.
    upsertTurnTime
    RestaurantTurnTime!
    Required
    Create or update a turn time.
      input
      UpsertRestaurantTurnTimeInput!
      Required
      Turn time to set, replacing any existing one.
        maxPartySize
        Int!
        Required
        Largest party the rule covers (1-200).
        minPartySize
        Int!
        Required
        Smallest party the rule covers (1-200).
        restaurantServicePeriodId
        Int!
        Required
        Shift the rule applies during.
        turnTimeMinutes
        Int!
        Required
        How long a table is held for parties in this band (15-600).
        vendorLocationId
        Int!
        Required
        Branch the rule applies at.
Built with