/app/shop/{storeid}:
  get:
    tags:
      - shop
    description: Return shop items for store
    operationId: loadShopInfo
    parameters:
      - $ref#storeid: "../parameters/storeid.yaml"
    security:
      - bearerAuth: []
    responses:
      $ref#4xx: "../responses/4xx.yaml"
      200:
        description: shop information
        content:
          application/json:
            schema:
                $ref: "#/components/schemas/ShopInfo"

/app/shop/{storeid}/order:
  post:
    tags:
      - shop
    description: Submit a shop order
    operationId: submitShopOrder
    parameters:
      - $ref#storeid: "../parameters/storeid.yaml"
      - $ref#captcha: "../parameters/captcha.yaml"
    security:
      - bearerAuth: []
    requestBody:
      required: true
      description: The shop order to be created
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ShopOrder"
    responses:
      $ref#4xx: "../responses/4xx.yaml"
      200:
        description: the Result of submitting Order
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ResultResponse"

/app/shop/{storeid}/history:
  get:
    tags:
      - shop
    description: Load shop history
    operationId: loadShopHistory
    parameters:
      - $ref#storeid: "../parameters/storeid.yaml"
      - name: from_date
        in: query
        required: true
        schema:
          type: string
      - name: to_date
        in: query
        required: true
        schema:
          type: string
    security:
      - bearerAuth: []
    responses:
      $ref#4xx: "../responses/4xx.yaml"
      200:
        description: List of shop order of this store
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/ShopOrder"