Grubhub Merchant Schedules API

Manage restaurant operating hours on Grubhub: repeating weekly schedules for delivery, pickup and catering, one-off schedule overrides for closures and special hours, and immediate open-now / close-now control.

Operations 13

GET /pos/v1/merchant/{merchant_id}/schedules/repeating Get merchant schedules #
PUT /pos/v1/merchant/{merchant_id}/schedules/repeating Create/Update merchant schedule #
PUT /pos/v1/merchant/{merchant_id}/schedules/pickup/{schedule_version} Update a pickup schedule #
PUT /pos/v1/merchant/{merchant_id}/schedules/delivery/{schedule_version} Update a delivery schedule #
PUT /pos/v1/merchant/{merchant_id}/schedules/catering/{schedule_version} Update a catering schedule #
GET /pos/v1/merchant/{merchant_id}/schedules/overrides Get schedule overrides #
POST /pos/v1/merchant/{merchant_id}/schedules/overrides Add schedule override #
DELETE /pos/v1/merchant/{merchant_id}/schedules/overrides Delete schedule override #
POST /pos/v1/merchant/{merchant_id}/schedules/opennow Start receiving online orders #
POST /pos/v1/merchant/{merchant_id}/schedules/closenow Stop online orders #
GET /pos/v1/merchant/{merchant_id}/schedules/pickup Get the pickup schedule #
GET /pos/v1/merchant/{merchant_id}/schedules/delivery Get the delivery schedule #
GET /pos/v1/merchant/{merchant_id}/schedules/catering Get the catering schedule #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/grubhub-merchant-schedules"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

grubhub-merchant-schedules-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Merchant Schedules
servers:
- url: https://api-third-party-gtm-pp.grubhub.com
  description: preprod
- url: https://api-third-party-gtm.grubhub.com
  description: prod
tags:
- name: Models
  description: "# LocalTime \n <SchemaDefinition schemaRef=\"#/components/schemas/LocalTime\"/>\n\n# PosMerchantRepeatingIntervalRequest\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/PosMerchantRepeatingIntervalRequest\"/>\n\n# PosUpdateRepeatingScheduleRequest\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/PosUpdateRepeatingScheduleRequest\"/>\n\n# Chronology\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/Chronology\"/>\n\n# DateTimeField \n <SchemaDefinition\
    \ schemaRef=\"#/components/schemas/DateTimeField\"/>\n\n# DateTimeFieldType \n <SchemaDefinition schemaRef=\"\
    #/components/schemas/DateTimeFieldType\"/>\n\n# DateTimeZone \n <SchemaDefinition schemaRef=\"#/components/schemas/DateTimeZone\"\
    />\n\n# DurationField \n <SchemaDefinition schemaRef=\"#/components/schemas/DurationField\"/>\n\n# DurationFieldType\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/DurationFieldType\"/>\n\n# PosMerchantRepeatingSchedule\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/PosMerchantRepeatingSchedule\"/>\n\n# RepeatingSchedule\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/RepeatingSchedule\"/>\n\n# RepeatingScheduleMetadata\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/RepeatingScheduleMetadata\"/>\n\n# RepeatingScheduleRule\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/RepeatingScheduleRule\"/>\n\n# RepeatingScheduleRuleInterval\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/RepeatingScheduleRuleInterval\"/>\n\n# PosScheduleOverrideRequest\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/PosScheduleOverrideRequest\"/>\n\n# CustomScheduleMetadata\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/CustomScheduleMetadata\"/>\n\n# MassScheduleOverrideMetadata\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/MassScheduleOverrideMetadata\"/>\n\n# PeriodSchedule\
    \ \n <SchemaDefinition schemaRef=\"#/components/schemas/PeriodSchedule\"/>\n\n# PosCustomSchedule \n <SchemaDefinition\
    \ schemaRef=\"#/components/schemas/PosCustomSchedule\"/>\n\n# PosFullSchedule \n <SchemaDefinition schemaRef=\"\
    #/components/schemas/PosFullSchedule\"/>\n\n# PosMassScheduleOverride \n <SchemaDefinition schemaRef=\"#/components/schemas/PosMassScheduleOverride\"\
    />\n\n# PosScheduleOverride \n <SchemaDefinition schemaRef=\"#/components/schemas/PosScheduleOverride\"/>\n\n\
    # ScheduleOverrideMetadata \n <SchemaDefinition schemaRef=\"#/components/schemas/ScheduleOverrideMetadata\"\
    />\n\n# PosDeleteScheduleOverride \n <SchemaDefinition schemaRef=\"#/components/schemas/PosDeleteScheduleOverride\"\
    />\n\n"
paths:
  /pos/v1/merchant/{merchant_id}/schedules/repeating:
    get:
      tags:
      - Endpoints
      summary: Get merchant schedules
      description: Gets a merchant's schedules.
      operationId: getRepeatingSchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved merchant schedule.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PosMerchantRepeatingSchedule'
              example:
              - merchant_id: abc123
                schedule_id: e1a4d35c-3e52-4d7f-8b0c-60c4dc328d9c
                name: DELIVERY
                version_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                repeating_schedule_content:
                  name: Weekly Schedule
                  type: WEEKLY
                  metadata: This is the weekly schedule
                  rules:
                  - days_of_week:
                    - MONDAY
                    - TUESDAY
                    rule_interval:
                      start_time: 09:00:00
                      end_time: '17:00:00'
                  - days_of_week:
                    - WEDNESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00:00'
                      end_time: '16:00:00'
                metadata:
                  source: API
              - merchant_id: def456
                schedule_id: 21c8a1d4-5730-4e64-8d82-78c4b451e2a8
                name: PICKUP
                version_id: f5219c4f-8276-4f23-9d32-bf9e700199a3
                repeating_schedule_content:
                  name: Weekly Pickup Schedule
                  type: WEEKLY
                  metadata: This is the weekly pickup schedule
                  rules:
                  - days_of_week:
                    - FRIDAY
                    - SATURDAY
                    - SUNDAY
                    rule_interval:
                      start_time: '11:00:00'
                      end_time: '19:00:00'
                metadata:
                  source: Web
    put:
      tags:
      - Endpoints
      summary: Create/Update merchant schedule
      description: Creates a merchant schedule if one doesn't exist when updating delivery and pickup schedules.
      operationId: putRepeatingSchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      requestBody:
        description: The hours per day of the week that this merchant can accept delivery/pickup/catering orders.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosUpdateRepeatingScheduleRequest'
            example:
              intervals:
              - repeating_schedule_rule:
                - MONDAY
                - TUESDAY
                start: 08:00:00
                end: '12:00:00'
              - repeating_schedule_rule:
                - WEDNESDAY
                - THURSDAY
                start: '13:30:00'
                end: '17:30:00'
              schedule_type: DELIVERY
        required: true
      responses:
        '200':
          description: Successfully updated merchant schedule.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosMerchantRepeatingSchedule'
              example:
                merchant_id: store182
                schedule_id: 12345678-abcd-efgh-ijkl-9876543210ab
                name: DELIVERY
                version_id: 98765432-ijkl-efgh-abcd-1234567890ab
                repeating_schedule_content:
                  name: Example Schedule
                  type: WEEKLY
                  metadata: 1i89aASJDF2
                  rules:
                  - days_of_week:
                    - MONDAY
                    - WEDNESDAY
                    - FRIDAY
                    rule_interval:
                      start_time: 09:00
                      end_time: '18:00'
                  - days_of_week:
                    - TUESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00'
                      end_time: '17:00'
                metadata:
                  source: Example Source
                  created_by: John Doe
                  updated_by: Jane Doe
                  create_date: '2023-07-20T12:00:00Z'
                  update_date: '2023-07-20T14:30:00Z'
                  legacy_id: lkja92ASJd2
                  description: system data
  /pos/v1/merchant/{merchant_id}/schedules/pickup/{schedule_version}:
    put:
      tags:
      - Endpoints
      summary: Update a pickup schedule
      description: Replaces the weekly schedule of when a merchant is available to accept pickup orders.
      operationId: updatePickupSchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      - name: schedule_version
        in: path
        description: The ID of the schedule version that you want to update.
        required: true
        explode: false
        schema:
          type: string
          format: uuid
      requestBody:
        description: The hours per day of the week that this merchant can accept pickup orders.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosUpdateRepeatingScheduleRequest'
            example:
              intervals:
              - repeating_schedule_rule:
                - MONDAY
                - TUESDAY
                start: 08:00:00
                end: '12:00:00'
              - repeating_schedule_rule:
                - WEDNESDAY
                - THURSDAY
                start: '13:30:00'
                end: '17:30:00'
              schedule_type: DELIVERY
        required: true
      responses:
        '200':
          description: Successfully updated pickup schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosMerchantRepeatingSchedule'
              example:
                merchant_id: store182
                schedule_id: 12345678-abcd-efgh-ijkl-9876543210ab
                name: DELIVERY
                version_id: 98765432-ijkl-efgh-abcd-1234567890ab
                repeating_schedule_content:
                  name: Example Schedule
                  type: WEEKLY
                  metadata: 1i89aASJDF2
                  rules:
                  - days_of_week:
                    - MONDAY
                    - WEDNESDAY
                    - FRIDAY
                    rule_interval:
                      start_time: 09:00
                      end_time: '18:00'
                  - days_of_week:
                    - TUESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00'
                      end_time: '17:00'
                metadata:
                  source: Example Source
                  created_by: John Doe
                  updated_by: Jane Doe
                  create_date: '2023-07-20T12:00:00Z'
                  update_date: '2023-07-20T14:30:00Z'
                  legacy_id: lkja92ASJd2
                  description: system data
  /pos/v1/merchant/{merchant_id}/schedules/delivery/{schedule_version}:
    put:
      tags:
      - Endpoints
      summary: Update a delivery schedule
      description: Replaces the weekly schedule of when a merchant is available to accept delivery orders.
      operationId: updateDeliverySchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      - name: schedule_version
        in: path
        description: The ID of the schedule version that you want to update.
        required: true
        explode: false
        schema:
          type: string
          format: uuid
      requestBody:
        description: The hours per day of the week that this merchant can accept delivery orders.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosUpdateRepeatingScheduleRequest'
            example:
              intervals:
              - repeating_schedule_rule:
                - MONDAY
                - TUESDAY
                start: 08:00:00
                end: '12:00:00'
              - repeating_schedule_rule:
                - WEDNESDAY
                - THURSDAY
                start: '13:30:00'
                end: '17:30:00'
              schedule_type: DELIVERY
        required: true
      responses:
        '200':
          description: Successfully updated delivery schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosMerchantRepeatingSchedule'
              example:
                merchant_id: store182
                schedule_id: 12345678-abcd-efgh-ijkl-9876543210ab
                name: DELIVERY
                version_id: 98765432-ijkl-efgh-abcd-1234567890ab
                repeating_schedule_content:
                  name: Example Schedule
                  type: WEEKLY
                  metadata: 1i89aASJDF2
                  rules:
                  - days_of_week:
                    - MONDAY
                    - WEDNESDAY
                    - FRIDAY
                    rule_interval:
                      start_time: 09:00
                      end_time: '18:00'
                  - days_of_week:
                    - TUESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00'
                      end_time: '17:00'
                metadata:
                  source: Example Source
                  created_by: John Doe
                  updated_by: Jane Doe
                  create_date: '2023-07-20T12:00:00Z'
                  update_date: '2023-07-20T14:30:00Z'
                  legacy_id: lkja92ASJd2
                  description: system data
  /pos/v1/merchant/{merchant_id}/schedules/catering/{schedule_version}:
    put:
      tags:
      - Endpoints
      summary: Update a catering schedule
      description: Replaces the weekly schedule of when a merchant is available to accept catering orders.
      operationId: updateCateringSchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      - name: schedule_version
        in: path
        description: The ID of the schedule version that you want to update.
        required: true
        explode: false
        schema:
          type: string
          format: uuid
      requestBody:
        description: The hours per day of the week that this merchant can accept catering orders.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosUpdateRepeatingScheduleRequest'
            example:
              intervals:
              - repeating_schedule_rule:
                - MONDAY
                - TUESDAY
                start: 08:00:00
                end: '12:00:00'
              - repeating_schedule_rule:
                - WEDNESDAY
                - THURSDAY
                start: '13:30:00'
                end: '17:30:00'
              schedule_type: DELIVERY
        required: true
      responses:
        '200':
          description: Successfully updated catering schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosMerchantRepeatingSchedule'
              example:
                merchant_id: store182
                schedule_id: 12345678-abcd-efgh-ijkl-9876543210ab
                name: DELIVERY
                version_id: 98765432-ijkl-efgh-abcd-1234567890ab
                repeating_schedule_content:
                  name: Example Schedule
                  type: WEEKLY
                  metadata: 1i89aASJDF2
                  rules:
                  - days_of_week:
                    - MONDAY
                    - WEDNESDAY
                    - FRIDAY
                    rule_interval:
                      start_time: 09:00
                      end_time: '18:00'
                  - days_of_week:
                    - TUESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00'
                      end_time: '17:00'
                metadata:
                  source: Example Source
                  created_by: John Doe
                  updated_by: Jane Doe
                  create_date: '2023-07-20T12:00:00Z'
                  update_date: '2023-07-20T14:30:00Z'
                  legacy_id: lkja92ASJd2
                  description: system data
  /pos/v1/merchant/{merchant_id}/schedules/overrides:
    get:
      tags:
      - Endpoints
      summary: Get schedule overrides
      description: Retrieve all schedule overrides for a merchant.
      operationId: getScheduledOverrides
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved schedule overrides.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PosScheduleOverride'
              example:
              - schedule_id: 123e4567-e89b-12d3-a456-426614174000
                merchant_id: merchant_id_123
                name: DELIVERY
                type: AVAILABLE
                metadata:
                  source: source_value
                  created_by: John Doe
                  updated_by: Jane Smith
                  create_date: '2023-07-18T12:00:00'
                  update_date: '2023-07-18T14:00:00'
                  legacy_id: legacy_id_value
                  description: Schedule override metadata description
                local_start_time: '2023-07-18T10:00:00'
                local_end_time: '2023-07-18T15:00:00'
                start_time_utc: '2023-07-18T07:00:00Z'
                end_time_utc: '2023-07-18T12:00:00Z'
              - schedule_id: 98765432-e89b-12d3-a456-426614174000
                merchant_id: merchant_id_456
                name: PICKUP
                type: UNAVAILABLE
                metadata:
                  source: source_value_2
                  created_by: Alice Johnson
                  updated_by: Bob Smith
                  create_date: '2023-07-19T09:00:00'
                  update_date: '2023-07-19T11:00:00'
                  legacy_id: legacy_id_value_2
                  description: Another Schedule override metadata description
                local_start_time: '2023-07-19T07:00:00'
                local_end_time: '2023-07-19T10:00:00'
                start_time_utc: '2023-07-19T04:00:00Z'
                end_time_utc: '2023-07-19T07:00:00Z'
    post:
      tags:
      - Endpoints
      summary: Add schedule override
      description: Add a schedule override for a merchant.
      operationId: overrideSchedule
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      requestBody:
        description: The schedule override to add.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosScheduleOverrideRequest'
            example:
              start: '2023-07-20T12:00:00'
              end: '2023-07-21T12:00:00'
              type: AVAILABLE
              schedule_name: DELIVERY
        required: true
      responses:
        '400':
          description: No user id in request information, or number of availability overrides of exceeds max limit.
        '409':
          description: Schedule override overlaps existing override.
        '200':
          description: Successfully added schedule override.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosScheduleOverrideRequest'
              example:
                start: '2023-07-18T10:00:00'
                end: '2023-07-18T15:00:00'
                type: AVAILABLE
                schedule_name: DELIVERY
    delete:
      tags:
      - Endpoints
      summary: Delete schedule override
      description: Cancels and existing schedule override. Has the effect of updating the end time of the override.
      operationId: deleteScheduleOverride
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      requestBody:
        description: Reference to the override to be deleted.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PosDeleteScheduleOverride'
            example:
              current_end_time: '2023-07-20T12:00:00'
              type: AVAILABLE
        required: true
      responses:
        '204':
          description: Override successfully deleted.
        '409':
          description: Schedule override overlaps existing override.
  /pos/v1/merchant/{merchant_id}/schedules/opennow:
    post:
      tags:
      - Endpoints
      summary: Start receiving online orders
      description: Immediately makes the merchant available for Grubhub orders. If the merchant was closed, whether
        during a regular or custom schedule, from a previous closeNow call, or because of a schedule override, the
        merchant will become immediately available on Grubhub. This will only affect the status of the merchant
        on Grubhub; in-store orders will be unaffected.
      operationId: openNow
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      responses:
        '503':
          description: Service requires reconciliation to be enabled
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosFullSchedule'
              example:
                statuses:
                  DELIVERY: OPEN
                  PICKUP: CLOSED
                  CATERING: OPEN
                  GROUP: OPEN
                today_schedule:
                  DELIVERY:
                    '2023-07-20':
                      start_time: 09:00:00
                      end_time: '17:00:00'
                    '2023-07-21':
                      start_time: 09:00:00
                      end_time: '17:00:00'
                  PICKUP:
                    '2023-07-20':
                      start_time: '10:00:00'
                      end_time: '16:00:00'
                overrides_in_effect:
                - schedule_id: e1a4d35c-3e52-4d7f-8b0c-60c4dc328d9c
                  merchant_id: abc123
                  name: DELIVERY
                  type: WHITEIN
                  metadata:
                    source: API
                  local_start_time: '2023-07-20T09:00:00'
                  local_end_time: '2023-07-20T17:00:00'
                  start_time_utc: '2023-07-20T06:00:00Z'
                  end_time_utc: '2023-07-20T14:00:00Z'
                mass_overrides_in_effect:
                - id: f5219c4f-8276-4f23-9d32-bf9e700199a3
                  merchant_ids:
                  - def456
                  - ghi789
                  metadata: {}
                  start_time_utc: '2023-07-21T08:00:00Z'
                  end_time_utc: '2023-07-21T16:00:00Z'
                  start_time_local: '2023-07-21T12:00:00'
                  end_time_local: '2023-07-21T20:00:00'
                repeating_schedules_in_effect:
                - merchant_id: jkl012
                  schedule_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  name: CATERING
                  version_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  repeating_schedule_content:
                    name: Weekly Schedule
                    type: WEEKLY
                    metadata: This is the weekly schedule
                    rules:
                    - days_of_week:
                      - TUESDAY
                      - FRIDAY
                      rule_interval:
                        start_time: '11:00:00'
                        end_time: '19:00:00'
                  metadata:
                    source: Web
                custom_schedules_in_effect:
                - name: GROUP
                  date: '2023-07-21'
                  metadata:
                    source: API
                    intervals:
                    - start_time: '10:00:00'
                      end_time: '14:00:00'
                    - start_time: '17:00:00'
                      end_time: '20:00:00'
                    description: Custom schedule for group orders
                all_schedule_overrides:
                - schedule_id: e1a4d35c-3e52-4d7f-8b0c-60c4dc328d9c
                  merchant_id: abc123
                  name: DELIVERY
                  type: WHITEIN
                  metadata:
                    source: API
                  local_start_time: '2023-07-20T09:00:00'
                  local_end_time: '2023-07-20T17:00:00'
                  start_time_utc: '2023-07-20T06:00:00Z'
                  end_time_utc: '2023-07-20T14:00:00Z'
                all_mass_overrides:
                - id: f5219c4f-8276-4f23-9d32-bf9e700199a3
                  merchant_ids:
                  - def456
                  - ghi789
                  metadata: {}
                  start_time_utc: '2023-07-21T08:00:00Z'
                  end_time_utc: '2023-07-21T16:00:00Z'
                  start_time_local: '2023-07-21T12:00:00'
                  end_time_local: '2023-07-21T20:00:00'
                all_repeating_schedules:
                - merchant_id: jkl012
                  schedule_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  name: CATERING
                  version_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  repeating_schedule_content:
                    name: Weekly Schedule
                    type: WEEKLY
                    metadata: This is the weekly schedule
                    rules:
                    - days_of_week:
                      - TUESDAY
                      - FRIDAY
                      rule_interval:
                        start_time: '11:00:00'
                        end_time: '19:00:00'
                  metadata:
                    source: Web
                all_custom_schedules:
                - name: GROUP
                  date: '2023-07-21'
                  metadata:
                    source: API
                    intervals:
                    - start_time: '10:00:00'
                      end_time: '14:00:00'
                    - start_time: '17:00:00'
                      end_time: '20:00:00'
                    description: Custom schedule for group orders
                managed_delivery_schedules:
                - name: Weekly
                  type: WEEKLY
                  metadata: Metadata to store with this repeating schedule
                  rules:
                  - days_of_week:
                    - MONDAY
                    - TUESDAY
                    rule_interval:
                      start_time: 09:00:00
                      end_time: '17:00:00'
                  - days_of_week:
                    - WEDNESDAY
                    - THURSDAY
                    rule_interval:
                      start_time: '10:00:00'
                      end_time: '16:00:00'
        '404':
          description: Merchant or repeating schedule was not found
  /pos/v1/merchant/{merchant_id}/schedules/closenow:
    post:
      tags:
      - Endpoints
      summary: Stop online orders
      description: Immediately stops taking Grubhub orders. The merchant will remain listed on the site, but will
        be shown as closed/not taking orders, overriding any regular or custom schedules, including schedule overrides.
        This will only affect the status of the merchant on Grubhub; the POS will still be able to process in-store
        orders.
      operationId: closeNow
      parameters:
      - name: merchant_id
        in: path
        description: The short Grubhub ID for the merchant. Corresponds to a single location.
        required: true
        explode: false
        schema:
          type: string
      responses:
        '503':
          description: Service requires reconciliation to be enabled
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PosFullSchedule'
              example:
                statuses:
                  DELIVERY: OPEN
                  PICKUP: CLOSED
                  CATERING: OPEN
                  GROUP: OPEN
                today_schedule:
                  DELIVERY:
                    '2023-07-20':
                      start_time: 09:00:00
                      end_time: '17:00:00'
                    '2023-07-21':
                      start_time: 09:00:00
                      end_time: '17:00:00'
                  PICKUP:
                    '2023-07-20':
                      start_time: '10:00:00'
                      end_time: '16:00:00'
                overrides_in_effect:
                - schedule_id: e1a4d35c-3e52-4d7f-8b0c-60c4dc328d9c
                  merchant_id: abc123
                  name: DELIVERY
                  type: WHITEIN
                  metadata:
                    source: API
                  local_start_time: '2023-07-20T09:00:00'
                  local_end_time: '2023-07-20T17:00:00'
                  start_time_utc: '2023-07-20T06:00:00Z'
                  end_time_utc: '2023-07-20T14:00:00Z'
                mass_overrides_in_effect:
                - id: f5219c4f-8276-4f23-9d32-bf9e700199a3
                  merchant_ids:
                  - def456
                  - ghi789
                  metadata: {}
                  start_time_utc: '2023-07-21T08:00:00Z'
                  end_time_utc: '2023-07-21T16:00:00Z'
                  start_time_local: '2023-07-21T12:00:00'
                  end_time_local: '2023-07-21T20:00:00'
                repeating_schedules_in_effect:
                - merchant_id: jkl012
                  schedule_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  name: CATERING
                  version_id: a8ef83f8-49a9-4e0c-9b67-9c05c1f05e42
                  repeating_schedule_content:
                    name: Weekly Schedule
                    type: WEEKLY
                    metadata: This is the weekly schedule
                    rules:
                    - days_of_week:
                      - TUESDAY
                      - FRIDAY
                      rule_interval:
                        start_time: '11:00:00'
                        end_time: '19:00:00'
                  metadata:
                    source: Web
                custom_schedules_in_effect:
                - name: GROUP
                  date: '2023-07-21'
                  metadata:
                    source: API
                    intervals:
                    - start_time: '10:00:00'
                      end_time: '14:00:00'
                    - start_time: '17:00:00'
                      end_time: '20:00:00'
                    description: Custom schedule for group orders
                all_schedule_overrides:
                - schedule_id: e1a4d35c-3e52-4d7f-8b0c-60c4dc328d9c
                  merchant_id: abc123
                  name: DELIVERY
                  type: WHITEIN
                  metadata:
                    source: API
                  local_start_time: '2023-07-20T09:00:00'
                  local_end_time: '2023-07-20T17:00:00'
                  start_time_utc: '2023-07-20T06:00:00Z'
                  end_time_utc: '2023-07-20T14:00:00Z'
                all_mass_overrides:
                - id: f5219c4f-8276-4f23-9d32-bf9e700199a3
                  merchant_ids:
                  - def456
                  - ghi789
                  metadata: {}
                  start_time_utc: '2023-07-21T08:00:00Z'
                  end_time_utc: '2023-07-21T16:00:00Z'
                  start_time_local: '2023-07-21T12:00:00'
                  end_time_local: '2023-07-21T20:00:00'
                all_repeating_schedules:

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/grubhub/refs/heads/main/openapi/grubhub-merchant-schedules-openapi.yml