openapi: 3.0.1
info:
  title: Documentation ShoppingService
  description: Entities and methods to handle baskets and payments.
  version: '1.1'
servers:
  - url: https://demo.storm.io/api/1.1
paths:
  /ShoppingService.svc/rest/ClearBasket:
    post:
      tags:
        - Basket
      summary: Clear basket
      description: Removes all items from the basket.
      operationId: ClearBasket
      parameters:
        - name: id
          in: query
          description: The internal id of the basket to clear.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Specifies in which currency internal id to display prices. If none
            is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/CloseBasketForPostPurchaseUpsell:
    post:
      tags:
        - Basket
      summary: Close basket for post purchases
      description: Closes the basket for post purchase.
      operationId: CloseBasketForPostPurchaseUpsell
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to close.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content: {}
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/CreateBasket:
    post:
      tags:
        - Basket
      summary: Create basket
      description: Creates a new Basket.
      operationId: CreateBasket
      parameters:
        - name: ipAddress
          in: query
          description: The ip-address of the end user.
          required: true
          schema:
            type: string
        - name: createdBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Specifies in which internal currency id to display prices. If none
            is supplied, value is resolved from Application. Note that if price
            is specified on items, then it must be in the same currency.
          schema:
            type: string
      requestBody:
        description: >-
          The Basket to create. Pass in null or an empty Basket to create a new
          empty Basket. See Basket for what properties can be used when creating
          baskets.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
          application/xml:
            schema:
              $ref: '#/components/schemas/Basket'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: basket
  /ShoppingService.svc/rest/DeleteBasket:
    post:
      tags:
        - Basket
      summary: Delete a basket
      description: >-
        Sets the status of the basket to Deleted. Deleted baskets will not be
        available in the API. Only normal baskets can be deleted.
      operationId: DeleteBasket
      parameters:
        - name: basketId
          in: query
          description: >-
            The internal id of the basket to delete. Note that this id should be
            removed from future references.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content: {}
        '400':
          description: |-
            Bad Request

            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/DeleteBasketItem:
    post:
      tags:
        - Basket
      summary: Remove item from basket
      description: Remove a specific item/line from a basket
      operationId: DeleteBasketItem
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to delete the item from.
          required: true
          schema:
            type: integer
            format: int32
        - name: lineNo
          in: query
          description: >-
            The line number of the item to delete. Any items with this lineNo as
            ParentLineNo wil also be deleted.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/DeleteSavedBasket:
    post:
      tags:
        - Basket
      summary: Delete a saved basket
      operationId: DeleteSavedBasket
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          required: true
          schema:
            type: integer
            format: int32
        - name: basketId
          in: query
          description: The internal id of the saved basket to delete.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetBasket:
    get:
      tags:
        - Basket
      summary: Get a basket
      description: Gets a Basket by id. Returns null if not found.
      operationId: GetBasket
      parameters:
        - name: id
          in: query
          description: The basket id of the Basket to fetch.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/InsertBasketItem:
    post:
      tags:
        - Basket
      summary: Insert an item in a basket
      operationId: InsertBasketItem
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          required: true
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application. Note that if
            price is specified on item to insert, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: >-
          The item to insert must have its PartNo, Quantity and PriceListId set.
          ParentLineNo, Name, Comment, ReferId and ReferUrl can be used if other
          values than the default are wanted. All other properties will be
          populated from the system.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketItem'
          application/xml:
            schema:
              $ref: '#/components/schemas/BasketItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: item
  /ShoppingService.svc/rest/InsertBasketItems:
    post:
      tags:
        - Basket
      summary: Insert several items in a basket
      operationId: InsertBasketItems
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          required: true
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application. Note that if
            price is specified on item to insert, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: >-
          The items to insert must have its PartNo, Quantity and PriceListId
          set. ParentLineNo, Name, Comment, ReferId and ReferUrl can be used if
          other values than the default are wanted. All other properties will be
          populated from the system.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: items
  /ShoppingService.svc/rest/InsertBasketItemWithChildren:
    post:
      tags:
        - Basket
      summary: Insert a strucutre item into basket
      description: >-
        Used to insert a structure article into bakset with calculation of it's
        children
      operationId: InsertBasketItemWithChildren
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          required: true
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application. Note that if
            price is specified on item to insert, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: >-
          A list of items to insert. The first item is the parent and the
          following are inserted as children. The items to insert must have
          their PartNo, Quantity and PriceListId set. ParentLineNo, Name,
          Comment, ReferId and ReferUrl can be used if other values than the
          default are wanted. All other properties will be populated from the
          system.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: items
  /ShoppingService.svc/rest/InsertItemsPostPurchase:
    post:
      tags:
        - Basket
      summary: Insert items into a basket post purchase
      description: >-
        Adds the provided items to the already checked out basket and updates
        the authorization for the payment. Calling this mehtod will close the
        basket.
      operationId: InsertItemsPostPurchase
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
      requestBody:
        description: The data needed to insert items post purchase
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsertItemsPostPurchaseData'
          application/xml:
            schema:
              $ref: '#/components/schemas/InsertItemsPostPurchaseData'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: data
  /ShoppingService.svc/rest/IsPostPurchasePossbile:
    get:
      tags:
        - Basket
      summary: Check if post purchase is possible
      description: >-
        Should be called before deciding whether to show post purchase
        functionality on the redirect page. This call is needed becuase it is
        not until the purchase is done that we can anwser this. Note that even
        if we anwser yes here the call to InsertItemsPostPurchase might fail
        regardless, since the PSP can reject the update even if it should be
        possible (due to risk assesments etc).
      operationId: IsPostPurchasePossbile
      parameters:
        - name: basketId
          in: query
          description: >-
            The internal id of the basket to check post purchase possibility
            for.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
            application/xml:
              schema:
                type: boolean
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListBasketsByStatus:
    get:
      tags:
        - Basket
      summary: List baskets by status
      description: >-
        Returns a paged basket list for specified customer, company or sales
        contact.
      operationId: ListBasketsByStatus
      parameters:
        - name: companyId
          in: query
          description: >-
            The internal company id for which baskets are fetched. Either this a
            customerId or salesContactId must be specified.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            The internal customer id for which baskets are fetched. Either this
            a companyId or salesContactId must be specified.
          required: true
          schema:
            type: string
        - name: salesContactId
          in: query
          description: >-
            The internal salesContact id for which baskets are fetched. Either
            this a companyId or customerId must be specified.
          required: true
          schema:
            type: string
        - name: statusId
          in: query
          description: The internal id for the status to fetch.
          schema:
            type: integer
            format: int32
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of items to display per page. Mandatory if using pageNo.
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketPagedList'
            application/xml:
              schema:
                $ref: '#/components/schemas/BasketPagedList'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListBasketStatuses:
    get:
      tags:
        - Basket
      summary: List basket statuses
      description: Lists the available basket statuses.
      operationId: ListBasketStatuses
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListBasketTypes:
    get:
      tags:
        - Basket
      summary: List basket types
      description: Lists the available basket types.
      operationId: ListBasketTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListSavedBaskets:
    get:
      tags:
        - Basket
      summary: List saved baskets for a customer
      description: List saved baskets for a specific customer
      operationId: ListSavedBaskets
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/SaveBasket:
    post:
      tags:
        - Basket
      summary: Save a basket
      description: Save a initiated basket
      operationId: SaveBasket
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          required: true
          schema:
            type: integer
            format: int32
        - name: basketId
          in: query
          description: The internal id of the basket to save.
          required: true
          schema:
            type: integer
            format: int32
        - name: name
          in: query
          description: The name of the saved basket.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedBasket'
            application/xml:
              schema:
                $ref: '#/components/schemas/SavedBasket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/SetAttestBasket:
    post:
      tags:
        - Basket
      summary: Attest a basket
      operationId: SetAttestBasket
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to attest.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdateBasket:
    post:
      tags:
        - Basket
      summary: Update a basket [Obsolete("Deprecated, use UpdateBasket2")]
      operationId: UpdateBasket
      parameters:
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: The basket to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
          application/xml:
            schema:
              $ref: '#/components/schemas/Basket'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: basket
  /ShoppingService.svc/rest/UpdateBasket2:
    post:
      tags:
        - Basket
      summary: Update a basket (v2)
      description: >-
        Updates status, contact, order reference, comment, discount code,
        currencyCode and sales area. Does not update any customer data. Use
        UpdateBuyer/UpdatePayer/UpdateShipTo to change customer data for a
        Basket.
      operationId: UpdateBasket2
      parameters:
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: The basket to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
          application/xml:
            schema:
              $ref: '#/components/schemas/Basket'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: basket
  /ShoppingService.svc/rest/UpdateBasketItem:
    post:
      tags:
        - Basket
      summary: Update a basket item
      description: >-
        Updates a BasketItem on the specified basket. Don't propagate quantity
        updates to child items. Use UpdateBasketItemQuantityWithChildren for
        updating basket item with child items if you want all child items to
        follow parent item quantity update.
      operationId: UpdateBasketItem
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application. Note that if
            price is specified on item to update, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: >-
          The BasketItem to update. If quantity is zero it and it's child items
          will be deleted. Otherwise only Quantity, Comment, Name and Info
          fields will be updated. To update the Price set Price and
          IsPriceManual.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketItem'
          application/xml:
            schema:
              $ref: '#/components/schemas/BasketItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketItemNotEditable. Gets raised when the basket item is not
            editable.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: item
  /ShoppingService.svc/rest/UpdateBasketItemQuantityWithChildren:
    post:
      tags:
        - Basket
      summary: Update a structure basket item quantity
      description: >-
        Updates quantity of basket item and multiplies child items quantity so
        they follow the quantity change of the parent item.
      operationId: UpdateBasketItemQuantityWithChildren
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: lineNo
          in: query
          description: The line on which to update the quantity.
          required: true
          schema:
            type: integer
            format: int32
        - name: quantity
          in: query
          description: New quantity of the line.
          required: true
          schema:
            type: number
            format: decimal
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketItemNotEditable. Gets raised when the basket item is not
            editable.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdateBasketItems:
    post:
      tags:
        - Basket
      summary: Update several basket items
      description: 'Updates all supplied BasketItems on the specified basket. '
      operationId: UpdateBasketItems
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application. Note that if
            price is specified on item to update, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: >-
          A list of BasketItems to update. If quantity is zero it and it's child
          items will be deleted. Otherwise only Quantity, Comment, Name and Info
          fields will be updated. To update the Price set Price and
          IsPriceManual.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/BasketItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: >-
            Bad Request


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketItemNotEditable. Gets raised when the basket item is not
            editable.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: items
  /ShoppingService.svc/rest/CreatePayment:
    post:
      tags:
        - Checkout
      summary: Create a payment
      description: Used when adding payments to a PayLater type of transaction.
      operationId: CreatePayment
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          required: true
          schema:
            type: string
        - name: amount
          in: query
          description: The amount being paid.
          required: true
          schema:
            type: number
            format: decimal
        - name: paymentMethod
          in: query
          description: The payment method used to pay.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          General: 'test'=true to enable tests. When 'test' is used no payments
          will be processed for real. Payments may interpret supplied values
          such as cardNumber or ssn to simulate failures. Not implemented.
          Klarna: 'sessionId'=id. Used to provide a sessionId to Klarna
          payments. Not implemented. Payex and Dibs. Supported values are
          'returnUrl' and 'cancelUrl'. Values should point to where the payment
          service should go in case of success/failure.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BuyerMissing. Gets raised when the buyer is missing.


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist. 


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used. 


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvoiceAddressMissing. Gets raised when the invoice address
            does not exist.


            Key: NoDeliveryMethodSelected. Gets raised when there are no
            delivery method selected.


            Key: NoPaymentMethodSelected. Gets raised when there are no payment
            method selected.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketContainsSomeUnbuyableItems. Gets raised when the basket
            has some unbuyable items.


            Key: BasketContainsNoBuyableItems. Gets raised when the basket does
            not have any buyable items.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/GetCheckout:
    get:
      tags:
        - Checkout
      summary: Get checkout object for a basket
      description: Get a checkout object for a specific basket.
      operationId: GetCheckout
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket for which to create a checkout object.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetCheckout2:
    get:
      tags:
        - Checkout
      summary: Get checkout object for a basket (v2)
      description: Get a checkout object for a specific basket.
      operationId: GetCheckout2
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket for which to create a checkout object.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: Maximum number of dropPoints to return for each delivery method.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetPaymentForm:
    post:
      tags:
        - Checkout
      summary: Get a checkout for form based payments
      description: >-
        GetPaymentForm starts a forms based checkout by populating a code
        snippet in some of the RedirectParameters. If the checkout supports
        modifications of the Storm basket in any way, a new call to
        GetPaymentForm must be made in order to update the code snippet with
        correct values. See <a target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#form-based-payments'>Checkout
        Form Payment</a> for more information about the checkout process.
      operationId: GetPaymentForm
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: >-
            The ipaddress of the current user. This should not be the ip of the
            application.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The userAgent of the current user's browser or application.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: 'General: ''Mobile''=''True'' to enable javascript for mobile phones.'
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketContainsSomeUnbuyableItems. Gets raised when the basket
            has some unbuyable items.


            Key: BasketContainsNoBuyableItems. Gets raised when the basket does
            not have any buyable items.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentGiftCardCheck:
    post:
      tags:
        - Checkout
      summary: Check balance of gift card
      description: >-
        PaymentGiftCardCheck checks current balance of a gift card. The balance
        is returned in Response.RedirectParameters with name = 'Balance'. The
        Currency is returned with name = 'CurrencyCode'.
      operationId: PaymentGiftCardCheck
      parameters:
        - name: cardNo
          in: query
          required: true
          schema:
            type: string
        - name: cvc
          in: query
          schema:
            type: string
        - name: paymentMethodId
          in: query
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: |-
            Bad Request

            Key: CardNoMissing. Gets raised if cardNo is not specified.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/Purchase:
    post:
      tags:
        - Checkout
      summary: Purchase a basket
      description: Purchase a basket
      operationId: Purchase
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BuyerMissing. Gets raised when the buyer is missing.


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist.


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvoiceAddressMissing. Gets raised when the invoice address
            does not exist.


            Key: NoDeliveryMethodSelected. Gets raised when there are no
            delivery method selected.


            Key: NoPaymentMethodSelected. Gets raised when there are no payment
            method selected.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/PurchaseEx:
    post:
      tags:
        - Checkout
      summary: Purchase a basket (extended)
      description: >-
        PurchaseEx works as Purchase with the additional parameter
        paymentParameters. This method should be used when overriding the
        configured values for selected payment methods. See <a target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#purchase-and-payments'>Payments</a>
        for more information about the checkout process.
      operationId: PurchaseEx
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          General: 'test'=true to enable tests. When 'test' is used no payments
          will be processed for real. Payments may interpret supplied values
          such as cardNumber or ssn to simulate failures. Not implemented.
          Klarna: 'sessionId'=id. Used to provide a sessionId to Klarna
          payments. Not implemented. Payex and Dibs. Supported values are
          'returnUrl' and 'cancelUrl'. Values should point to where the payment
          service should go in case of success/failure.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BuyerMissing. Gets raised when the buyer is missing.


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist.


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvoiceAddressMissing. Gets raised when the invoice address
            does not exist.


            Key: NoDeliveryMethodSelected. Gets raised when there are no
            delivery method selected.


            Key: NoPaymentMethodSelected. Gets raised when there are no payment
            method selected.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketContainsSomeUnbuyableItems. Gets raised when the basket
            has some unbuyable items.


            Key: BasketContainsNoBuyableItems. Gets raised when the basket does
            not have any buyable items.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PurchaseEx2:
    post:
      tags:
        - Checkout
      summary: Purchase a basket (extended, v2)
      description: >-
        PurchaseEx2 works as Purchase with the additional parameter
        paymentParameters. This method should be used when overriding the
        configured values for selected payment methods. See <a target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#purchase-and-payments'>Payments</a>
        for more information about the checkout process.
      operationId: PurchaseEx2
      parameters:
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: Extended data object to the PSP for this purchase.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseEx2Data'
          application/xml:
            schema:
              $ref: '#/components/schemas/PurchaseEx2Data'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: BuyerMissing. Gets raised when the buyer is missing.


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist.


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvoiceAddressMissing. Gets raised when the invoice address
            does not exist.


            Key: NoDeliveryMethodSelected. Gets raised when there are no
            delivery method selected.


            Key: NoPaymentMethodSelected. Gets raised when there are no payment
            method selected.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: data
  /ShoppingService.svc/rest/UpdateBuyer:
    post:
      tags:
        - Checkout
      summary: Update buyer information
      description: >-
        Updates Buyer information on a basket. If no Payer is associated with
        the Basket or the Payer is the same as the Buyer then Payer will also be
        updated. The same applies to ShipTo.
      operationId: UpdateBuyer
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as Buyer. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. See UpdatePayer and UpdateShip on details
          regarding updating these address types.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: buyer
  /ShoppingService.svc/rest/UpdateBuyer2:
    post:
      tags:
        - Checkout
      summary: Update buyer information (v2)
      description: >-
        Updates Buyer information on a basket. If no Payer is associated with
        the Basket or the Payer is the same as the Buyer then Payer will also be
        updated. The same applies to ShipTo.
      operationId: UpdateBuyer2
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: Maximum number of drop points to return for each delivery method.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as Buyer. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. See UpdatePayer and UpdateShip on details
          regarding updating these address types.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: buyer
  /ShoppingService.svc/rest/UpdateDeliveryMethod:
    post:
      tags:
        - Checkout
      summary: Update delivery method
      description: >-
        Updates the selected DeliveryMethod on a basket. The DeliveryMethod id
        should be taken from any valid DeliveryMethod in
        Checkout.DeliveryMethods.
      operationId: UpdateDeliveryMethod
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: deliveryMethodId
          in: query
          description: The internal id of the DeliveryMethod to select.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdateDeliveryMethod3:
    post:
      tags:
        - Checkout
      summary: Update delivery method (v3)
      description: >-
        Updates the selected DeliveryMethod on a basket. The DeliveryMethod id
        should be taken from any valid DeliveryMethod in
        Checkout.DeliveryMethods.
      operationId: UpdateDeliveryMethod3
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: deliveryMethodId
          in: query
          description: The internal id of the DeliveryMethod to select.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointCode
          in: query
          description: >-
            The ID of the selected DropPoint (can be null if the deliverymethod
            does not support it).
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: >-
            Maximum number of drop points to return for each DeliveryMethod.
            Only used for integrated DeliveryMethod providers such as
            ShipAdvisor.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdateDeliveryMethod4:
    post:
      tags:
        - Checkout
      summary: Update delivery method (v4)
      description: >-
        Updates the selected DeliveryMethod on a basket. The DeliveryMethod id
        should be taken from any valid DeliveryMethod in
        Checkout.DeliveryMethods.
      operationId: UpdateDeliveryMethod4
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: >-
            Maximum number of drop points to return for each DeliveryMethod.
            Only used for integrated DeliveryMethod providers such as
            ShipAdvisor.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The BasketDeliveryMethodUpdate to use when updating the DeliveryMethod
          for the basket. 
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketDeliveryMethodUpdate'
          application/xml:
            schema:
              $ref: '#/components/schemas/BasketDeliveryMethodUpdate'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: deliveryMethod
  /ShoppingService.svc/rest/UpdatePayer:
    post:
      tags:
        - Checkout
      summary: Update payer information
      description: >-
        Updates Payer information on a basket. This should be used when Payer
        differs from Buyer.
      operationId: UpdatePayer
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as Payer. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. If no invoice address is specified no address
          will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: payer
  /ShoppingService.svc/rest/UpdatePayer2:
    post:
      tags:
        - Checkout
      summary: Update payer information (v2)
      description: >-
        Updates Payer information on a basket. This should be used when Payer
        differs from Buyer.
      operationId: UpdatePayer2
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: Maximum number of dropPoints to return for each delivery method.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as Payer. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. If no invoice address is specified no address
          will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: payer
  /ShoppingService.svc/rest/UpdatePaymentMethod:
    post:
      tags:
        - Checkout
      summary: Update payment method
      description: >-
        Updates the selected payment on a basket. The payment id should be taken
        from any valid PaymentMethod in Checkout.PaymentMethods.
      operationId: UpdatePaymentMethod
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: paymentMethodId
          in: query
          description: The internal id of the PaymentMethod to select.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdatePaymentMethod2:
    post:
      tags:
        - Checkout
      summary: Update payment method (v2)
      description: >-
        Updates the selected payment on a basket. The payment id should be taken
        from any valid PaymentMethod in Checkout.PaymentMethods.
      operationId: UpdatePaymentMethod2
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: paymentMethodId
          in: query
          description: The internal id of the PaymentMethod to select.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: >-
            Maximum number of drop points to return for each DeliveryMethod.
            Only used for integrated DeliveryMethod providers such as
            ShipAdvisor.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/UpdateShipTo:
    post:
      tags:
        - Checkout
      summary: Update delivery information
      description: >-
        Updates ShipTo information on a basket. This should be used when ShipTo
        differs from Buyer.
      operationId: UpdateShipTo
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as ShipTo. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. If no delivery address is specified, the invoice
          address will be used as delivery address. If more than one delivery
          address is specified, the first will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: shipTo
  /ShoppingService.svc/rest/UpdateShipTo2:
    post:
      tags:
        - Checkout
      summary: Update delivery information (v2)
      description: >-
        Updates ShipTo information on a basket. This should be used when ShipTo
        differs from Buyer.
      operationId: UpdateShipTo2
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: Maximum number of dropPoints to return for each delivery method.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The actual Customer to use as ShipTo. The Customer can optionally have
          one Company. If more than one Company is specified, the first will be
          used. Addresses will be resolve by first looking at the Company and
          then on the Customer. If no delivery address is specified, the invoice
          address will be used as delivery address. If more than one delivery
          address is specified, the first will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomersCustomer'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
            application/xml:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: >-
            Bad Request


            Key: BasketNotEditable. Gets raised when the basket is not editable
            or already paid for.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: shipTo
  /ShoppingService.svc/rest/ListDeliveryMethodsByBasket:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by basket
      operationId: ListDeliveryMethodsByBasket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          required: true
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            Internal id that specifies in which country. If none is supplied,
            value is resolved from Application default.
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            Current internal customer id, checks for specific customer bound
            delivery methods.
          schema:
            type: string
        - name: companyId
          in: query
          description: >-
            Current internal company id, checks for specific company bound
            delivery methods.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListDeliveryMethodsByBasket2:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by basket (v2)
      operationId: ListDeliveryMethodsByBasket2
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          required: true
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            Internal id that specifies in which country. If none is supplied,
            value is resolved from Application default.
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            Current internal customer id, checks for specific customer bound
            delivery methods.
          schema:
            type: string
        - name: companyId
          in: query
          description: >-
            Current internal company id, checks for specific company bound
            delivery methods.
          schema:
            type: string
        - name: dropPointSize
          in: query
          description: Maximum number of dropPoints to return for each delivery method.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListDeliveryMethodsByProduct:
    get:
      tags:
        - DeliveryMethods
      summary: >-
        List delivery methods by product [Obsolete("Use
        ListDeliveryMethodsByProduct2")]
      operationId: ListDeliveryMethodsByProduct
      parameters:
        - name: productId
          in: query
          description: >-
            The internal product id for the product to list available delivery
            methods for.
          required: true
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            Internal id that specifies in which country. If none is supplied,
            value is resolved from Application default.
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListDeliveryMethodsByProduct2:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by product (v2)
      operationId: ListDeliveryMethodsByProduct2
      parameters:
        - name: productId
          in: query
          description: >-
            The internal product id for the product to list available delivery
            methods for.
          required: true
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            Internal id that specifies in which country. If none is supplied,
            value is resolved from Application default.
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            Current internal customer id, checks for specific customer bound
            delivery methods.
          schema:
            type: string
        - name: companyId
          in: query
          description: >-
            Current internal company id, checks for specific company bound
            delivery methods.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListBasketInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List basket info types
      description: Lists the info type ids used in Basket.Info.
      operationId: ListBasketInfoTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListBasketItemInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List basket item info types
      description: Lists the info type ids used in Basket.Items.Info.
      operationId: ListBasketItemInfoTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListExternalProductOnHandByBasket:
    post:
      tags:
        - OnHand
      summary: List external availability on products in basket
      description: >-
        Checks the actual on hand status for the products in the basket in the
        customers back end system. If no backend is configured then this is
        equal to calling ListProductOnHandByBasket.
      operationId: ListExternalProductOnHandByBasket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: Ignored.
          schema:
            type: string
      requestBody:
        description: >-
          An Warehouse if OnHand for a specific store is wanted. If standard
          warehouse (web) is wanted just pass null.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductsWarehouse'
          application/xml:
            schema:
              $ref: '#/components/schemas/ProductsWarehouse'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductsProductOnHand'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductsProductOnHand'
        '400':
          description: |-
            Bad Request

            Key: RemoteCallFailed. Gets raised when the remote call fails.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: warehouse
  /ShoppingService.svc/rest/ListProductOnHandByBasket:
    post:
      tags:
        - OnHand
      summary: List availability on products in basket
      description: >-
        Lists OnHand data based on basket items. Only deliverable items will be
        regarded. The result is a list of ProductOnHand where each product has a
        list of warehoues matching the warehouse specification passed in.
        ProductOnHand.Variants will always be null when getting this data for a
        basket. OnHand for each warehouse will always be returned whether or not
        the warehouse has the item or not. OnHand.IsActive = false indicates the
        item does not exist at the warehouse so only active OnHands should be
        used when checking availability.
      operationId: ListProductOnHandByBasket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: Ignored.
          schema:
            type: string
      requestBody:
        description: >-
          An Warehouse if OnHand for a specific store is wanted. If standard
          warehouse (web) is wanted just pass null.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductsWarehouse'
          application/xml:
            schema:
              $ref: '#/components/schemas/ProductsWarehouse'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductsProductOnHand'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductsProductOnHand'
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: warehouse
  /ShoppingService.svc/rest/GetOrderRequest:
    get:
      tags:
        - OrderRequest
      summary: Get order request
      description: >-
        GetOrderRequest can be used on any 'Thanks for you order page' to get
        the actual order request used when creating the order. This can be used
        in combination with GetCheckout to get the last Checkout object as well.
      operationId: GetOrderRequest
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/PaymentCallback:
    post:
      tags:
        - Payments
      summary: Payment callback call
      description: >-
        This method should be called when receiving a callback from the payment
        provider. The paymentParameters should be populated with received
        parameters. This method creates the order. If order should be created on
        report from payment service provider then use PaymentCallback2. See <a
        target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#two-step-payments'>Payments</a>
        for more information about the checkout process.
      operationId: PaymentCallback
      requestBody:
        description: >-
          Parameter 'PaymentService' is mandatory. Other values are provided by
          the payment provider in their call and possible parameter names be
          found for each PSP in Norce Admin. General: 'test'=true to enable
          tests.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: |-
            Bad Request

            Key: PaymentFailed. Gets raised when the payment fails.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentCallback2:
    post:
      tags:
        - Payments
      summary: Payment callback call (v2)
      description: >-
        This method should be called when receiveing a callback from the payment
        provider. The paymentParameters should be populated with received
        parameters. This method does not create the order. The report from the
        payment service provider must be handled with PaymentComplete to create
        the order. See <a target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#two-step-payments'>Payments</a>
        for more information about the checkout process.
      operationId: PaymentCallback2
      requestBody:
        description: >-
          Parameter 'PaymentService' is mandatory. Other values are provided by
          the payment provider in their call and possible parameter names be
          found for each PSP in Norce Admin. General: 'test'=true to enable
          tests.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: |-
            Bad Request

            Key: PaymentFailed. Gets raised when the payment fails.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentCancel:
    post:
      tags:
        - Payments
      summary: Cancel a payment
      description: >-
        This method should be called when receiving a callback from the payment
        provider when the payment has been cancelled in some way.
      operationId: PaymentCancel
      requestBody:
        description: The basket that the payment should be cancelled for.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
          application/xml:
            schema:
              $ref: '#/components/schemas/Basket'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
            application/xml:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: |-
            Bad Request

            Key: QuotationMissing. Gets raised when the basket is missing.

            Key: PaymentFailed. Gets raised when the payment fails.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: basket
  /ShoppingService.svc/rest/PaymentComplete:
    post:
      tags:
        - Payments
      summary: Payment complete call
      description: >-
        This method should be called when receiving a http-report from the
        payment service provider. The paymentParameters should be populated with
        received parameters. This method creates the order. PSPs calls the API
        directly and this method should never be called directly from the
        application.
      operationId: PaymentComplete
      requestBody:
        description: >-
          Supported values are 'orderref' and 'transactionnumber'. These values
          are provided by the payment provider in their call. General:
          'test'=true to enable tests.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: PaymentFailed. Gets raised when the payment fails.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentFormCallback:
    post:
      tags:
        - Payments
      summary: Payment callback for form based payments
      description: >-
        PaymentFormCallback is called from applications using forms based
        checkouts with support for callbacks. Applications gets called when the
        end-user gets routed back to a 'Thanks for you order page' and the
        applications should make this call to the API before routing. See <a
        target='_blank'
        href='https://docs.norce.io/developer-portal/app-development/working-with-the-checkout-process/#form-based-payments'>Checkout
        Form Payments</a> for more information about the checkout process.
      operationId: PaymentFormCallback
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: 'General: ''Mobile''=''True'' to enable javascript for mobile phones.'
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: |-
            Bad Request

            Key: PaymentFailed. Gets raised when the payment fails.

            Key: QuotationMissing. Gets raised when the basket is missing.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentFormComplete:
    post:
      tags:
        - Payments
      summary: Payment complete call for form based payments
      description: >-
        PaymentFormComplete is called directly from any PSP supporting forms
        based checkouts with support for completes. Applications should never
        make this call directly.
      operationId: PaymentFormComplete
      requestBody:
        description: 'General: ''Mobile''=''True'' to enable javascript for mobile phones.'
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentGiftCardReserve:
    post:
      tags:
        - Payments
      summary: Reserve amount on gift card
      description: Reserve an amount on a gift card.
      operationId: PaymentGiftCardReserve
      parameters:
        - name: cardNo
          in: query
          description: The card number to make reservation on.
          required: true
          schema:
            type: string
        - name: cvc
          in: query
          description: The cvc of the card to make reservation on.
          required: true
          schema:
            type: string
        - name: basketId
          in: query
          description: Internal id of the basket to associate with this reservation.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          General: 'extra parameters, reserveamount' for test or set the amount
          to be used with gift card.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvalidCurrencyOnCard. Gets raised when the gift card has
            another currency than the basket


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: BasketContainsSomeUnbuyableItems. Gets raised when the basket
            has some unbuyable items.


            Key: BasketContainsNoBuyableItems. Gets raised when the basket does
            not have any buyable items.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentGiftCardRollback:
    post:
      tags:
        - Payments
      summary: Cancel gift card reservation. Used internally.
      operationId: PaymentGiftCardRollback
      requestBody:
        description: >-
          General: 'cancelreason'=must contain something, preferably a text.
          'paymentcode'=paymentcode return by PaymentGiftCardReserve.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/PaymentValidate:
    post:
      tags:
        - Payments
      summary: Validate a payment
      description: >-
        This method gets called from PSPs supporting validation callbacks. Storm
        API makes a preliminary validation by validating the checkout. Checks
        are for basket status and valid promotions plus all other validations
        with regard to customer information. No result is returned if validation
        passes and an exception with both Exceptions below aggregated will be
        raised if any validation fails.
      operationId: PaymentValidate
      requestBody:
        description: >-
          These values are provided by the PSP. If the initial
          PaymentParameters, to PurchaseEx or GetPaymentForm, contained
          ValidationUrl, Storm API will post a checkout object to that url
          giving the application a possibility to perform additional
          validations, such as checking availability. If validation succeeds
          just return an empty result with HttpStatus 200. Failed validations
          should give a 400 with the message in the content body. Pass
          ValidationContentType to specify content type of the posted checkout.
          Supported values are 'application/json' or 'text/xml'. 'text/xml' is
          default if not specified. CancelUrl must also be specified in order to
          handle any validation fail messages. The post to validationUrl
          supports basic authentication. Just add 'username:password@' to the
          url.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content: {}
        '400':
          description: >-
            Bad Request


            Key: ErrorUrl. Gets raised when any validation has failed. See
            PurchaseEx for possible reasons. When any validation fails both
            these exceptions will be aggregated into one. This one will contain
            the url to a page receiving the error message.


            Key: ErrorMessage. Gets raised when any validation has failed. See
            PurchaseEx for possible reasons. When any validation fails both
            these exceptions will be aggregated into one. This one will contain
            the actual error message.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/GetPromotion:
    get:
      tags:
        - Promotions
      summary: Get a promotion
      description: Gets a promotion.
      operationId: GetPromotion
      parameters:
        - name: id
          in: query
          description: Internal id of promotion
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Promotion'
            application/xml:
              schema:
                $ref: '#/components/schemas/Promotion'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListPromotionImageTypes:
    get:
      tags:
        - Promotions
      summary: List promotion image types
      description: Lists the ids for all supported promotion image types.
      operationId: ListPromotionImageTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListPromotionRequirementTypes:
    get:
      tags:
        - Promotions
      summary: List promotion requirement types
      description: Lists the ids for all supported promotion requirement types.
      operationId: ListPromotionRequirementTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListPromotions:
    get:
      tags:
        - Promotions
      summary: List active promotions
      description: Lists active promotions.
      operationId: ListPromotions
      parameters:
        - name: excludeRequirementSeed
          in: query
          description: >-
            Specifies a comma separated list of requirements. If none is
            supplied, all promotions will be returned. Otherwise promotions will
            be filtered on those not having any of the requirements.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListPromotionsByBasket:
    get:
      tags:
        - Promotions
      summary: List promotions by basket
      description: >-
        Lists all promotions where any BasketItem is either in a requirement or
        in an effect for the promotion. Fulfilled promotions are excluded from
        the result. Promotions based on discount codes, customer or company are
        also excluded. This can be used to display promotions not yet fulfilled
        in a Checkout.
      operationId: ListPromotionsByBasket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/CreateSubscription:
    post:
      tags:
        - Subscriptions
      summary: Create subscription
      description: >-
        Creates a new Subscription. The Subscription will be inactive. To
        activate a Subscription the Checkout process must be used. See
        PurchaseSubscription.
      operationId: CreateSubscription
      parameters:
        - name: ipAddress
          in: query
          description: The ip-address of the end user.
          required: true
          schema:
            type: string
        - name: createdBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id to specify in which currency to display prices. If none
            is supplied, value is resolved from Application. Note that if price
            is specified on items to insert, then it must be in the same
            currency.
          schema:
            type: string
      requestBody:
        description: The Subscription to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscription'
          application/xml:
            schema:
              $ref: '#/components/schemas/Subscription'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
            application/xml:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BasketItemQuantityLessThanZero. Gets raised when the basket
            item quantity is less than zero.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: subscription
  /ShoppingService.svc/rest/DeleteSubscription:
    post:
      tags:
        - Subscriptions
      summary: Delete a subscription
      description: >-
        Sets the status of the subscription and Template basket to Deleted.
        Deleted subscriptions will not be available in the API. Any registered
        recurring payments with a PSP will be cleared.
      operationId: DeleteSubscription
      parameters:
        - name: subscriptionId
          in: query
          description: >-
            The internal id of the subscription to delete. Note that this id
            should be removed from future references.
          required: true
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content: {}
        '400':
          description: >-
            Bad Request


            Key: SubscriptionMissing. Gets raised when the recurring order is
            invalid.


            Key: SubscriptionNotEditable. Gets raised when the basket is not
            editable or already paid for. Or if the subscription is deleted.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetSubscription:
    get:
      tags:
        - Subscriptions
      summary: Get a subscription
      description: Gets a Subscription by subscription id.
      operationId: GetSubscription
      parameters:
        - name: id
          in: query
          description: The internal id of the subscription to fetch.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
            application/xml:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: >-
            Bad Request


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: SubscriptionMissing. Gets raised when the recurring order is
            invalid.


            Key: SubscriptionNotEditable. Gets raised when the basket is not
            editable or already paid for. Or if the subscription is deleted.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetSubscriptionByBasket:
    get:
      tags:
        - Subscriptions
      summary: Get a subscription by basket id
      description: >-
        Gets a Subscription by it's template basket. This can be used in a order
        confirmed page where only a basketId is know. Baskets with TypeId
        TemplateBasket (3) should use use this method to get the Subscription.
      operationId: GetSubscriptionByBasket
      parameters:
        - name: basketId
          in: query
          description: >-
            The internal id of the template basket for the subscription to
            fetch.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
            application/xml:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: >-
            Bad Request


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: SubscriptionMissing. Gets raised when the recurring order is
            invalid.


            Key: SubscriptionNotEditable. Gets raised when the basket is not
            editable or already paid for. Or if the subscription is deleted.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/GetSubscriptionScheduleData:
    get:
      tags:
        - Subscriptions
      summary: Get subscription schedule meta data
      description: Gets meta data for scheduling Subscriptions.
      operationId: GetSubscriptionScheduleData
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionScheduleData'
            application/xml:
              schema:
                $ref: '#/components/schemas/SubscriptionScheduleData'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListSubscriptions:
    get:
      tags:
        - Subscriptions
      summary: List subscriptions for a customer
      description: Lists all Subscriptions for a customer.
      operationId: ListSubscriptions
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            subscriptions for that customer.
          required: true
          schema:
            type: integer
            format: int32
        - name: statusSeed
          in: query
          description: >-
            Accepts a comma separated string of Status internal ids. Lookup
            references in ListStatuses.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Subscription'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Subscription'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListSubscriptionStatus:
    get:
      tags:
        - Subscriptions
      summary: List subscription statuses
      description: Gets meta data for scheduling Subscriptions.
      operationId: ListSubscriptionStatus
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/ListSubscriptionTypes:
    get:
      tags:
        - Subscriptions
      summary: List subscription types
      description: Lists all active and valid SubscriptionTypes for the application.
      operationId: ListSubscriptionTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionType'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionType'
        '500':
          description: Internal Server Error
          content: {}
  /ShoppingService.svc/rest/PurchaseSubscription:
    post:
      tags:
        - Subscriptions
      summary: Purchase a subscription
      description: >-
        PurchaseSubscription activates a subscription by initializing a payment
        process equal to the one for normal Baskets. When a Subscription is
        activated orders will be created according to the Schedules specified
        for the Subscription.
      operationId: PurchaseSubscription
      parameters:
        - name: subscriptionId
          in: query
          description: >-
            The internal id of the Subscription to activate. Only inactive
            Subscriptions can be purchased and the Subscription must have valid
            Schedules.
          required: true
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          required: true
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          required: true
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          General: 'test'=true to enable tests. When 'test' is used no payments
          will be processed for real. Payments may interpret supplied values
          such as cardNumber or ssn to simulate failures. Not implemented.
          Klarna: 'sessionId'=id. Used to provide a sessionId to Klarna
          payments. Not implemented. Payex and Dibs. Supported values are
          'returnUrl' and 'cancelUrl'. Values should point to where the payment
          service should go in case of success/failure.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: >-
            Bad Request


            Key: BasketItemNotBuyable. Gets raised when the basket item is not
            buyable or when it is inactive.


            Key: BuyerMissing. Gets raised when the buyer is missing.


            Key: CannotCreatOrderOnBasket. Gets raised if the basket is not
            buyable and not already paid for.


            Key: DeliveryAddressMissing. Gets raised when the delivery address
            does not exist.


            Key: DiscountCodeAlreadyUsed. Gets raised when the discount code is
            already used.


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: InvoiceAddressMissing. Gets raised when the invoice address
            does not exist.


            Key: NoDeliveryMethodSelected. Gets raised when there are no
            delivery method selected.


            Key: NoPaymentMethodSelected. Gets raised when there are no payment
            method selected.


            Key: PaymentFailed. Gets raised when the payment fails.


            Key: PromotionInvalid. Gets raised when the promotion is invalid.


            Key: QuotationMissing. Gets raised when the basket is missing.


            Key: SubscriptionMissing. Gets raised when the recurring order is
            invalid.


            Key: BasketContainsSomeUnbuyableItems. Gets raised when the basket
            has some unbuyable items.


            Key: BasketContainsNoBuyableItems. Gets raised when the basket does
            not have any buyable items.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: paymentParameters
  /ShoppingService.svc/rest/UpdateSubscription:
    post:
      tags:
        - Subscriptions
      summary: Update a subscription
      description: >-
        Updates a Subscription. The TemplateBasket will be ignored. Use regular
        API-methods for baskets to change the TemplateBasket.
      operationId: UpdateSubscription
      parameters:
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          required: true
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            A comma separated list of internal pricelist ids to use, if any.
            PriceLists supplied must be valid, either from the application's
            public priceList or any customer or company priceLists or any valid
            client priceLists. For clients configured to use priceListSeed
            exclusively in the API only the supplied priceLists will be used. If
            this is not configured, the supplied priceLists will be appended to
            the valid priceLists. If none is supplied, the default value for the
            application will be used in combination with any customer or company
            priceLists. This applies to both configurations.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            Internal id that specifies in which currency to display prices. If
            none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The subscription to update. Only the Name, StatusId, HoldUntilDate,
          StartDate and Schedules can be changed. StatusId can only be changed
          between Active and Paused.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subscription'
          application/xml:
            schema:
              $ref: '#/components/schemas/Subscription'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
            application/xml:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: >-
            Bad Request


            Key: InvalidCompanyOnBasket. Gets raised when the basket has an
            invalid company. The customer does not exist in this company.


            Key: SubscriptionMissing. Gets raised when the recurring order is
            invalid.


            Key: SubscriptionNotEditable. Gets raised when the basket is not
            editable or already paid for. Or if the subscription is deleted.
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: subscription
components:
  schemas:
    AppliedPromotionOnItem:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the Promotion.
          format: int32
          nullable: true
        Name:
          type: string
          description: 'The Name of the Promotion. MaxLength: 255.'
        DiscountCode:
          type: string
          description: >-
            Will contain the discountCode if the promotion has a discountCode
            requirement. MaxLength: max.
        AppliedAmount:
          type: number
          description: >-
            Applied discount amount, excluding VAT, for this Promotion on this
            BasketItem.
          format: decimal
          nullable: true
        AppliedAmountIncVat:
          type: number
          description: >-
            Applied discount amount, including VAT, for this Promotion on this
            BasketItem.
          format: decimal
          nullable: true
      format: AppliedPromotionOnItem
    Basket:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal id of the basket. Used to get a specific basket.
            Ignored in CreateBasket.
          format: int32
          nullable: true
        CustomerId:
          type: integer
          description: >-
            The customer internal id for a specific customer associated with
            this basket. This can be set in CreateBasket if the user is logged
            in. Otherwise use UpdateBuyer to set customer.
          format: int32
          nullable: true
        CompanyId:
          type: integer
          description: >-
            The company internal id for a specific company associated with this
            basket. This can be set in CreateBasket if the user is logged in
            with a company. Otherwise use UpdateBuyer to set customer and
            company.
          format: int32
          nullable: true
        SalesContactId:
          type: integer
          format: int32
          nullable: true
        StatusId:
          type: integer
          description: >-
            Internal id for the current status of the basket. See
            ListBasketStatuses.
          format: int32
        CurrencyId:
          type: integer
          description: >-
            The currency internal id of the basket. This defines the currency
            used when processing payments. Can be set when creating a Basket or
            change later with UpdateBasket. Use either CurrencyId or
            CurrencyCode. If not specified, the default for the Application will
            be used.
          format: int32
        CurrencyCode:
          type: string
          description: >-
            The CurrencyCode of the basket. This defines the currency used when
            processing payments. Can be set when creating a Basket or change
            later with UpdateBasket. Use either CurrencyId or CurrencyCode. If
            not specified, the default for the Application will be used.
            MaxLength: 3.
        Comment:
          type: string
          description: >-
            Free text comment that will be propagated to the order. MaxLength:
            250.
        OrderReference:
          type: string
          description: >-
            An OrderReference which will be tagged on the order. Can be set in
            CreateBasket or updated in UpdateBasket. MaxLength: 50.
        DiscountCode:
          type: string
          description: >-
            A comma separated list of used discount codes. To clear the value
            set it to null or String.Empty an call UpdateBasket. MaxLength: max.
        ReferId:
          type: integer
          format: int32
          nullable: true
        ReferUrl:
          type: string
          description: 'MaxLength: 255.'
        ValidTo:
          type: string
          format: date-time
          nullable: true
        IsEditable:
          type: boolean
          description: >-
            Specifies if the basket is editable. If not, any method that changes
            the basket will throw Exceptions (Bad Request). It will be false
            when the basket is no longer a basket. That is when it's paid for or
            cancelled.
        Items:
          type: array
          description: List of the items in the basket.
          items:
            $ref: '#/components/schemas/BasketItem'
        Info:
          type: array
          description: >-
            List of information types with values that may be propagated on the
            order.
          items:
            $ref: '#/components/schemas/ExtraInfo'
        Summary:
          $ref: '#/components/schemas/Summary'
        AppliedPromotions:
          type: array
          description: >-
            Contains all Promotions valid for a Basket, whether or not they are
            applied. If any promotions are applied more info about them are
            added to the corresponding Basket.Items.
          items:
            $ref: '#/components/schemas/Promotion'
        IpAddress:
          type: string
          description: >-
            The user's IpAddress when the basket was created. The value should
            be fetched from the user request to the application. MaxLength: 50.
        AttestedBy:
          type: integer
          format: int32
          nullable: true
        TypeId:
          type: integer
          description: >-
            The internal type id of the Basket. Can be 1 = Basket, 2 = Saved
            Basket, 3 = Template Basket for Subscriptions.
          format: int32
        DoHold:
          type: boolean
          description: >-
            DoHold specifies if the resulting order should be on hold until all
            items on the order can be shipped or not. Default is false. This can
            be set in the Checkout with UpdateBasket if the Customer does not
            want part deliveries.
        IsBuyable:
          type: boolean
          description: >-
            IsBuyable is a rule based property indicating if the Basket's status
            allows the basket to be purchased. It should be regarded as
            readonly.
        InvoiceReference:
          type: string
          description: >-
            An InvoiceReference which will be tagged on the order. Can be set in
            CreateBasket or updated in UpdateBasket. MaxLength: 50.
        PaymentMethodId:
          type: integer
          description: >-
            The PaymentMethodId from Storm. Can be set in CreateBasket or
            updated in UpdatePaymentMethod.
          format: int32
          nullable: true
        DeliveryMethodId:
          type: integer
          description: >-
            The DeliveryMethodId from Storm. Can be set in CreateBasket or
            updated in UpdateDeliveryMethod.
          format: int32
          nullable: true
        SalesAreaId:
          type: integer
          description: >-
            The SalesArea internal id of the basket. This defines the default
            VAT-rate used. Can be set when creating a Basket or change later
            with UpdateBasket. If not specified, the default for the Application
            will be used.
          format: int32
      format: Basket
    BasketDeliveryMethodUpdate:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryMethod.
          format: int32
        Price:
          type: number
          description: >-
            The Price of the DeliveryMethod, excluding VAT. Prices set here will
            be handled as manual prices. If not set the Price will be taken from
            Storm and be treated as a normal price.
          format: decimal
          nullable: true
        DropPoint:
          $ref: '#/components/schemas/DropPoint'
        Code:
          type: string
          description: >-
            An external Code for the DeliveryMethod. This should not be set if
            the Code defined in Storm is to be used. MaxLength: 50.
        Carrier:
          type: string
          description: 'The carrier providing the delivery method MaxLength: 50.'
      format: BasketDeliveryMethodUpdate
    BasketItem:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            Internal id of the basket item. Used to refer to this particular row
            in different methods.
          format: int32
          nullable: true
        LineNo:
          type: integer
          description: >-
            Line number of the item. Used to refer to this particular row in
            different methods.
          format: int32
        ParentLineNo:
          type: integer
          description: >-
            If this item is part of a bundle, an attached item from promotion or
            such this property will refer to the associated line number.
          format: int32
          nullable: true
        ProductId:
          type: integer
          description: Internal product id of the product for this basket item.
          format: int32
        PartNo:
          type: string
          description: >-
            The PartNo of this Item. Must be specified when adding items to a
            basket. MaxLength: 50.
        ManufacturerPartNo:
          type: string
          description: 'Manufacturer part number. Populated by Storm. MaxLength: 50.'
        Name:
          type: string
          description: 'Name of the product. Populated by Storm. MaxLength: 255.'
        SubHeader:
          type: string
          description: 'Sub header of the product. Populated by Storm. MaxLength: 255.'
        ThumbnailImage:
          type: string
          description: 'MaxLength: 255. Obsolete! - Use ImageKey with preset'
        FlagIdSeed:
          type: string
          description: 'A comma separated list of internal flag ids. MaxLength: max.'
        Type:
          type: integer
          description: >-
            The internal type id of the underlying product. See ListSkuTypes
            under Products.
          format: int32
        PriceDisplay:
          type: number
          description: >-
            This is the price, excluding VAT, after applying company discounts
            and promotions. It is what the customer is paying.
          format: decimal
        Price:
          type: number
          description: >-
            This is the snapshot value, excluding VAT, of PriceDisplay when the
            basket is bought. Should be null. Can be used to set a price from
            the application when updating or creating BasketItems. Then
            IsPriceManual must be set to true as well.
          format: decimal
          nullable: true
        PriceOriginal:
          type: number
          description: This is the original price of the SKU, excluding VAT.
          format: decimal
        Cost:
          type: number
          description: CostPurchase from Storm Admin, excluding VAT.
          format: decimal
          nullable: true
        VatRate:
          type: number
          description: >-
            A rate to multiply with price to get price inc VAT. 25% VAT equals a
            VatRate of 1.25.
          format: decimal
        Quantity:
          type: number
          description: >-
            The Quantity of this Item. Must be specified when adding items to a
            basket.
          format: decimal
        UOM:
          type: string
          description: 'MaxLength: 50.'
        UOMCount:
          type: number
          format: decimal
          nullable: true
        Comment:
          type: string
          description: 'Free text comment for this basket item. MaxLength: 255.'
        PriceListId:
          type: integer
          description: >-
            The internal pricelist id of this Item. Must be specified when
            adding items to a basket. Use the PriceListId from Product or
            ProductItem.
          format: int32
        ReferId:
          type: integer
          description: Used to tag a BasketItem with some external id.
          format: int32
          nullable: true
        ReferUrl:
          type: string
          description: 'Used to tag a BasketItem with an incoming URL. MaxLength: 255.'
        IsEditable:
          type: boolean
          description: >-
            Indicates if a basket item is editable or not. This can happen when
            the API splits rows in promotions. Can be checked to see if an item
            should be allowed for UpdateBasketItem.
        IsDiscountable:
          type: boolean
        Info:
          type: array
          description: >-
            List of information types and values associated with this particular
            basket item.
          items:
            $ref: '#/components/schemas/ExtraInfo'
        OptionalItems:
          type: array
          items:
            $ref: '#/components/schemas/BasketItem'
        OnHandValue:
          type: number
          description: Obsolete! - Moved to OnHand property
          format: decimal
        IncomingValue:
          type: number
          description: Obsolete! - Moved to OnHand property
          format: decimal
        NextDeliveryDate:
          type: string
          description: Obsolete! - Moved to OnHand property
          format: date-time
          nullable: true
        LeadtimeDayCount:
          type: integer
          description: Obsolete! - Moved to OnHand property
          format: int32
          nullable: true
        PromotionIdSeed:
          type: string
          description: 'Internal ids of promotions applied on this product. MaxLength: max.'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        ManufacturerName:
          type: string
          description: >-
            Name of the manufacturer of the product. Populated by Storm.
            MaxLength: 100.
        CategoryId:
          type: integer
          description: Obsolete! - Use CategoryIdSeed
          format: int32
          nullable: true
        OnHand:
          $ref: '#/components/schemas/ProductsOnHand'
        OnHandSupplier:
          $ref: '#/components/schemas/ProductsOnHand'
        PriceRecommended:
          type: number
          description: The rule based price, excluding VAT, from a priceList, if specified.
          format: decimal
          nullable: true
        ManufacturerId:
          type: integer
          description: Internal manufacturer id for the product. Populated by Storm.
          format: int32
        UniqueName:
          type: string
          description: >-
            A unique name that can be used in Urls and to get a Product.
            GetProduct and GetProductByUniqueName gets the same Product.
            MaxLength: 500.
        StatusId:
          type: integer
          description: >-
            The status of the underlying product. Lookup references in
            ListStatuses.
          format: int32
        StockDisplayBreakPoint:
          type: integer
          description: A value that can be used for display logic regarding OnHand.
          format: int32
          nullable: true
        PriceCatalog:
          type: number
          description: The original price, excluding VAT, if specified.
          format: decimal
          nullable: true
        IsBuyable:
          type: boolean
          description: >-
            Indicates if the item is buyable or not. Will always be false if the
            status is closed. An exception will be thrown if IsBuyable is false
            and an attempt to buy the item is made.
        SubDescription:
          type: string
          description: 'Sub description from Storm Admin. MaxLength: max.'
        CategoryIdSeed:
          type: string
          description: >-
            A comma separated list of internal category ids ordered so the
            primary category is first. MaxLength: max.
        RecommendedQuantity:
          type: number
          description: >-
            Indicates the default value used as quantity when buying the
            product. If IsRecommendedQuantityFixed is true, only multiples of
            this quantity should be allowed.
          format: decimal
          nullable: true
        IsRecommendedQuantityFixed:
          type: boolean
          description: >-
            If this is set to true only multiples of RecommendedQuantity should
            be allowed.
        AppliedPromotions:
          type: array
          description: >-
            Applied promotions for this item, if any. It will contain some info
            about what promotion was applied and amount applied.
          items:
            $ref: '#/components/schemas/AppliedPromotionOnItem'
        RequirementPromotionIdSeed:
          type: string
          description: >-
            A comma separated list of promotion internal ids for this item that
            are fulfilling the requirements. MaxLength: max.
        IsSubscribable:
          type: boolean
          description: >-
            True if this item can be added to a Subscription. False otherwise.
            Can be used when copying BasketItems from one Basket to a
            TemplateBasket in a Subacription.
        DescriptionHeader:
          type: string
          description: >-
            DescriptionHeader for the product as specified in Storm Admin.
            MaxLength: 255.
        IsPriceManual:
          type: boolean
          description: >-
            Used when setting price on a BasketItem from the application. Manual
            prices are not discountable when applying promotions or company
            discounts.
        PriceStandard:
          type: number
          description: The standard price, excluding VAT, if specified.
          format: decimal
          nullable: true
        EanCode:
          type: string
          description: 'SKU EAN code. MaxLength: 50.'
        CostUnit:
          type: number
          description: CostUnit, excluding VAT, from Storm Admin.
          format: decimal
          nullable: true
        PriceDisplayIncVat:
          type: number
          description: >-
            This is the price including VAT after applying company discounts and
            promotions. It is what the customer is paying.
          format: decimal
        PriceListLocked:
          type: boolean
          description: >-
            Set to true to exclude this item's price list from business logic
            when selecting cheapest price. Will be set to false if price list is
            unavailable.
          nullable: true
        PriceOriginalIncVat:
          type: number
          description: This is the original price of the SKU, including VAT.
          format: decimal
        PriceRecommendedIncVat:
          type: number
          description: The rule based price, including VAT, from a priceList, if specified.
          format: decimal
          nullable: true
        PriceCatalogIncVat:
          type: number
          description: The original price, including VAT, if specified.
          format: decimal
          nullable: true
        PriceStandardIncVat:
          type: number
          description: The standard price, including VAT, if specified.
          format: decimal
          nullable: true
      format: BasketItem
    BasketPagedList:
      type: object
      properties:
        ItemCount:
          type: integer
          description: Total number of baskets.
          format: int32
        Items:
          type: array
          description: List of baskets.
          items:
            $ref: '#/components/schemas/Basket'
      format: BasketPagedList
    Checkout:
      type: object
      properties:
        Basket:
          $ref: '#/components/schemas/Basket'
        Buyer:
          $ref: '#/components/schemas/CustomersCustomer'
        Payer:
          $ref: '#/components/schemas/CustomersCustomer'
        ShipTo:
          $ref: '#/components/schemas/CustomersCustomer'
        PaymentMethods:
          type: array
          description: >-
            List of available payment methods for this checkout. May be changed
            depending on basket contents. Generated by Storm.
          items:
            $ref: '#/components/schemas/PaymentMethod'
        DeliveryMethods:
          type: array
          description: >-
            List of available delivery methods for this checkout. May be changed
            depending on basket contents. Generated by Storm.
          items:
            $ref: '#/components/schemas/DeliveryMethod'
        Payments:
          type: array
          description: >-
            List of payment attemtps made for this checkout. Each payment method
            selected will create it's own entry in this list.
          items:
            $ref: '#/components/schemas/Payment'
      format: Checkout
    DeliveryMethod:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryMethod.
          format: int32
        Name:
          type: string
          description: 'The Name of the DeliveryMethod. MaxLength: 50.'
        TypeId:
          type: integer
          description: >-
            The internal type id of the DeliveryMethod. DeliveryMethodTypes are
            logical groupings of different types such as home delivery, pickup
            and such.
          format: int32
        TypeName:
          type: string
          description: 'The TypeName of the DeliveryMethodType. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the DeliveryMethod. MaxLength: max.'
        PartNo:
          type: string
          description: >-
            The part number, if any, of the product representing the
            DeliveryMethod. Products setup for delivery methods must have a
            SkuType equal to Freight. These are handled by Storm and added and
            removed automatically. MaxLength: 50.
        Price:
          type: number
          description: The Price of the DeliveryMethod, excluding VAT.
          format: decimal
        VatRate:
          type: number
          description: >-
            A rate to multiply with price to get price inc VAT. 25% VAT equals a
            VatRate of 1.25.
          format: decimal
        IsNotifiable:
          type: boolean
          description: Indicates if the DeliveryMethod has delivery notifications.
        ImagePath:
          type: string
          description: 'MaxLength: 255. Obsolete! - Use ImageKey with preset'
        IsSelected:
          type: boolean
          description: >-
            IsSelected is set to true for the currently selected DeliveryMethod
            on baskets. All other DeliveryMethods have this set to false. If no
            DeliveryMethod has been set all will have this value set to false.
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        IsForCompanyOnly:
          type: boolean
          description: Indicates if the DeliveryMethod has is for Companies only.
        IsForPersonOnly:
          type: boolean
          description: Indicates if the DeliveryMethod has is for Customers only.
        Cost:
          type: number
          description: The Cost of the DeliveryMethod.
          format: decimal
        StoreId:
          type: integer
          description: >-
            The internal store id of any Store connected to this DeliveryMethod.
            Most often this will be set if ZipCode mappings exist in Storm.
          format: int32
          nullable: true
        WarehouseId:
          type: integer
          description: >-
            The internal warehouse id of any Warehouse connected to this
            DeliveryMethod. Most often this will be set if ZipCode mappings
            exist in Storm.
          format: int32
          nullable: true
        LocationId:
          type: integer
          description: >-
            The internal location id of any WarehouseLocation connected to this
            DeliveryMethod. Most often this will be set if ZipCode mappings
            exist in Storm.
          format: int32
          nullable: true
        DropPoints:
          type: array
          description: >-
            A list of DropPoint, if any, for the DeliveryMethod. These are not
            kept in Storm but fetched from integrated DeliveryMethod providers
            such as ShipAdvisor.
          items:
            $ref: '#/components/schemas/DropPoint'
        Code:
          type: string
          description: 'An external Code for the DeliveryMethod. MaxLength: 50.'
        Carrier:
          type: string
          description: 'Optional information about carrier MaxLength: 50.'
      format: DeliveryMethod
    DropPoint:
      type: object
      properties:
        Code:
          type: string
          description: >-
            Code is the external/integrated DeliveryMethod provider's code for
            the pickup store. MaxLength: 50.
        RoutingCode:
          type: string
          description: 'MaxLength: 50. Obsolete! - Not used'
        Depot:
          type: string
          description: 'MaxLength: 50. Obsolete! - Not used'
        Name1:
          type: string
          description: 'The name of the place to pickup the goods. MaxLength: 100.'
        Name2:
          type: string
          description: 'The name part 2 of the place to pickup the goods. MaxLength: 100.'
        Address1:
          type: string
          description: 'The Address of the place to pickup the goods. MaxLength: 100.'
        Address2:
          type: string
          description: 'The Address part 2 of the place to pickup the goods. MaxLength: 100.'
        PostalCode:
          type: string
          description: 'The ZipCode of the place to pickup the goods. MaxLength: 50.'
        City:
          type: string
          description: 'The City of the place to pickup the goods. MaxLength: 50.'
        CountryCode:
          type: string
          description: 'The CountryCode of the place to pickup the goods. MaxLength: 3.'
        Contact:
          type: string
          description: 'The Contact of the place to pickup the goods. MaxLength: 100.'
        Phone:
          type: string
          description: 'The Phone to the place to pickup the goods. MaxLength: 50.'
        Fax:
          type: string
          description: 'MaxLength: 50. Obsolete! - Not used'
        Email:
          type: string
          description: 'The Email to the place to pickup the goods. MaxLength: 255.'
        Latitude:
          type: number
          description: >-
            The Latitude part of the location of the pickup. Can be used to
            calculate distances.
          format: double
        Longitude:
          type: number
          description: >-
            The Longitude part of the location of the pickup. Can be used to
            calculate distances.
          format: double
        Distance:
          type: number
          description: The Distance to the location of the pickup.
          format: double
        OpeningHours:
          type: array
          description: A list of opening hours for the pickup.
          items:
            $ref: '#/components/schemas/OpeningHours'
        IsSelected:
          type: boolean
          description: >-
            Indicates if this is the selected DropPoint or not. Gets set by
            Storm.
      format: DropPoint
    ExtraInfo:
      type: object
      properties:
        TypeId:
          type: integer
          description: >-
            The internal id of type. This TypeId might be different in different
            tiers such as Stage and Production. Use Code if hard coding is
            required.
          format: int32
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
        Code:
          type: string
          description: >-
            The Code of the type, if existing. Use this value when hard coding
            is required. MaxLength: 50.
      format: ExtraInfo
    InsertItemsPostPurchaseData:
      type: object
      properties:
        ItemsToAdd:
          type: array
          description: >-
            The items to add to the purchase. The items to insert must have its
            PartNo, Quantity and PriceListId set. ParentLineNo, Name, Comment,
            ReferId and ReferUrl can be used if other values than the default
            are wanted. All other properties will be populated from the system.
          items:
            $ref: '#/components/schemas/BasketItem'
        PaymentParameters:
          type: array
          description: >-
            Roundtrip of the parameters received in the original payment
            response.
          items:
            $ref: '#/components/schemas/NameValue'
      format: InsertItemsPostPurchaseData
    OpeningHours:
      type: object
      properties:
        Day:
          type: string
        Open:
          type: string
          description: 'MaxLength: 255.'
        Close:
          type: string
          description: 'MaxLength: 255.'
      format: OpeningHours
    Payment:
      type: object
      properties:
        PaymentCode:
          type: integer
          description: System generated id for this particular payment. Client specific.
          format: int32
        Amount:
          type: number
          description: Payment amount, including VAT.
          format: decimal
        CardNo:
          type: string
          description: >-
            Card number if payment has been made by credit card or gift card.
            Populated by PSP. MaxLength: max.
        PaymentMethodId:
          type: integer
          description: >-
            Internal id of the payment method for this payment. Application
            specific.
          format: int32
        PaymentServiceId:
          type: integer
          description: >-
            Internal id of the payment service for this payment. System
            specific. Indicates the PSP.
          format: int32
      format: Payment
    PaymentMethod:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id for this payment method.
          format: int32
        Name:
          type: string
          description: 'Descriptive name of the payment method. MaxLength: 50.'
        TypeId:
          type: integer
          description: Internal type id for this payment method.
          format: int32
        TypeName:
          type: string
          description: 'Clear text name of the type of this payment method. MaxLength: 50.'
        Description:
          type: string
          description: 'Free text description of the payment method. MaxLength: max.'
        PartNo:
          type: string
          description: 'Part number for this payment method, if configured. MaxLength: 50.'
        Price:
          type: number
          description: Price, excluding VAT, to use this payment method, if configured.
          format: decimal
        VatRate:
          type: number
          description: >-
            A rate to multiply with price to get price inc VAT. 25% VAT equals a
            VatRate of 1.25.
          format: decimal
        ImagePath:
          type: string
          description: 'MaxLength: 500. Obsolete! - Use ImageKey with preset'
        IsSelected:
          type: boolean
          description: >-
            Indicates if this is the currently selected payment method for the
            Checkout. Only one may have this flag set to true. Use
            UpdatePaymentMethod3 to set this property.
        Service:
          $ref: '#/components/schemas/PaymentService'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        IsForCompanyOnly:
          type: boolean
          description: >-
            Indicates if this payment method is only allowed for companies.
            Cannot be combined with IsForPersonOnly.
        IsForPersonOnly:
          type: boolean
          description: >-
            Indicates if this payment method is only allowed for persons. Cannot
            be combined with IsForCompanyOnly.
      format: PaymentMethod
    PaymentResponse:
      type: object
      properties:
        Status:
          type: string
          description: >-
            String response. OK if successful, otherwise may have different
            values depending on PSP. MaxLength: 50.
        StatusDescription:
          type: string
          description: 'Descriptive text for the status. MaxLength: 255.'
        BasketId:
          type: integer
          description: Internal id of the associated basket.
          format: int32
          nullable: true
        OrderNo:
          type: string
          description: 'Order number if order''s been created. MaxLength: 50.'
        PaymentCode:
          type: string
          description: >-
            Internal identifier of this specific payment attempt. MaxLength:
            int.
        PaymentReference:
          type: string
          description: >-
            External identifier of this specific payment attempt, usually from
            the PSP. MaxLength: 50.
        HostedPaymentPage:
          type: string
          description: >-
            Used when a payment should be finalized on a different platform,
            e.g. sending a link by SMS to customer. MaxLength: 50.
        RedirectUrl:
          type: string
          description: >-
            Configurated redirection URL after successful payment. MaxLength:
            255.
        RedirectParameters:
          type: array
          description: PSP specific data returned for the payment. See PSP documentation.
          items:
            $ref: '#/components/schemas/NameValue'
        IsSyncronous:
          type: boolean
          description: Indicates if the payment attempt was synchronous or not.
          nullable: true
        PaymentServiceId:
          type: integer
          description: Internal id of the payment service used.
          format: int32
          nullable: true
      format: PaymentResponse
    PaymentService:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id of this payment service.
          format: int32
        Name:
          type: string
          description: 'Descriptive name of this payment service. MaxLength: 50.'
        Description:
          type: string
          description: 'MaxLength: 500.'
        ImagePath:
          type: string
          description: 'MaxLength: 500. Obsolete! - Use ImageKey with preset'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
      format: PaymentService
    Promotion:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the Promotion.
          format: int32
          nullable: true
        Name:
          type: string
          description: 'The Name of the Promotion. MaxLength: 255.'
        Header:
          type: string
          description: 'SubHeader from Storm. MaxLength: 255.'
        ShortDescription:
          type: string
          description: 'DescriptionHeader from Storm. MaxLength: 255.'
        Description1:
          type: string
          description: 'Description from Storm. MaxLength: max.'
        Description2:
          type: string
          description: 'SubDescription from Storm. MaxLength: max.'
        StartDate:
          type: string
          description: >-
            The StartDate of the Promotion, if any. Only valid promotions will
            be returned.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: >-
            The EndDate of the Promotion, if any. Only valid promotions will be
            returned.
          format: date-time
          nullable: true
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        RequirementSeed:
          type: string
          description: >-
            A comma separated list of fulfilled requirements for this promotion.
            MaxLength: max.
        DiscountCode:
          type: string
          description: >-
            Will contain the discountCode if the promotion has a discountCode
            requirement. MaxLength: max.
        IsExcludedFromPriceCalculation:
          type: boolean
          description: >-
            A value of true means the promotion was applied last an not included
            in any price calculations.
        AllowProductListing:
          type: boolean
          description: >-
            This flag can be checked to see whether the promotion allows listing
            of products from requirements. Use
            Products.ListProductsByPromotionRequirement to list products. Note
            that if this property is true and no product requirements exists, no
            products will be listed.
        Images:
          type: array
          description: >-
            A list of additional images files uploaded for the promotion. Images
            can be differentiated by using different types. See
            ListPromotionImageTypes for available types.
          items:
            $ref: '#/components/schemas/File'
        ProductFilters:
          type: array
          description: >-
            A list of productFilters for the promotion. Can be used to filter or
            fetch promotions matched by Products. match the products properties
            against the filter values Each ProductFilter must match all existing
            values and if any ProductFilter matches the promotion will be valid
            for that product.
          items:
            $ref: '#/components/schemas/PromotionProductFilter'
        AppliedAmount:
          type: number
          description: >-
            Applied discount amount, excluding VAT, if fetched on
            AppliedPromotions property on the basket. In that case it will be
            the sum of all applied amounts on all Basket.Items. This value is
            rounded to two decimals.
          format: decimal
          nullable: true
        EffectSeed:
          type: string
          description: >-
            A comma separated list of applicable effects for this promotion.
            MaxLength: max.
        FreightDiscountPct:
          type: number
          description: >-
            FreightDiscountPct can be used to calculate external freight prices.
            The value is given as percentage as 100.00 for 100% discount. Only
            used for FreightDiscounts.
          format: decimal
          nullable: true
        IsStackable:
          type: boolean
          description: >-
            Promotion effect quantity or basket discount is multiplied with how
            many times requirement is fulfilled.
        AppliedAmountIncVat:
          type: number
          description: >-
            Applied discount amount, including VAT, for this Promotion on this
            BasketItem.
          format: decimal
          nullable: true
        ExclusivityType:
          type: integer
          description: >-
            ExclusivityType allows setting promotions as NotExclusive = 0,
            Exclusive = 1, or IgnoreExclusivity = 2.
          format: int32
      format: Promotion
    PromotionProductFilter:
      type: object
      properties:
        ManufacturerId:
          type: integer
          description: An optional Manufacturer internal id for filtered products.
          format: int32
          nullable: true
        CategorySeed:
          type: string
          description: 'An optional CategorySeed for filtered products. MaxLength: int.'
        TypeId:
          type: integer
          description: An optional SKU Type internal id for filtered products.
          format: int32
          nullable: true
        ProductId:
          type: integer
          description: An optional Product internal id for filtered products.
          format: int32
          nullable: true
        VariantProductId:
          type: integer
          description: >-
            An optional VariantProduct internal id for filtered products. Equal
            to use PartNo.
          format: int32
          nullable: true
        PartNo:
          type: string
          description: >-
            An optional PartNo for filtered products. Equal to use
            VariantProductId. MaxLength: 50.
        PricelistId:
          type: integer
          description: An optional pricelist internal id for filtered products.
          format: int32
          nullable: true
        FlagId:
          type: integer
          description: >-
            An optional Flag internal id for filtered products. Only set if
            flagId is inclusive.
          format: int32
          nullable: true
      format: PromotionProductFilter
    PurchaseEx2Data:
      type: object
      properties:
        Checkout:
          $ref: '#/components/schemas/Checkout'
        PaymentParameters:
          type: array
          description: >-
            General: 'test'=true to enable tests. When 'test' is used no
            payments will be processed for real. Payments may interpret supplied
            values such as cardNumber or ssn to simulate failures. Not
            implemented. Klarna: 'sessionId'=id. Used to provide a sessionId to
            Klarna payments. Not implemented. Payex and Dibs. Supported values
            are 'returnUrl' and 'cancelUrl'. Values should point to where the
            payment service should go in case of success/failure.
          items:
            $ref: '#/components/schemas/NameValue'
      format: PurchaseEx2Data
    SavedBasket:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id of the saved basket.
          format: int32
        Name:
          type: string
          description: 'Name given to this specific saved basket. MaxLength: 50.'
        Created:
          type: string
          description: Creation date.
          format: date-time
        CustomerId:
          type: integer
          description: Internal customer id of associated customer, if any.
          format: int32
          nullable: true
        ValidTo:
          type: string
          description: Valid date, if any.
          format: date-time
          nullable: true
      format: SavedBasket
    Subscription:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            A unique internal id for this Subscription. When creating new
            Subscription this should be left as null and will be ignored.
          format: int32
          nullable: true
        Name:
          type: string
          description: >-
            The name of the Subscription. This will also be the name of the
            template basket. Can be used to distinguish Subscriptions from each
            other. MaxLength: 50.
        TemplateBasket:
          $ref: '#/components/schemas/Basket'
        Type:
          $ref: '#/components/schemas/SubscriptionType'
        StatusId:
          type: integer
          description: >-
            The internal status id for this Subscription. When a Subscription is
            created the status will be 0 (Inactive) and ignored. To activate a
            Subscription it must pass through the Checkout process. See
            ListSubscriptionStatus for valid values. Can only be changed between
            Active and Paused. To delete a Subscription use DeleteSubscription.
          format: int32
        HoldUntilDate:
          type: string
          description: >-
            A date used to temporarily pause the Subscription and automatically
            activate it again on the specified date. If no HoldFromDate is
            specified the pause will start immediately.
          format: date-time
          nullable: true
        StartDate:
          type: string
          description: >-
            An optional start date for the Subscription. The Subscription can be
            activated but no orders will be processed before this date if
            specified. Can only be changed if a specified date has not passed or
            if the Subscription is still inactive. If no StartDate is specified
            when activating the Subscription this will be set to the activation
            date.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: >-
            An optional end date for the Subscription. The Subscription will be
            deleted after this date if specified. See DeleteSubscription for
            details about deleting subscriptions.
          format: date-time
          nullable: true
        Schedules:
          type: array
          description: >-
            The schedules for this Subscription. Any Subscription must have at
            least one schedule when activated.
          items:
            $ref: '#/components/schemas/SubscriptionSchedule'
        HoldFromDate:
          type: string
          description: >-
            A date used to temporarily pause the Subscription from the specified
            date and automatically activate it again on HoldUtilDate. If this is
            specified HoldUntilDate must also be specified.
          format: date-time
          nullable: true
        NextRun:
          type: string
          description: >-
            Calculated date for next time an order will be created by this
            subscription
          format: date-time
          nullable: true
      format: Subscription
    SubscriptionSchedule:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            A unique internal id for this SubscriptionSchedule. When creating
            new schedules this should be left as null.
          format: int32
          nullable: true
        IsActive:
          type: boolean
          description: >-
            Specifies if the schedule is active or not. Only active schedules
            are considered when creating orders.
        Frequency:
          $ref: '#/components/schemas/IdValue'
        RecurValue:
          type: integer
          description: >-
            Specifies how often the Frequency should be applied. If Frequency is
            'Daily' and RecurValue is 2 then the schedule is every second day.
          format: int32
        IsOnMonday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Monday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        IsOnTuesday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Tuesday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        IsOnWednesday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Wednesday. Only
            used when Frequency is 'Weekly'. At least one of the IsOnDay values
            must be specified.
        IsOnThursday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Thursday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        IsOnFriday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Friday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        IsOnSaturday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Saturday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        IsOnSunday:
          type: boolean
          description: >-
            Specifies if the schedule should be applied on a Sunday. Only used
            when Frequency is 'Weekly'. At least one of the IsOnDay values must
            be specified.
        MonthlyDay:
          type: integer
          description: >-
            Specifies if the schedule should be applied on a specific day. Only
            used when Frequency is 'Monthly' and not any of the MonthlyInterval
            values are used.
          format: int32
        MonthlyInterval:
          $ref: '#/components/schemas/IdValue'
        MonthlyIntervalValue:
          $ref: '#/components/schemas/IdValue'
        TimeOfDay:
          type: string
          description: >-
            Specifies at what time the schedule should be applied. Just the
            Hours and Minutes parts are used. Formats 'hh:mm.ss' or 'hh:mm'.
      format: SubscriptionSchedule
    SubscriptionScheduleData:
      type: object
      properties:
        Frequencies:
          type: array
          description: >-
            A list of frequencies. Defines how often should a Subscription
            should produce an order. See SubscriptionSchedule for usage.
          items:
            $ref: '#/components/schemas/IdValue'
        MonthlyIntervals:
          type: array
          description: >-
            A list of intervals used together with MonthlyIntervalValues. See
            SubscriptionSchedule for usage.
          items:
            $ref: '#/components/schemas/IdValue'
        MonthlyIntervalValues:
          type: array
          description: >-
            A list of interval values used together with MonthlyIntervals. See
            SubscriptionSchedule for usage.
          items:
            $ref: '#/components/schemas/IdValue'
      format: SubscriptionScheduleData
    SubscriptionType:
      type: object
      properties:
        Id:
          type: integer
          description: A internal id for this type.
          format: int32
        Code:
          type: string
          description: >-
            An external code use to identify this type. Used when creating
            Subscription. MaxLength: 50.
        Name:
          type: string
          description: 'The name of the type. MaxLength: 50.'
        Description:
          type: string
          description: 'A description of the type. MaxLength: 500.'
        EndDate:
          type: string
          description: >-
            An optional end date for the SubscriptionType. Subscriptions created
            for this SubscriptionType can not have an end date later than this.
          format: date-time
          nullable: true
      format: SubscriptionType
    Summary:
      type: object
      properties:
        Items:
          $ref: '#/components/schemas/SummaryItem'
        Freigt:
          $ref: '#/components/schemas/SummaryItem'
        Fees:
          $ref: '#/components/schemas/SummaryItem'
        Total:
          $ref: '#/components/schemas/SummaryItem'
      format: Summary
    SummaryItem:
      type: object
      properties:
        Amount:
          type: number
          description: Total Amount exclusive VAT. PriceDisplay * Quantity.
          format: decimal
        Vat:
          type: number
          description: The total VAT amount.
          format: decimal
        AmountIncVat:
          type: number
          description: Total Amount including VAT. PriceDisplayIncVat * Quantity.
          format: decimal
      format: SummaryItem
    CustomersAccount:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Account. This value should be used as
            updatedBy/createdBy in API-Methods. When creating a new Account on a
            Customer leave this blank as Storm will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key for the Account.
          format: guid
        LoginName:
          type: string
          description: >-
            This is the login name used when logging in. Normally this is the
            email address. Care must be taken when user updates their
            emailAddress. Normally this update is just for Customer.Email. It is
            up to the Application to keep Customer.Email in sync with
            Account.LoginName if they are the same. MaxLength: 255.
        Name:
          type: string
          description: >-
            This is the full name of the connected Customer's first and last
            name. MaxLength: 100.
        Roles:
          type: array
          description: >-
            This is an integer list of Role.Ids. See Application.Roles for
            available roles for the Application. This can be used to authorize
            roles to different parts of an Application.
          items:
            type: integer
            format: int32
        Authorizations:
          type: array
          description: >-
            This is an IdValue list of Authorizations. See
            Application.Authorizations for available values for the Application.
            This can be used to authorize users to different parts of an
            Application.
          items:
            $ref: '#/components/schemas/IdValue'
        IsActive:
          type: boolean
          description: >-
            Indicates if the Account is Active or not. Use UpdateAccountStatus
            to change this value.
      format: CustomersAccount
    CustomersAddress:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Address. When creating a new Address leave
            this blank as Storm will generate the Id.
          format: int32
          nullable: true
        CareOf:
          type: string
          description: 'The CareOf of the Address. MaxLength: 100.'
        Line1:
          type: string
          description: 'The first address line of the Address. MaxLength: 255.'
        Line2:
          type: string
          description: 'The second address line of the Address. MaxLength: 255.'
        Zip:
          type: string
          description: 'The zip code of the Address. MaxLength: 50.'
        City:
          type: string
          description: 'The City of the Address. MaxLength: 50.'
        CountryId:
          type: integer
          description: >-
            The internal Id for the country associated to the Address. When
            creating or updating Country on an Address either specify the
            CountryId or just the Country string. If Id is specified it will be
            used to resolve the Name. If none is specified the default for the
            Application will be used.
          format: int32
        Country:
          type: string
          description: >-
            The country name of the Address. When creating or updating Country
            on an Address either specify the CountryId or just the Country
            string. If Name is specified it will be used to resolve the Name and
            Id. Name should then be specified as Country.Code since Names are
            culture specific. If none is specified the default for the
            Application will be used. MaxLength: 50.
        Region:
          type: string
          description: 'The Region of the Address. MaxLength: 50.'
        IsValidated:
          type: boolean
          description: >-
            Indicates if the address had been validated. It is up to the
            Application to validate addresses. Use normal address-methods to
            update this value.
        GlobalLocationNo:
          type: string
          description: >-
            The Global Location Number (GLN) is part of the GS1 systems of
            standards. It is a simple tool used to identify a location and can
            identify locations uniquely where required. This is only used for
            invoice addresses. MaxLength: 50.
        ShippingPhoneNumber:
          type: string
          description: >-
            Phone number for shipping address. Only applicable in shipping
            addresses. MaxLength: 50.
      format: CustomersAddress
    CustomersCompany:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Storm Id for the Company. When creating a new Company
            leave this blank as Storm will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key of the Company.
          format: guid
        Code:
          type: string
          description: 'The external code. Usually the id in the erp system. MaxLength: 50.'
        Name:
          type: string
          description: 'The Name of the Company. MaxLength: 100.'
        OrgNo:
          type: string
          description: >-
            The organizational number of the Company. Used to identify the
            Company for some payment methods. The combination of OrgNo and Name
            must be unique. MaxLength: 50.
        Phone:
          type: string
          description: 'The Phone number of the Company. MaxLength: 50.'
        ReferId:
          type: integer
          description: Used to tag a Company with some external id.
          format: int32
          nullable: true
        ReferUrl:
          type: string
          description: 'Used to tag a Company with an incoming URL. MaxLength: 255.'
        DeliveryAddresses:
          type: array
          description: >-
            A list of delivery Addresses for the Company. When needed the first
            address in the list will be used. So it is vital in the checkout
            process to either sort them or just supply one delivery address.
            Company addresses will override Customer addresses if both exists in
            the Checkout process.
          items:
            $ref: '#/components/schemas/CustomersAddress'
        InvoiceAddress:
          $ref: '#/components/schemas/CustomersAddress'
        UseInvoiceAddressAsDeliveryAddress:
          type: boolean
          description: >-
            Can be used when updating or inserting addresses on Company. If set
            to true the invoice address will be used as a delivery address as
            well. Then just an invoice address needs to be passed in. The
            deliveryAddress will be ignored. If set to false both invoice
            address and delivery address must be specified.
        Info:
          type: array
          description: >-
            Contains a list of id-value pairs specific to the client for this
            company. Use ApplicationService.ListCompanyInfoTypes for id lookup.
          items:
            $ref: '#/components/schemas/IdValue'
        PricelistIds:
          type: array
          description: >-
            Contains a list of priceList ids valid for this company. It will be
            empty if no priceLists exist. It can be used to check products lists
            if they are from a company specific priceList. No need to pass this
            into List-methods since they are considered any way in the methods.
            This property should be considered as ReadOnly as priceLists are
            maintained else where.
          items:
            type: integer
            format: int32
        ParentId:
          type: integer
          description: >-
            Points to an optional parent company. Used when companies are
            connected some how.
          format: int32
          nullable: true
        DeliveryMethodIds:
          type: array
          description: >-
            Contains a list of delivery method ids valid for this company. It
            will be empty if no delivery methods exist.
          items:
            type: integer
            format: int32
        PaymentMethodIds:
          type: array
          description: >-
            Contains a list of payment method ids valid for this company. It
            will be empty if no payment methods exist.
          items:
            type: integer
            format: int32
        Email:
          type: string
          description: 'The Email address of the Company. MaxLength: 255.'
        Flags:
          type: array
          description: >-
            A list of Flags of the Company. See Flag for information about
            flags. Flags can be used in Promotions or otherwise to provide
            custom handling of specific Companies.
          items:
            $ref: '#/components/schemas/CustomersFlag'
        VatNo:
          type: string
          description: 'This is the VAT registration number for the company.  MaxLength: 50.'
      format: CustomersCompany
    CustomersCustomer:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Storm Id of the Customer. When creating a new Customer
            leave this blank as Storm will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key of the Customer.
          format: guid
        Code:
          type: string
          description: 'The external code. Usually the id in the erp system. MaxLength: 50.'
        Email:
          type: string
          description: 'The Email address of the Customer. MaxLength: 255.'
        SSN:
          type: string
          description: >-
            The social security number of the Customer. Used to identify the
            Customer for some payment methods. MaxLength: 50.
        FirstName:
          type: string
          description: 'The FirstName of the Customer. MaxLength: 50.'
        LastName:
          type: string
          description: 'The LastName of the Customer. MaxLength: 50.'
        Phone:
          type: string
          description: 'The PhoneNumber of the Customer. MaxLength: 50.'
        CellPhone:
          type: string
          description: 'The CellPhone number of the Customer. MaxLength: 50.'
        ReferId:
          type: integer
          description: Used to tag a Customer with some external id.
          format: int32
          nullable: true
        ReferUrl:
          type: string
          description: 'Used to tag a Customer with an incoming URL. MaxLength: 255.'
        Account:
          $ref: '#/components/schemas/CustomersAccount'
        Companies:
          type: array
          description: >-
            A list of Companies. A Customer can have many Companies. The first
            will be used as default. In the Checkout process just pass in one
            Company if any is to be used or the first will be used as default.
          items:
            $ref: '#/components/schemas/CustomersCompany'
        DeliveryAddresses:
          type: array
          description: >-
            A list of delivery Addresses for the Customer. When needed the first
            address in the list will be used. So it is vital in the checkout
            process to either sort them or just supply one delivery address.
            Company addresses will override Customer addresses if both exists in
            the Checkout process.
          items:
            $ref: '#/components/schemas/CustomersAddress'
        InvoiceAddress:
          $ref: '#/components/schemas/CustomersAddress'
        Flags:
          type: array
          description: >-
            A list of Flags for the Customer. See Flag for information about
            flags. Flags can be used in Promotions or otherwise to provide
            custom handling of specific Customers.
          items:
            $ref: '#/components/schemas/CustomersFlag'
        UseInvoiceAddressAsDeliveryAddress:
          type: boolean
          description: >-
            Can be use when updating or inserting addresses on Customer. If set
            to true the invoice address will be used as a delivery address as
            well. Then just an invoice address needs to be passed in. The
            deliveryAddress will be ignored. If set to false both invoice
            address and delivery address must be specified.
        Info:
          type: array
          description: >-
            Contains a list of id-value pairs specific to the client for this
            customer. Use ApplicationService.ListCustomerInfoTypes for id
            lookup.
          items:
            $ref: '#/components/schemas/IdValue'
        PricelistIds:
          type: array
          description: >-
            Contains a list of priceList ids valid for this customer. It will be
            empty if no priceLists exist. It can be used to check products lists
            if they are from a customer specific priceList. No need to pass this
            into List-methods since they are considered any way in the methods.
            This property should be considered as ReadOnly as priceLists are
            maintained else where.
          items:
            type: integer
            format: int32
        CrmId:
          type: string
          description: >-
            Used to save the Customers external id from a crm-system MaxLength:
            50.
        IsActive:
          type: boolean
          description: Specifies if the Customer is active or not.
          nullable: true
        Created:
          type: string
          description: When the customer was created.
          format: date-time
          nullable: true
        Updated:
          type: string
          description: When the customer was last updated.
          format: date-time
          nullable: true
      format: CustomersCustomer
    CustomersFlag:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Flag.
          format: int32
        Name:
          type: string
          description: 'The Name of the Flag. MaxLength: 50.'
        Group:
          type: integer
          description: The GroupId of the Flag.
          format: int32
        IsSelected:
          type: boolean
          description: Indicates if the Flag is selected or not.
      format: CustomersFlag
    File:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the File.
          format: int32
        Type:
          type: integer
          description: >-
            The type id of the File. Depending on context and Client. Can be
            used by Applications to differentiate files for different usages.
          format: int32
        Name:
          type: string
          description: 'The Name of the File. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the File. MaxLength: max.'
        Key:
          type: string
          description: >-
            A unique id for the File at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
      format: File
    IdNameDescription:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Entity.
          format: int32
        Name:
          type: string
          description: 'The Name of the Entity. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the Entity. MaxLength: 500.'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        Code:
          type: string
          description: 'The Code of the Entity. MaxLength: 50.'
      format: IdNameDescription
    IdValue:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Entity. This Id might be different in
            different tiers such as Stage and Production. Use Code if hard
            coding is required.
          format: int32
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
        Code:
          type: string
          description: >-
            The Code of the Entity, if existing. Use this value when hard coding
            is required. MaxLength: 255.
      format: IdValue
    NameValue:
      type: object
      properties:
        Name:
          type: string
          description: 'The Name of the Entity. MaxLength: 50.'
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
      format: NameValue
    OrdersAddress:
      type: object
      properties:
        Line1:
          type: string
          description: 'The first address line of the Address. MaxLength: 255.'
        Line2:
          type: string
          description: 'The second address line of the Address. MaxLength: 255.'
        CareOf:
          type: string
          description: 'The care of part of the Address. MaxLength: 100.'
        City:
          type: string
          description: 'The city of the Address. MaxLength: 50.'
        ZipCode:
          type: string
          description: 'The zipcode of the Address. MaxLength: 50.'
        Country:
          type: string
          description: 'The name of the country of the Address. MaxLength: 50.'
        CountryCode:
          type: string
          description: 'The code of the country of the Address. MaxLength: 3.'
        Region:
          type: string
          description: 'The region of the Address. MaxLength: 50.'
        ShippingPhoneNumber:
          type: string
          description: >-
            Phone number for shipping address. Only applicable in shipping
            addresses. MaxLength: 50.
        GlobalLocationNo:
          type: string
          description: >-
            The Global Location Number (GLN) is part of the GS1 systems of
            standards. It is a simple tool used to identify a location and can
            identify locations uniquely where required. This is only used for
            invoice addresses. MaxLength: 50.
      format: OrdersAddress
    OrdersCompany:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of Company.
          format: int32
          nullable: true
        'No':
          type: string
          description: >-
            The external code of Company. Usually from an ERP system. MaxLength:
            50.
        Name:
          type: string
          description: 'The name of Company. MaxLength: 100.'
        OrgNo:
          type: string
          description: 'The organizational number of Company. MaxLength: 50.'
      format: OrdersCompany
    OrdersCustomer:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of Customer.
          format: int32
          nullable: true
        'No':
          type: string
          description: >-
            The external code of Customer. Usually from an ERP system.
            MaxLength: 50.
        FirstName:
          type: string
          description: 'The first name of Customer. MaxLength: 50.'
        LastName:
          type: string
          description: 'The last name of Customer. MaxLength: 50.'
        SSN:
          type: string
          description: 'The social security number of Customer. MaxLength: 50.'
        Email:
          type: string
          description: 'The e-mail of Customer. MaxLength: 255.'
        Phone:
          type: string
          description: 'The phone number of Customer. MaxLength: 50.'
        CellPhone:
          type: string
          description: 'The cell phone number of Customer. MaxLength: 50.'
      format: OrdersCustomer
    ProductsFlag:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Flag.
          format: int32
        Name:
          type: string
          description: 'The Name of the Flag. MaxLength: 50.'
        TypeId:
          type: integer
          description: >-
            The Type of the Flag. ProductFlags have TypeId = 1 and VariantFlags
            have TypeId = 2.
          format: int32
        GroupId:
          type: integer
          description: >-
            The GroupId of the Flag. This value is client specific and can be
            used to group product flags.
          format: int32
        Description:
          type: string
          description: 'The Description of the Flag. MaxLength: 500.'
        Code:
          type: string
          description: 'The external Code for the flag. MaxLength: 500.'
      format: ProductsFlag
    ProductsOnHand:
      type: object
      properties:
        Value:
          type: number
          description: >-
            The aggregated value from all warehouses and locations in the
            current context (Web, Supplier or Store).
          format: decimal
        IncomingValue:
          type: number
          description: The incoming quantity on the next delivery.
          format: decimal
        NextDeliveryDate:
          type: string
          description: The next delivery data from supplier to client warehouse.
          format: date-time
          nullable: true
        LeadtimeDayCount:
          type: integer
          description: The number of days it takes to ship from the supplier.
          format: int32
          nullable: true
        LastChecked:
          type: string
          description: When onHand info was last checked. Null if never.
          format: date-time
          nullable: true
        IsActive:
          type: boolean
          description: Indicate if the product is stocked in a store.
        IsReturnable:
          type: boolean
          description: Indicate if the product is returnable in a store.
        Info:
          type: array
          description: >-
            List of IdValues for the OnHand data for this sku warehouse location
            combination. This will always be null unless fetched with any of the
            ProductOnHand methods.
          items:
            $ref: '#/components/schemas/IdValue'
      format: ProductsOnHand
    ProductsProductOnHand:
      type: object
      properties:
        ProductId:
          type: integer
          description: >-
            The product internal id for the current product/variant. If the
            entity is fetched by productId it will be that productId. If the
            product is fetched by partNo it will be the productId for that
            variant.
          format: int32
        Warehouses:
          type: array
          description: A list of warehouses with OnHand for the product.
          items:
            $ref: '#/components/schemas/ProductsWarehouse'
        Variants:
          type: array
          description: >-
            An optional list of ProductOnHand for all variants if fetched by
            productId. Null when fetched for a variant or a basket.
          items:
            $ref: '#/components/schemas/ProductsProductOnHand'
      format: ProductsProductOnHand
    ProductsWarehouse:
      type: object
      properties:
        StoreId:
          type: integer
          description: >-
            The store internal id for the current store. Can be null if
            WarehouseId and LocationId are supplied.
          format: int32
          nullable: true
        WarehouseId:
          type: integer
          description: >-
            The internal id for the warehouse. Can be null if StoreId is
            supplied.
          format: int32
          nullable: true
        LocationId:
          type: integer
          description: >-
            The internal id for the warehouse location. Can be null if StoreId
            is supplied.
          format: int32
          nullable: true
        OnHand:
          $ref: '#/components/schemas/ProductsOnHand'
      format: ProductsWarehouse
    System.Xml.Linq.XAttribute:
      type: object
      properties:
        EmptySequence:
          type: array
          items:
            $ref: '#/components/schemas/System.Xml.Linq.XAttribute'
        IsNamespaceDeclaration:
          type: boolean
        Name:
          $ref: '#/components/schemas/System.Xml.Linq.XName'
        NextAttribute:
          $ref: '#/components/schemas/System.Xml.Linq.XAttribute'
        NodeType:
          type: integer
          description: "\r\n\r\n    None = 0 \r\n    Element = 1 \r\n    Attribute = 2 \r\n    Text = 3 \r\n    CDATA = 4 \r\n    EntityReference = 5 \r\n    Entity = 6 \r\n    ProcessingInstruction = 7 \r\n    Comment = 8 \r\n    Document = 9 \r\n    DocumentType = 10 \r\n    DocumentFragment = 11 \r\n    Notation = 12 \r\n    Whitespace = 13 \r\n    SignificantWhitespace = 14 \r\n    EndElement = 15 \r\n    EndEntity = 16 \r\n    XmlDeclaration = 17 \r\n"
          format: enum
        PreviousAttribute:
          $ref: '#/components/schemas/System.Xml.Linq.XAttribute'
        Value:
          type: string
        BaseUri:
          type: string
        Document:
          $ref: '#/components/schemas/System.Xml.Linq.XDocument'
        Parent:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
      format: System.Xml.Linq.XAttribute
    System.Xml.Linq.XDeclaration:
      type: object
      properties:
        Encoding:
          type: string
        Standalone:
          type: string
        Version:
          type: string
      format: System.Xml.Linq.XDeclaration
    System.Xml.Linq.XDocument:
      type: object
      properties:
        Declaration:
          $ref: '#/components/schemas/System.Xml.Linq.XDeclaration'
        DocumentType:
          $ref: '#/components/schemas/System.Xml.Linq.XDocumentType'
        NodeType:
          type: integer
          description: "\r\n\r\n    None = 0 \r\n    Element = 1 \r\n    Attribute = 2 \r\n    Text = 3 \r\n    CDATA = 4 \r\n    EntityReference = 5 \r\n    Entity = 6 \r\n    ProcessingInstruction = 7 \r\n    Comment = 8 \r\n    Document = 9 \r\n    DocumentType = 10 \r\n    DocumentFragment = 11 \r\n    Notation = 12 \r\n    Whitespace = 13 \r\n    SignificantWhitespace = 14 \r\n    EndElement = 15 \r\n    EndEntity = 16 \r\n    XmlDeclaration = 17 \r\n"
          format: enum
        Root:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
        FirstNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        LastNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        NextNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        PreviousNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        BaseUri:
          type: string
        Document:
          $ref: '#/components/schemas/System.Xml.Linq.XDocument'
        Parent:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
      format: System.Xml.Linq.XDocument
    System.Xml.Linq.XDocumentType:
      type: object
      properties:
        InternalSubset:
          type: string
        Name:
          type: string
        NodeType:
          type: integer
          description: "\r\n\r\n    None = 0 \r\n    Element = 1 \r\n    Attribute = 2 \r\n    Text = 3 \r\n    CDATA = 4 \r\n    EntityReference = 5 \r\n    Entity = 6 \r\n    ProcessingInstruction = 7 \r\n    Comment = 8 \r\n    Document = 9 \r\n    DocumentType = 10 \r\n    DocumentFragment = 11 \r\n    Notation = 12 \r\n    Whitespace = 13 \r\n    SignificantWhitespace = 14 \r\n    EndElement = 15 \r\n    EndEntity = 16 \r\n    XmlDeclaration = 17 \r\n"
          format: enum
        PublicId:
          type: string
        SystemId:
          type: string
        NextNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        PreviousNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        BaseUri:
          type: string
        Document:
          $ref: '#/components/schemas/System.Xml.Linq.XDocument'
        Parent:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
      format: System.Xml.Linq.XDocumentType
    System.Xml.Linq.XElement:
      type: object
      properties:
        EmptySequence:
          type: array
          items:
            $ref: '#/components/schemas/System.Xml.Linq.XElement'
        FirstAttribute:
          $ref: '#/components/schemas/System.Xml.Linq.XAttribute'
        HasAttributes:
          type: boolean
        HasElements:
          type: boolean
        IsEmpty:
          type: boolean
        LastAttribute:
          $ref: '#/components/schemas/System.Xml.Linq.XAttribute'
        Name:
          $ref: '#/components/schemas/System.Xml.Linq.XName'
        NodeType:
          type: integer
          description: "\r\n\r\n    None = 0 \r\n    Element = 1 \r\n    Attribute = 2 \r\n    Text = 3 \r\n    CDATA = 4 \r\n    EntityReference = 5 \r\n    Entity = 6 \r\n    ProcessingInstruction = 7 \r\n    Comment = 8 \r\n    Document = 9 \r\n    DocumentType = 10 \r\n    DocumentFragment = 11 \r\n    Notation = 12 \r\n    Whitespace = 13 \r\n    SignificantWhitespace = 14 \r\n    EndElement = 15 \r\n    EndEntity = 16 \r\n    XmlDeclaration = 17 \r\n"
          format: enum
        Value:
          type: string
        FirstNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        LastNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        NextNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        PreviousNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        BaseUri:
          type: string
        Document:
          $ref: '#/components/schemas/System.Xml.Linq.XDocument'
        Parent:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
      format: System.Xml.Linq.XElement
    System.Xml.Linq.XName:
      type: object
      properties:
        LocalName:
          type: string
        Namespace:
          $ref: '#/components/schemas/System.Xml.Linq.XNamespace'
        NamespaceName:
          type: string
      format: System.Xml.Linq.XName
    System.Xml.Linq.XNamespace:
      type: object
      properties:
        NamespaceName:
          type: string
        None:
          $ref: '#/components/schemas/System.Xml.Linq.XNamespace'
        Xml:
          $ref: '#/components/schemas/System.Xml.Linq.XNamespace'
        Xmlns:
          $ref: '#/components/schemas/System.Xml.Linq.XNamespace'
      format: System.Xml.Linq.XNamespace
    System.Xml.Linq.XNode:
      required:
        - __type
      type: object
      properties:
        NextNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        PreviousNode:
          $ref: '#/components/schemas/System.Xml.Linq.XNode'
        DocumentOrderComparer:
          $ref: '#/components/schemas/System.Xml.Linq.XNodeDocumentOrderComparer'
        EqualityComparer:
          $ref: '#/components/schemas/System.Xml.Linq.XNodeEqualityComparer'
        BaseUri:
          type: string
        Document:
          $ref: '#/components/schemas/System.Xml.Linq.XDocument'
        NodeType:
          type: integer
          description: "\r\n\r\n    None = 0 \r\n    Element = 1 \r\n    Attribute = 2 \r\n    Text = 3 \r\n    CDATA = 4 \r\n    EntityReference = 5 \r\n    Entity = 6 \r\n    ProcessingInstruction = 7 \r\n    Comment = 8 \r\n    Document = 9 \r\n    DocumentType = 10 \r\n    DocumentFragment = 11 \r\n    Notation = 12 \r\n    Whitespace = 13 \r\n    SignificantWhitespace = 14 \r\n    EndElement = 15 \r\n    EndEntity = 16 \r\n    XmlDeclaration = 17 \r\n"
          format: enum
        Parent:
          $ref: '#/components/schemas/System.Xml.Linq.XElement'
        __type:
          type: string
      format: System.Xml.Linq.XNode
      discriminator:
        propertyName: __type
    System.Xml.Linq.XNodeDocumentOrderComparer:
      type: object
      format: System.Xml.Linq.XNodeDocumentOrderComparer
    System.Xml.Linq.XNodeEqualityComparer:
      type: object
      format: System.Xml.Linq.XNodeEqualityComparer
x-original-swagger-version: '2.0'
