openapi: 3.1.0
info:
  title: 'Admin Management: Pickup Methods'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/pickup/methods:
    get:
      operationId: get-pickup-methods
      summary: List Pickup Methods
      description: >-
        Retrieves a list of pickup methods.


        ## Examples


        You can filter this list to return pickup method objects specific to a list of requested pickup method IDs. This
        is achieved by appending the query string `?id:in=1,3,5` to the resource `/pickup/methods`.


        ```http

        GET /pickup/methods?id:in=1,3,5

        ```
      tags:
        - pickupMethods
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id:in
          in: query
          description: Comma separated list of pickup method IDs.
          required: false
          schema:
            type: integer
            format: int64
        - name: limit
          in: query
          description: Maximum number of results per page.
          required: false
          schema:
            type: integer
            format: int64
        - name: page
          in: query
          description: The number of the page to be fetched.
          required: false
          schema:
            type: integer
            format: int64
        - name: date_created
          in: query
          description: |-
            Filter pickup methods by the date created. Return methods created on the provided date.

            For example, `date_created=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_created:min
          in: query
          description: |-
            Filter pickup methods by minimum date created. Return methods created after the provided date.

            For example, `date_created:min=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_created:max
          in: query
          description: |-
            Filter pickup methods by maximum date created. Return methods created before the provided date.

            For example, `date_created:max=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified
          in: query
          description: |-
            Filter pickup methods by date modified. Return methods modified on the provided date.

            For example, `date_modified=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified:min
          in: query
          description: |-
            Filter pickup methods by minimum date modified. Return methods modified after the provided date.

            For example, `date_modified:min=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified:max
          in: query
          description: |-
            Filter pickup methods by maximum date modified. Return methods modified before the provided date.

            For example, `date_modified:max=2023-09-07T06:23:13Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: sort
          in: query
          description: |-
            Sort pickup methods by date_modified:* or name:* ; for example, `sort=name:asc`.  

            - `date_modified:asc` - sort by date modified in ascending order
            - `date_modified:desc` - sort by date modified in descending order
            - `name:asc` - sort by name in ascending order
            - `name:desc` - sort by name in descending order
          required: false
          schema:
            $ref: '#/components/schemas/PickupMethodsGetParametersSort'
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been processed and a list of pickup methods has been returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup Methods_get-pickup-methods_Response_200'
    post:
      operationId: post-pickup-methods
      summary: Create Pickup Methods
      description: |-
        Creates one or many pickup methods.

        This is a batch operation that can create up to 100 pickup methods objects in one request.

        ## Limits
        * Limit of creating 100 pickup method objects per `POST` request.
      tags:
        - pickupMethods
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been successfully processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup Methods_post-pickup-methods_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasePickupMethod'
    put:
      operationId: put-pickup-methods
      summary: Update Pickup Methods
      description: >-
        Update existing pickup methods.


        This batch operation can update 10 pickup method objects in one request.


        Only the `id` property of the pickup method object is required as part of the request. Pickup method properties
        that are not provided will maintain their existing values.


        ## Limits

        * Limit of updating 10 pickup method objects per `PUT` request.
      tags:
        - pickupMethods
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been successfully processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup Methods_put-pickup-methods_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PickupMethodsPutRequestBodyContentApplicationJsonSchemaItems'
    delete:
      operationId: delete-pickup-methods
      summary: Delete Pickup Methods
      description: Delete existing pickup methods.
      tags:
        - pickupMethods
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id:in
          in: query
          description: Comma separated list of pickup method IDs.
          required: true
          schema:
            type: integer
            format: int64
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/orders/pickups:
    get:
      operationId: get-pickup
      summary: List Pickups
      description: |-
        Retrieves a list of pickups.

        ## Examples

        You can filter the list to return pickup objects specific to a list of requested pickup or order IDs. 
        This is achieved by appending the query string `?order_id:in=100,103,202` or `pickup_id:in=1,4` to the 
        resource `/orders/pickups`.

        ```http
        GET /orders/pickups?order_id:in=100,300,500
        ```
        or
        ```http
        GET /orders/pickups?pickup_id:in=7,13,17
        ```
      tags:
        - pickup
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: order_id:in
          in: query
          description: Comma separated list of order IDs.
          required: false
          schema:
            type: integer
            format: int64
        - name: pickup_id:in
          in: query
          description: Comma separated list of pickup IDs.
          required: false
          schema:
            type: integer
            format: int64
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been processed and a list of pickups has been returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup_get-pickup_Response_200'
    post:
      operationId: post-pickup
      summary: Create Pickups
      description: |-
        Creates one or many pickups.

        This is a batch operation that can create up to 100 pickup objects in one request.

        ## Limits
        * Limit of creating 100 pickup objects per `POST` request.
      tags:
        - pickup
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been successfully processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup_post-pickup_Response_200'
        '422':
          description: >
            Incorrect entity. Locations were not valid. This results from missing required fields, invalid data, or
            partial error. See the response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PostRequestPickup'
    put:
      operationId: put-pickup
      summary: Update Pickups
      description: Update pickups by providing `pickup_id`, `collected_at`, and `ready_at` in the input.
      tags:
        - pickup
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been successfully processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pickup_put-pickup_Response_200'
        '422':
          description: >
            Incorrect entity. Locations were not valid. This results from missing required fields, invalid data, or
            partial error. See the response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PutRequestPickup'
    delete:
      operationId: delete-pickup
      summary: Delete Pickups
      description: >-
        Delete pickups by providing a list of `pickup_id`s.


        ## Examples

        You can use the list of `pickup_ids` to delete the pickup items. This is achieved by appending the query string
        **?id:in=1,2,3** to the resource **/pickup**.


        ```http

        DELETE /pickup?id:in=1,2,3

        ```
      tags:
        - pickup
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id:in
          in: query
          description: Comma separated list of pickup IDs.
          required: true
          schema:
            type: integer
            format: int64
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/pickup/options:
    post:
      operationId: post-pickup-options
      summary: Find Available Pickup Options
      description: >-
        Returns up to 10 available pickup options for the requested items around a radius of the provided search
        coordinates. 


        The pickup options returned only include options where all requested items are available and can be picked up
        from a single location.
      tags:
        - pickupOptions
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

            |:--------|:-----------|:----------|

            |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

            |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


            ### Authentication header


            | Header | Argument | Description |

            |:-------|:---------|:------------|

            | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API
            Accounts and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


            For example requests and more information about authenticating BigCommerce APIs, see [Authentication and
            Example Requests](/developer/docs/overview/api-fundamentals/api-accounts).


            For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
            Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: The request has been successfully processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PickupOptionsResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PickupRequestPayload'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    PickupMethodsGetParametersSort:
      type: string
      enum:
        - date_modified:asc
        - date_modified:desc
        - name:asc
        - name:desc
      title: PickupMethodsGetParametersSort
    PickupMethodResponse:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the pickup method.
        location_id:
          type: integer
          description: The ID of the location.
        display_name:
          type: string
          description: Title of the pickup method.
        collection_instructions:
          type: string
          description: Instructions for picking up items.
        collection_time_description:
          type: string
          description: The description of collection time.
        location_identity:
          type: integer
        date_created:
          type: string
          format: date-time
          description: |-
            Filter pickup methods by time created.

            Time is presented in ISO-8601 format.
        date_modified:
          type: string
          format: date-time
          description: |-
            Filter pickup methods by time modified.

            Time is presented in ISO-8601 format.
      title: PickupMethodResponse
    MetaCollectionPaginationLinks:
      type: object
      properties:
        previous:
          type: string
          description: A link to the previous page is returned in the response.
        current:
          type: string
          description: A link to the current page is returned in the response.
        next:
          type: string
          description: A link to the next page is returned in the response.
      description: Pagination links for the previous and next parts of the whole collection.
      title: MetaCollectionPaginationLinks
    MetaCollectionPagination:
      type: object
      properties:
        total:
          type: integer
          description: Total number of items in the result set.
        count:
          type: integer
          description: The total number of items in the collection on the current page.
        per_page:
          type: integer
          description: The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: The page you are currently on within the collection.
        total_pages:
          type: integer
          description: The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/MetaCollectionPaginationLinks'
          description: Pagination links for the previous and next parts of the whole collection.
      title: MetaCollectionPagination
    MetaCollection:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/MetaCollectionPagination'
      title: MetaCollection
    Pickup Methods_get-pickup-methods_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PickupMethodResponse'
        meta:
          $ref: '#/components/schemas/MetaCollection'
      title: Pickup Methods_get-pickup-methods_Response_200
    BasePickupMethod:
      type: object
      properties:
        location_id:
          type: integer
          description: The ID of the location.
        display_name:
          type: string
          description: Title of the pickup method.
        collection_instructions:
          type: string
          description: Instructions for picking up items.
        collection_time_description:
          type: string
          description: The description of collection time.
        location_identity:
          type: integer
      title: BasePickupMethod
    PickupMethodsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: PickupMethodsPostResponsesContentApplicationJsonSchemaMeta
    Pickup Methods_post-pickup-methods_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PickupMethodResponse'
        meta:
          $ref: '#/components/schemas/PickupMethodsPostResponsesContentApplicationJsonSchemaMeta'
      title: Pickup Methods_post-pickup-methods_Response_200
    PickupMethodsPutRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the pickup method.
        location_id:
          type: integer
          description: The ID of the location.
        display_name:
          type: string
          description: Title of the pickup method.
        collection_instructions:
          type: string
          description: Instructions for picking up items.
        collection_time_description:
          type: string
          description: The description of collection time.
        location_identity:
          type: integer
      title: PickupMethodsPutRequestBodyContentApplicationJsonSchemaItems
    PickupMethodsPutResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: PickupMethodsPutResponsesContentApplicationJsonSchemaMeta
    Pickup Methods_put-pickup-methods_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PickupMethodResponse'
        meta:
          $ref: '#/components/schemas/PickupMethodsPutResponsesContentApplicationJsonSchemaMeta'
      title: Pickup Methods_put-pickup-methods_Response_200
    PickupItemStatus:
      type: string
      enum:
        - AWAITING_COLLECTION
        - COLLECTED
      description: The status of the pickup.
      title: PickupItemStatus
    PickupItem:
      type: object
      properties:
        id:
          type: integer
          description: The ID of pickup.
        order_product_id:
          type: integer
          description: The ID of the product.
        quantity:
          type: integer
          description: The quantity of an item.
        status:
          $ref: '#/components/schemas/PickupItemStatus'
          description: The status of the pickup.
        collected_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Date and time when the pickup was collected.
      title: PickupItem
    Pickup:
      type: object
      properties:
        id:
          type: integer
          description: The ID of pickup.
        pickup_method_id:
          type: integer
          description: ID of pickup method.
        order_id:
          type: integer
          description: ID of order.
        ready_at:
          type: string
          format: date-time
          description: 'Datetime when pickup was ready for collection. '
        created_at:
          type: string
          format: date-time
          description: Datetime when pickup was created.
        updated_at:
          type: string
          format: date-time
          description: Datetime when pickup was updated.
        pickup_items:
          type: array
          items:
            $ref: '#/components/schemas/PickupItem'
      title: Pickup
    Pickup_get-pickup_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Pickup'
      title: Pickup_get-pickup_Response_200
    PostRequestPickupItem:
      type: object
      properties:
        order_product_id:
          type: integer
          description: The ID of the product.
        quantity:
          type: integer
          description: The quantity of an item.
      required:
        - order_product_id
        - quantity
      title: PostRequestPickupItem
    PostRequestPickup:
      type: object
      properties:
        pickup_method_id:
          type: integer
          description: ID of pickup method.
        order_id:
          type: integer
          description: ID of order.
        ready_at:
          type: string
          description: |
            Can be provided as two inputs.
            Unix: Represents the time in seconds that has elapsed since Unix epoch (00:00:00 UTC on 1 January 1970)
            ISO-8601: Represents the time in ISO format.
        collected_at:
          type: string
          description: |
            Can be provided as two inputs.
            Unix: Represents the time in seconds that has elapsed since Unix epoch (00:00:00 UTC on 1 January 1970).
            ISO-8601: Represents the time in ISO format.
            If this value is not supplied, the pickup item collected_at property will be null.
        pickup_items:
          type: array
          items:
            $ref: '#/components/schemas/PostRequestPickupItem'
      required:
        - pickup_method_id
        - order_id
        - ready_at
        - pickup_items
      title: PostRequestPickup
    OrdersPickupsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: OrdersPickupsPostResponsesContentApplicationJsonSchemaMeta
    Pickup_post-pickup_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Pickup'
        meta:
          $ref: '#/components/schemas/OrdersPickupsPostResponsesContentApplicationJsonSchemaMeta'
      title: Pickup_post-pickup_Response_200
    ErrorResponseErrors:
      type: object
      properties: {}
      description: Detailed summary describing the particular error.
      title: ErrorResponseErrors
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code generated by the origin server for this occurrence of the problem.
        title:
          type: string
          description: Human readable error message.
        type:
          type: string
          description: |
            URL identifying the error type. Dereferencing the URL leads to documentation about the error type.
        errors:
          $ref: '#/components/schemas/ErrorResponseErrors'
          description: Detailed summary describing the particular error.
      title: ErrorResponse
    PutRequestPickup:
      type: object
      properties:
        id:
          type: integer
        pickup_id:
          type: integer
          description: The ID of pickup.
        ready_at:
          type: string
          description: |
            Can be provided as two inputs.
            Unix: Represents the time in seconds that has elapsed since Unix epoch (00:00:00 UTC on 1 January 1970)
            ISO-8601: Represents the time in ISO format.
        collected_at:
          type: string
          description: |
            Can be provided as two inputs.
            Unix: Represents the time in seconds that has elapsed since Unix epoch (00:00:00 UTC on 1 January 1970).
            ISO-8601: Represents the time in ISO format.
            If this value is not supplied, the pickup item collected_at property will be null.
      required:
        - id
        - pickup_id
      title: PutRequestPickup
    OrdersPickupsPutResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: OrdersPickupsPutResponsesContentApplicationJsonSchemaMeta
    Pickup_put-pickup_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Pickup'
        meta:
          $ref: '#/components/schemas/OrdersPickupsPutResponsesContentApplicationJsonSchemaMeta'
      title: Pickup_put-pickup_Response_200
    Coordinates:
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
      required:
        - latitude
        - longitude
      description: Coordinates where you are searching for pickup options.
      title: Coordinates
    SearchAreaRadiusUnit:
      type: string
      enum:
        - KM
        - MI
      title: SearchAreaRadiusUnit
    SearchAreaRadius:
      type: object
      properties:
        value:
          type: integer
        unit:
          $ref: '#/components/schemas/SearchAreaRadiusUnit'
      required:
        - value
        - unit
      description: Radius around the coordinates where you are searching for pickup options.
      title: SearchAreaRadius
    SearchArea:
      type: object
      properties:
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        radius:
          $ref: '#/components/schemas/SearchAreaRadius'
          description: Radius around the coordinates where you are searching for pickup options.
      required:
        - radius
      description: Area where you are searching for pickup options.
      title: SearchArea
    Item:
      type: object
      properties:
        variant_id:
          type: integer
        quantity:
          type: integer
      required:
        - variant_id
        - quantity
      title: Item
    PickupRequestPayload:
      type: object
      properties:
        search_area:
          $ref: '#/components/schemas/SearchArea'
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
          description: Items you include in your search for pickup options.
      required:
        - search_area
        - items
      title: PickupRequestPayload
    PickupMethod:
      type: object
      properties:
        id:
          type: integer
        location_id:
          type: integer
        display_name:
          type: string
        collection_instructions:
          type: string
        collection_time_description:
          type: string
      description: Pickup method that can be used with the available items.
      title: PickupMethod
    AvailableItem:
      type: object
      properties:
        variant_id:
          type: integer
        quantity:
          type: integer
      title: AvailableItem
    PickupOption:
      type: object
      properties:
        pickup_method:
          $ref: '#/components/schemas/PickupMethod'
        available_items:
          type: array
          items:
            $ref: '#/components/schemas/AvailableItem'
          description: Items that are available using the pickup method.
      title: PickupOption
    PickupOptionsResponseResultsItems:
      type: object
      properties:
        pickup_options:
          type: array
          items:
            $ref: '#/components/schemas/PickupOption'
          description: Pickup options for the available items.
      title: PickupOptionsResponseResultsItems
    PickupOptionsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PickupOptionsResponseResultsItems'
      title: PickupOptionsResponse
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--------|:-----------|:----------|

        |  Order Fulfillment | read-only | `store_order_fulfillment_read_only` | 

        |  Order Fulfillment | modify | `store_order_fulfillment_manage` |


        ### Authentication header


        | Header | Argument | Description |

        |:-------|:---------|:------------|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API Accounts
        and OAuth Scopes](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example
        Requests](/developer/docs/overview/api-fundamentals/api-accounts).


        For more about BigCommerce OAuth scopes, see [API Accounts and OAuth
        Scopes](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status
        Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
