openapi: 3.0.1
info:
  title: Norce Commerce Shopping v1.1 service
  description: >-
    Entities and methods to handle baskets and payments. The Shopping service is
    used to create and manage baskets, and prepare them for the checkout
    process. Commonly the checkout process is handled by the Norce Checkout API,
    only the legacy checkout process is handled here. For product or pricing
    data, use the Product service. For order history, use the Order service. To
    change or manage promotions use the Management API.
  version: '1.1'
servers:
  - url: https://{slug}.api-se.playground.norce.tech/commerce
    description: Playground
    variables:
      slug:
        default: customer-slug
        description: Replace with your slug.
  - url: https://{slug}.api-se.stage.norce.tech/commerce
    description: Stage
    variables:
      slug:
        default: customer-slug
        description: Replace with your slug.
  - url: https://{slug}.api-se.norce.tech/commerce
    description: Production
    variables:
      slug:
        default: customer-slug
        description: Replace with your slug.
security:
  - Bearer: []
    ApplicationId: []
tags:
  - name: Basket
    description: >-
      Contains endpoints for manage baskets and their lifecycle, see more
      information
      [here](/developer-portal/app-development/working-with-baskets).
  - name: Checkout
    description: >-
      Contains endpoints for initialized the checkout process, read more about
      it
      [here](/developer-portal/app-development/working-with-the-checkout-process).
      There is also the old legacy purchase endpoints, still used by older
      solutions and Non-PSP purchases.
  - name: DeliveryMethods
    description: >-
      Contains endpoints for viewing metadata about configured delivery methods,
      when using Norces internal shipping logic.
  - name: InfoTypes
    description: >-
      Contains endpoints for viewing metadata for extended fields on the basket
      and basketitems.
  - name: OnHand
    description: Contains endpoints for looking up availability on baskets.
  - name: OrderRequest
    description: Contains endpoints for viewing orders snapshots.
  - name: Payments
    description: >-
      Contains endpoints for legacy purchases, still used by older solutions and
      Non-PSP purchases.
  - name: Promotions
    description: Contains endpoints for viewing more promotion information.
paths:
  /shopping/1.1/ClearBasket:
    post:
      tags:
        - Basket
      summary: Clear basket
      description: Removes all items from the basket.
      parameters:
        - name: id
          in: query
          description: The internal id of the basket to clear.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Specifies in which currency internal id to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/CreateBasket:
    post:
      tags:
        - Basket
      summary: Create basket
      description: Creates a new Basket.
      parameters:
        - name: ipAddress
          in: query
          description: The ip-address of the end user.
          style: form
          schema:
            type: string
        - name: createdBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) 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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/DeleteBasketItem:
    post:
      tags:
        - Basket
      summary: Remove item from basket
      description: Remove a specific item/line from a basket
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to delete the item from.
          style: form
          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.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/GetBasket:
    get:
      tags:
        - Basket
      summary: Get a basket
      description: Gets a Basket by id. Returns null if not found.
      parameters:
        - name: id
          in: query
          description: The basket id of the Basket to fetch.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
  /shopping/1.1/ListBasketsByStatus:
    get:
      tags:
        - Basket
      summary: List baskets by status
      description: >-
        Returns a paged basket list for specified customer, company or sales
        contact.
      parameters:
        - name: companyId
          in: query
          description: >-
            (Optional) The internal company id for which baskets are fetched.
            Either this a customerId or salesContactId must be specified.
          style: form
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            (Optional) The internal customer id for which baskets are fetched.
            Either this a companyId or salesContactId must be specified.
          style: form
          schema:
            type: string
        - name: salesContactId
          in: query
          description: >-
            (Optional) The internal salesContact id for which baskets are
            fetched. Either this a companyId or customerId must be specified.
          style: form
          schema:
            type: string
        - name: statusId
          in: query
          description: The internal id for the status to fetch.
          style: form
          schema:
            type: integer
            format: int32
        - name: pageNo
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: pageSize
          in: query
          description: >-
            (Optional) Number of items to display per page. Mandatory if using
            pageNo.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketPagedList'
  /shopping/1.1/ListSavedBaskets:
    get:
      tags:
        - Basket
      summary: List saved baskets for a customer
      description: List saved baskets for a specific customer
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
                description: List of saved baskets. It is used in lists.
  /shopping/1.1/SaveBasket:
    post:
      tags:
        - Basket
      summary: Save a basket
      description: Save a initiated basket
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          style: form
          schema:
            type: integer
            format: int32
        - name: basketId
          in: query
          description: The internal id of the basket to save.
          style: form
          schema:
            type: integer
            format: int32
        - name: name
          in: query
          description: The name of the saved basket.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedBasket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/DeleteSavedBasket:
    post:
      tags:
        - Basket
      summary: Delete a saved basket
      parameters:
        - name: customerId
          in: query
          description: >-
            The internal customer id of the customer. The id is used to fetch
            saved baskets.
          style: form
          schema:
            type: integer
            format: int32
        - name: basketId
          in: query
          description: The internal id of the saved basket to delete.
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SavedBasket'
                description: List of saved baskets. It is used in lists.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/InsertBasketItem:
    post:
      tags:
        - Basket
      summary: Insert an item in a basket
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          style: form
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/InsertBasketItems:
    post:
      tags:
        - Basket
      summary: Insert several items into a basket
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          style: form
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          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'
              description: List of basket items. It is used in Basket.Items.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/InsertBasketItemWithChildren:
    post:
      tags:
        - Basket
      summary: Insert a structure item into basket
      description: >-
        Used to insert a structure article into basket with calculation of it's
        children
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to insert the item into.
          style: form
          schema:
            type: integer
            format: int32
        - name: createdBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          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'
              description: List of basket items. It is used in Basket.Items.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      requestBody:
        description: The basket to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/SetAttestBasket:
    post:
      tags:
        - Basket
      summary: Attest a basket
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket to attest.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: >-
            The internal id of the basket to delete. Note that this id should be
            removed from future references.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/UpdateBasketItems:
    post:
      tags:
        - Basket
      summary: Update several basket items
      description: Updates all supplied BasketItems on the specified basket.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) 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.
          style: form
          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'
              description: List of basket items. It is used in Basket.Items.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: lineNo
          in: query
          description: The line on which to update the quantity.
          style: form
          schema:
            type: integer
            format: int32
        - name: quantity
          in: query
          description: New quantity of the line.
          style: form
          schema:
            type: number
            format: decimal
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/CloseBasketForPostPurchaseUpsell:
    post:
      tags:
        - Basket
      summary: Close basket for post purchases
      description: Closes the basket for post purchase.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to close.
          style: form
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
      requestBody:
        description: The data needed to insert items post purchase
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsertItemsPostPurchaseData'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/IsPostPurchasePossible:
    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).
      parameters:
        - name: basketId
          in: query
          description: >-
            The internal id of the basket to check post purchase possibility
            for.
          style: form
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/ListBasketStatuses:
    get:
      tags:
        - Basket
      summary: List basket statuses
      description: Lists the available basket statuses.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
  /shopping/1.1/ListBasketTypes:
    get:
      tags:
        - Basket
      summary: List basket types
      description: Lists the available basket types.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
  /shopping/1.1/GetCheckout:
    get:
      tags:
        - Checkout
      summary: Get checkout object for a basket
      description: Get a checkout object for a specific basket.
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket for which to create a checkout object.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
  /shopping/1.1/GetCheckout2:
    get:
      tags:
        - Checkout
      summary: Get checkout object for a basket (v2)
      description: Get a checkout object for a specific basket.
      parameters:
        - name: basketId
          in: query
          description: Internal id of the basket for which to create a checkout object.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
  /shopping/1.1/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 Norce 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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          style: form
          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.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The userAgent of the current user's browser or application.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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'.
      parameters:
        - name: cardNo
          in: query
          description: The card number to make reservation on.
          style: form
          schema:
            type: string
        - name: cvc
          in: query
          description: The cvc of the card to make reservation on.
          style: form
          schema:
            type: string
        - name: paymentMethodId
          in: query
          description: ''
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/Purchase:
    post:
      tags:
        - Checkout
      summary: Purchase a basket
      description: Purchase a basket
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          style: form
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/CreatePayment:
    post:
      tags:
        - Checkout
      summary: Create a payment
      description: Used when adding payments to a PayLater type of transaction.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          style: form
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          style: form
          schema:
            type: string
        - name: amount
          in: query
          description: The amount being paid.
          style: form
          schema:
            type: number
            format: decimal
        - name: paymentMethod
          in: query
          description: The payment method used to pay.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the current basket.
          style: form
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: Extended data object to the PSP for this purchase.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseEx2Data'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/UpdatePayer:
    post:
      tags:
        - Checkout
      summary: Update payer information
      description: >-
        Updates Payer information on a basket. This should be used when Payer
        differs from Buyer.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/UpdateShipTo:
    post:
      tags:
        - Checkout
      summary: Update delivery information
      description: >-
        Updates ShipTo information on a basket. This should be used when ShipTo
        differs from Buyer.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: updatedBy
          in: query
          description: Account internal id of current user.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          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/Customer'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: deliveryMethodId
          in: query
          description: The internal id of the DeliveryMethod to select.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: deliveryMethodId
          in: query
          description: The internal id of the DeliveryMethod to select.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: dropPointCode
          in: query
          description: >-
            (Optional) The ID of the selected DropPoint (can be null if the
            deliverymethod does not support it).
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          The BasketDeliveryMethodUpdate to use when updating the DeliveryMethod
          for the basket.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketDeliveryMethodUpdate'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: paymentMethodId
          in: query
          description: The internal id of the PaymentMethod to select.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket to update.
          style: form
          schema:
            type: integer
            format: int32
        - name: paymentMethodId
          in: query
          description: The internal id of the PaymentMethod to select.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checkout'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/ListDeliveryMethodsByProduct2:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by product
      parameters:
        - name: productId
          in: query
          description: >-
            The internal product id for the product to list available delivery
            methods for.
          style: form
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            (Optional) Internal id that specifies in which country. If none is
            supplied, value is resolved from Application default.
          style: form
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          style: form
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            (Optional) Current internal customer id, checks for specific
            customer bound delivery methods.
          style: form
          schema:
            type: string
        - name: companyId
          in: query
          description: >-
            (Optional) Current internal company id, checks for specific company
            bound delivery methods.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
                description: List of delivery methods. It is used in lists.
  /shopping/1.1/ListDeliveryMethodsByBasket:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by basket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          style: form
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            (Optional) Internal id that specifies in which country. If none is
            supplied, value is resolved from Application default.
          style: form
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
                description: List of delivery methods. It is used in lists.
  /shopping/1.1/ListDeliveryMethodsByBasket2:
    get:
      tags:
        - DeliveryMethods
      summary: List delivery methods by basket
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          style: form
          schema:
            type: integer
            format: int32
        - name: countryId
          in: query
          description: >-
            (Optional) Internal id that specifies in which country. If none is
            supplied, value is resolved from Application default.
          style: form
          schema:
            type: string
        - name: zip
          in: query
          description: Zip code for filtration.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: >-
            (Optional) Internal id that specifies in which currency to display
            prices. If none is supplied, value is resolved from Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryMethod'
                description: List of delivery methods. It is used in lists.
  /shopping/1.1/ListBasketInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List basket info types
      description: Lists the info type ids used in Basket.Info.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
  /shopping/1.1/ListBasketItemInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List basket item info types
      description: Lists the info type ids used in Basket.Items.Info.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
        - name: currencyId
          in: query
          description: (Optional) Ignored.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) 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/Warehouse'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductOnHand'
                description: >-
                  The ProductOnHandList is a list of ProductOnHands. It is used
                  in lists.
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal id of the basket used in the checkout.
          style: form
          schema:
            type: integer
            format: int32
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/PaymentGiftCardReserve:
    post:
      tags:
        - Payments
      summary: Reserve amount on gift card
      description: Reserve an amount on a gift card.
      parameters:
        - name: cardNo
          in: query
          description: The card number to make reservation on.
          style: form
          schema:
            type: string
        - name: cvc
          in: query
          description: The cvc of the card to make reservation on.
          style: form
          schema:
            type: string
        - name: basketId
          in: query
          description: Internal id of the basket to associate with this reservation.
          style: form
          schema:
            type: integer
            format: int32
        - name: ipAddress
          in: query
          description: The user's ipAddress.
          style: form
          schema:
            type: string
        - name: userAgent
          in: query
          description: The user agent of the user's browser.
          style: form
          schema:
            type: string
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          (Optional) General: 'parameter'='value' to override payment
          parameters. See developer documentation tab in admin payment settings
          for reference of what parameters can be set..
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NameValue'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/PaymentGiftCardRollback:
    post:
      tags:
        - Payments
      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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
  /shopping/1.1/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.
      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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      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'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/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.
      requestBody:
        description: The basket that the payment should be cancelled for.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/PaymentValidate:
    post:
      tags:
        - Payments
      summary: Validate a payment
      description: >-
        This method gets called from PSPs supporting validation callbacks. Norce
        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.
      requestBody:
        description: >-
          These values are provided by the PSP. If the initial
          PaymentParameters, to PurchaseEx or GetPaymentForm, contained
          ValidationUrl, Norce 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'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/PaymentValidate2:
    post:
      tags:
        - Payments
      summary: Validate a payment (v2)
      description: >-
        This method gets called from PSPs supporting validation callbacks. Norce
        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.
      parameters:
        - name: pricelistSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
      requestBody:
        description: >-
          These values are provided by the PSP. If the initial
          PaymentParameters, to PurchaseEx or GetPaymentForm, contained
          ValidationUrl, Norce 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'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage_v1_1'
  /shopping/1.1/ListPromotionRequirementTypes:
    get:
      tags:
        - Promotions
      summary: List promotion requirement types
      description: Lists the ids for all supported promotion requirement types.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
  /shopping/1.1/ListPromotionImageTypes:
    get:
      tags:
        - Promotions
      summary: List promotion image types
      description: Lists the ids for all supported promotion image types.
      parameters:
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
  /shopping/1.1/GetPromotion:
    get:
      tags:
        - Promotions
      summary: Get a promotion
      description: Gets a promotion.
      parameters:
        - name: id
          in: query
          description: (Optional) Internal id of promotion
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Promotion'
  /shopping/1.1/ListPromotions:
    get:
      tags:
        - Promotions
      summary: List active promotions
      description: Lists active promotions.
      parameters:
        - name: excludeRequirementSeed
          in: query
          description: >-
            (Optional) 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.
          style: form
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
                description: >-
                  List of Promotions. It is used in lists and in
                  basket.AppliedPromotions.
  /shopping/1.1/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.
      parameters:
        - name: basketId
          in: query
          description: The internal basket id.
          style: form
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            (Optional) Specifies in which language to display culture specific
            information. If none is supplied, value is resolved from
            Application.
          style: form
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Promotion'
                description: >-
                  List of Promotions. It is used in lists and in
                  basket.AppliedPromotions.
components:
  schemas:
    Account:
      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 Norce will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key for the Account.
          format: uuid
          nullable: true
        LoginName:
          maxLength: 255
          minLength: 0
          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
          nullable: true
        Name:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            This is the full name of the connected Customer's first and last
            name. MaxLength: 100
          nullable: true
        Roles:
          type: array
          items:
            type: integer
            format: int32
          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.
          nullable: true
        Authorizations:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          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.
          nullable: true
        IsActive:
          type: boolean
          description: >-
            Indicates if the Account is Active or not. Use UpdateAccountStatus
            to change this value.
          nullable: true
        NewPassword:
          type: string
          description: New password that can be set when creating or updating a customer.
          nullable: true
      additionalProperties: false
      description: >-
        An Account is related to a Customer. Each Account can belong to only one
        Application. When creating Customers you need to define a
        Customer.Account if you want the customer to be able to login. This is
        useful when the application supports My page with order history and
        such.
    Address:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Address. When creating a new Address leave
            this blank as Norce will generate the Id.
          format: int32
          nullable: true
        CareOf:
          maxLength: 100
          minLength: 0
          type: string
          description: 'The CareOf of the Address. MaxLength: 100'
          nullable: true
        Line1:
          maxLength: 255
          minLength: 0
          type: string
          description: 'The first address line of the Address. MaxLength: 255'
          nullable: true
        Line2:
          maxLength: 255
          minLength: 0
          type: string
          description: 'The second address line of the Address. MaxLength: 255'
          nullable: true
        Zip:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The zip code of the Address. MaxLength: 50'
          nullable: true
        City:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The City of the Address. MaxLength: 50'
          nullable: true
        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
          nullable: true
        Country:
          maxLength: 50
          minLength: 0
          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
          nullable: true
        Region:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The Region of the Address. MaxLength: 50'
          nullable: true
        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.
          nullable: true
        GlobalLocationNo:
          maxLength: 50
          minLength: 0
          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
          nullable: true
        ShippingPhoneNumber:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            Phone number for shipping address. Only applicable in shipping
            addresses. MaxLength: 50
          nullable: true
        Code:
          type: string
          description: >-
            An external Code of the Address identifying this addess to external
            address.
          nullable: true
      additionalProperties: false
      description: >-
        Information about an address. Addresses appear as InvoiceAddress or
        DeliveryAddresses or when ever an Address is needed
    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.
          nullable: true
        DiscountCode:
          type: string
          description: >-
            Will contain the discountCode if the promotion has a discountCode
            requirement.
          nullable: true
        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
      additionalProperties: false
      description: >-
        AppliedPromotionOnItem entity represents promotions applied on
        Basket.Items. Only Basket.Items with any promotions applied will have
        any.
    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
          nullable: true
        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
          nullable: true
        CurrencyCode:
          maxLength: 3
          minLength: 0
          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
          nullable: true
        Comment:
          maxLength: 250
          minLength: 0
          type: string
          description: >-
            Free text comment that will be propagated to the order. MaxLength:
            250
          nullable: true
        OrderReference:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            An OrderReference which will be tagged on the order. Can be set in
            CreateBasket or updated in UpdateBasket. MaxLength: 50
          nullable: true
        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.
          nullable: true
        ReferId:
          type: integer
          format: int32
          nullable: true
        ReferUrl:
          maxLength: 255
          minLength: 0
          type: string
          description: 'MaxLength: 255'
          nullable: true
        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.
          nullable: true
        Items:
          type: array
          items:
            $ref: '#/components/schemas/BasketItem'
          description: List of the items in the basket.
          nullable: true
        Info:
          type: array
          items:
            $ref: '#/components/schemas/ExtraInfo'
          description: >-
            List of information types with values that may be propagated on the
            order.
          nullable: true
        Summary:
          allOf:
            - $ref: '#/components/schemas/Summary'
          nullable: true
        AppliedPromotions:
          type: array
          items:
            $ref: '#/components/schemas/Promotion'
          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.
          nullable: true
        IpAddress:
          maxLength: 50
          minLength: 0
          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
          nullable: true
        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
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        InvoiceReference:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            An InvoiceReference which will be tagged on the order. Can be set in
            CreateBasket or updated in UpdateBasket. MaxLength: 50
          nullable: true
        PaymentMethodId:
          type: integer
          description: >-
            The PaymentMethodId from Norce. Can be set in CreateBasket or
            updated in UpdatePaymentMethod.
          format: int32
          nullable: true
        DeliveryMethodId:
          type: integer
          description: >-
            The DeliveryMethodId from Norce. 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
          nullable: true
        ExternalDiscountCode:
          type: string
          description: >-
            A comma separated list of used external discount codes. To clear the
            value set it to null or String.Empty and call UpdateBasket.
          nullable: true
      additionalProperties: false
      description: >-
        Represents a basket where you can add/remove/update items and
        information such as discountcodes and pass forward information types.
    BasketDeliveryMethodUpdate:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryMethod.
          format: int32
          nullable: true
        Price:
          type: number
          description: >-
            The Price of the DeliveryMethod, excluding VAT. Prices set here will
            be handled as manual prices. If no prices are set the Price will be
            taken from Norce and be treated as a normal price.
          format: decimal
          nullable: true
        PriceIncVat:
          type: number
          description: >-
            The Price of the DeliveryMethod, including VAT. Prices set here will
            be handled as manual prices. If this is set it will override Price.
          format: decimal
          nullable: true
        DropPoint:
          allOf:
            - $ref: '#/components/schemas/DropPoint'
          nullable: true
        Code:
          type: string
          description: >-
            An external Code for the DeliveryMethod. This should not be set if
            the Code defined in Norce is to be used.
          nullable: true
        Carrier:
          type: string
          description: The carrier providing the delivery method
          nullable: true
      additionalProperties: false
      description: "Used when updating the Checkout with a DeliveryMethod. See UpdateDeliveryMethod4 for more info.\r\nOnly intended to be used in API version 1.1."
    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
          nullable: true
        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
          nullable: true
        PartNo:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            The PartNo of this Item. Must be specified when adding items to a
            basket. MaxLength: 50
          nullable: true
        ManufacturerPartNo:
          maxLength: 50
          minLength: 0
          type: string
          description: 'Manufacturer part number. Populated by Norce. MaxLength: 50'
          nullable: true
        Name:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Name of the product. Populated by Norce. MaxLength: 255'
          nullable: true
        SubHeader:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Sub header of the product. Populated by Norce. MaxLength: 255'
          nullable: true
        ThumbnailImage:
          type: string
          nullable: true
          deprecated: true
        FlagIdSeed:
          type: string
          description: A comma separated list of internal flag ids.
          nullable: true
        Type:
          type: integer
          description: >-
            The internal type id of the underlying product. See ListSkuTypes
            under Products.
          format: int32
          nullable: true
        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
          nullable: true
        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
          nullable: true
        Cost:
          type: number
          description: CostPurchase from Norce 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
          nullable: true
        Quantity:
          type: number
          description: >-
            The Quantity of this Item. Must be specified when adding items to a
            basket.
          format: decimal
          nullable: true
        Uom:
          maxLength: 50
          minLength: 0
          type: string
          description: 'MaxLength: 50'
          nullable: true
        UomCount:
          type: number
          format: decimal
          nullable: true
        Comment:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Free text comment for this basket item. MaxLength: 255'
          nullable: true
        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
          nullable: true
        ReferId:
          type: integer
          description: Used to tag a BasketItem with some external id.
          format: int32
          nullable: true
        ReferUrl:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Used to tag a BasketItem with an incoming URL. MaxLength: 255'
          nullable: true
        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.
          nullable: true
        IsDiscountable:
          type: boolean
          nullable: true
        Info:
          type: array
          items:
            $ref: '#/components/schemas/ExtraInfo'
          description: >-
            List of information types and values associated with this particular
            basket item.
          nullable: true
        OptionalItems:
          type: array
          items:
            $ref: '#/components/schemas/BasketItem'
          description: List of basket items. It is used in Basket.Items.
          nullable: true
        OnHandValue:
          type: number
          format: decimal
          nullable: true
          deprecated: true
        IncomingValue:
          type: number
          format: decimal
          nullable: true
          deprecated: true
        NextDeliveryDate:
          type: string
          format: date-time
          nullable: true
          deprecated: true
        LeadtimeDayCount:
          type: integer
          format: int32
          nullable: true
          deprecated: true
        PromotionIdSeed:
          type: string
          description: Internal ids of promotions applied on this product.
          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: uuid
          nullable: true
        ManufacturerName:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            Name of the manufacturer of the product. Populated by Norce.
            MaxLength: 100
          nullable: true
        CategoryId:
          type: integer
          format: int32
          nullable: true
          deprecated: true
        OnHand:
          allOf:
            - $ref: '#/components/schemas/OnHand'
          nullable: true
        OnHandSupplier:
          allOf:
            - $ref: '#/components/schemas/OnHand'
          nullable: true
        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 Norce.
          format: int32
          nullable: true
        UniqueName:
          maxLength: 500
          minLength: 0
          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
          nullable: true
        StatusId:
          type: integer
          description: >-
            The status of the underlying product. Lookup references in
            ListStatuses.
          format: int32
          nullable: true
        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.
          nullable: true
        SubDescription:
          type: string
          description: Sub description from Norce Admin.
          nullable: true
        CategoryIdSeed:
          type: string
          description: >-
            A comma separated list of internal category ids ordered so the
            primary category is first.
          nullable: true
        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.
          nullable: true
        AppliedPromotions:
          type: array
          items:
            $ref: '#/components/schemas/AppliedPromotionOnItem'
          description: >-
            Applied promotions for this item, if any. It will contain some info
            about what promotion was applied and amount applied.
          nullable: true
        RequirementPromotionIdSeed:
          type: string
          description: >-
            A comma separated list of promotion internal ids for this item that
            are fulfilling the requirements.
          nullable: true
        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.
          nullable: true
        DescriptionHeader:
          maxLength: 255
          minLength: 0
          type: string
          description: >-
            DescriptionHeader for the product as specified in Norce Admin.
            MaxLength: 255
          nullable: true
        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.
          nullable: true
        PriceStandard:
          type: number
          description: The standard price, excluding VAT, if specified.
          format: decimal
          nullable: true
        EanCode:
          maxLength: 50
          minLength: 0
          type: string
          description: 'SKU EAN code. MaxLength: 50'
          nullable: true
        CostUnit:
          type: number
          description: CostUnit, excluding VAT, from Norce 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
          nullable: true
        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
          nullable: true
        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
        Weight:
          type: number
          description: The weight of a single item.
          format: decimal
          nullable: true
        Height:
          type: number
          description: The height of a single item.
          format: decimal
          nullable: true
        Width:
          type: number
          description: The width of a single item.
          format: decimal
          nullable: true
        Length:
          type: number
          description: The length of a single item.
          format: decimal
          nullable: true
        IsDropShipOnly:
          type: boolean
          description: Is item only sent through dropshipping.
          nullable: true
      additionalProperties: false
    BasketPagedList:
      type: object
      properties:
        ItemCount:
          type: integer
          description: Total number of baskets.
          format: int32
          nullable: true
        Items:
          type: array
          items:
            $ref: '#/components/schemas/Basket'
          description: List of baskets.
          nullable: true
      additionalProperties: false
    Checkout:
      type: object
      properties:
        Basket:
          allOf:
            - $ref: '#/components/schemas/Basket'
          nullable: true
        Buyer:
          allOf:
            - $ref: '#/components/schemas/Customer'
          nullable: true
        Payer:
          allOf:
            - $ref: '#/components/schemas/Customer'
          nullable: true
        ShipTo:
          allOf:
            - $ref: '#/components/schemas/Customer'
          nullable: true
        PaymentMethods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
          description: >-
            List of available payment methods for this checkout. May be changed
            depending on basket contents. Generated by Norce.
          nullable: true
        DeliveryMethods:
          type: array
          items:
            $ref: '#/components/schemas/DeliveryMethod'
          description: >-
            List of available delivery methods for this checkout. May be changed
            depending on basket contents. Generated by Norce.
          nullable: true
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
          description: >-
            List of payment attemtps made for this checkout. Each payment method
            selected will create it's own entry in this list.
          nullable: true
      additionalProperties: false
      description: >-
        Used to connect a specific basket with customer information, payment and
        delivery options.
    Company:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Norce Id for the Company. When creating a new Company
            leave this blank as Norce will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key of the Company.
          format: uuid
          nullable: true
        Code:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The external code. Usually the id in the erp system. MaxLength: 50'
          nullable: true
        Name:
          maxLength: 100
          minLength: 0
          type: string
          description: 'The Name of the Company. MaxLength: 100'
          nullable: true
        OrgNo:
          maxLength: 50
          minLength: 0
          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
          nullable: true
        Phone:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The Phone number of the Company. MaxLength: 50'
          nullable: true
        ReferId:
          type: integer
          description: Used to tag a Company with some external id.
          format: int32
          nullable: true
        ReferUrl:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Used to tag a Company with an incoming URL. MaxLength: 255'
          nullable: true
        DeliveryAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
          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.
          nullable: true
        InvoiceAddress:
          allOf:
            - $ref: '#/components/schemas/Address'
          nullable: true
        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.
          nullable: true
        Info:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          description: >-
            Contains a list of id-value pairs specific to the client for this
            company. Use ApplicationService.ListCompanyInfoTypes for id lookup.
          nullable: true
        PricelistIds:
          type: array
          items:
            type: integer
            format: int32
          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.
          nullable: true
        ParentId:
          type: integer
          description: >-
            Points to an optional parent company. Used when companies are
            connected some how.
          format: int32
          nullable: true
        DeliveryMethodIds:
          type: array
          items:
            type: integer
            format: int32
          description: >-
            Contains a list of delivery method ids valid for this company. It
            will be empty if no delivery methods exist.
          nullable: true
        PaymentMethodIds:
          type: array
          items:
            type: integer
            format: int32
          description: >-
            Contains a list of payment method ids valid for this company. It
            will be empty if no payment methods exist.
          nullable: true
        Email:
          maxLength: 255
          minLength: 0
          type: string
          description: 'The Email address of the Company. MaxLength: 255'
          nullable: true
        Flags:
          type: array
          items:
            $ref: '#/components/schemas/Flag'
          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.
          nullable: true
        VatNo:
          maxLength: 50
          minLength: 0
          type: string
          description: 'This is the VAT registration number for the company. MaxLength: 50'
          nullable: true
      additionalProperties: false
      description: Information about a Company.
    Customer:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Norce Id of the Customer. When creating a new Customer
            leave this blank as Norce will generate the Id.
          format: int32
          nullable: true
        Key:
          type: string
          description: The system wide unique Key of the Customer.
          format: uuid
          nullable: true
        Code:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The external code. Usually the id in the erp system. MaxLength: 50'
          nullable: true
        Email:
          maxLength: 255
          minLength: 0
          type: string
          description: 'The Email address of the Customer. MaxLength: 255'
          nullable: true
        Ssn:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            The social security number of the Customer. Used to identify the
            Customer for some payment methods. MaxLength: 50
          nullable: true
        FirstName:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The FirstName of the Customer. MaxLength: 50'
          nullable: true
        LastName:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The LastName of the Customer. MaxLength: 50'
          nullable: true
        Phone:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The PhoneNumber of the Customer. MaxLength: 50'
          nullable: true
        CellPhone:
          maxLength: 50
          minLength: 0
          type: string
          description: 'The CellPhone number of the Customer. MaxLength: 50'
          nullable: true
        ReferId:
          type: integer
          description: Used to tag a Customer with some external id.
          format: int32
          nullable: true
        ReferUrl:
          maxLength: 255
          minLength: 0
          type: string
          description: 'Used to tag a Customer with an incoming URL. MaxLength: 255'
          nullable: true
        Account:
          allOf:
            - $ref: '#/components/schemas/Account'
          nullable: true
        Companies:
          type: array
          items:
            $ref: '#/components/schemas/Company'
          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.
          nullable: true
        DeliveryAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
          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.
          nullable: true
        InvoiceAddress:
          allOf:
            - $ref: '#/components/schemas/Address'
          nullable: true
        Flags:
          type: array
          items:
            $ref: '#/components/schemas/Flag'
          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.
          nullable: true
        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.
          nullable: true
        Info:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          description: >-
            Contains a list of id-value pairs specific to the client for this
            customer. Use ApplicationService.ListCustomerInfoTypes for id
            lookup.
          nullable: true
        PricelistIds:
          type: array
          items:
            type: integer
            format: int32
          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.
          nullable: true
        CrmId:
          maxLength: 50
          minLength: 0
          type: string
          description: >-
            Used to save the Customers external id from a crm-system. MaxLength:
            50
          nullable: true
        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
      additionalProperties: false
      description: Information about a Customer.
    DayOfWeek:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      format: int32
      x-enumNames:
        - Sunday
        - Monday
        - Tuesday
        - Wednesday
        - Thursday
        - Friday
        - Saturday
    DeliveryData:
      type: object
      additionalProperties: false
    DeliveryMethod:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryMethod.
          format: int32
          nullable: true
        Name:
          type: string
          description: The Name of the DeliveryMethod.
          nullable: true
        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
          nullable: true
        TypeName:
          type: string
          description: The TypeName of the DeliveryMethodType.
          nullable: true
        Description:
          type: string
          description: The Description of the DeliveryMethod.
          nullable: true
        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 Norce and added and
            removed automatically.
          nullable: true
        Price:
          type: number
          description: The Price of the DeliveryMethod, 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
          nullable: true
        IsNotifiable:
          type: boolean
          description: Indicates if the DeliveryMethod has delivery notifications.
          nullable: true
        ImagePath:
          type: string
          nullable: true
          deprecated: true
        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.
          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: uuid
          nullable: true
        IsForCompanyOnly:
          type: boolean
          description: Indicates if the DeliveryMethod has is for Companies only.
          nullable: true
        IsForPersonOnly:
          type: boolean
          description: Indicates if the DeliveryMethod has is for Customers only.
          nullable: true
        Cost:
          type: number
          description: The Cost of the DeliveryMethod.
          format: decimal
          nullable: true
        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 Norce.
          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 Norce.
          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 Norce.
          format: int32
          nullable: true
        DropPoints:
          type: array
          items:
            $ref: '#/components/schemas/DropPoint'
          description: >-
            A list of DropPoint, if any, for the DeliveryMethod. These are not
            kept in Norce but fetched from integrated DeliveryMethod providers
            such as ShipAdvisor.
          nullable: true
        Code:
          type: string
          description: An external Code for the DeliveryMethod.
          nullable: true
        Carrier:
          type: string
          description: Optional information about carrier
          nullable: true
      additionalProperties: false
      description: >-
        Represent a DeliveryMethod in Norce. DeliveryMethods can be specified in
        Norce Admin or fetch from integrated Delivery providers such as
        ShipAdvisor. Application specific.
    DropPoint:
      type: object
      properties:
        Code:
          type: string
          description: >-
            Code is the external/integrated DeliveryMethod provider's code for
            the pickup store.
          nullable: true
        RoutingCode:
          type: string
          nullable: true
          deprecated: true
        Depot:
          type: string
          nullable: true
          deprecated: true
        Name1:
          type: string
          description: The name of the place to pickup the goods.
          nullable: true
        Name2:
          type: string
          description: The name part 2 of the place to pickup the goods.
          nullable: true
        Address1:
          type: string
          description: The Address of the place to pickup the goods.
          nullable: true
        Address2:
          type: string
          description: The Address part 2 of the place to pickup the goods.
          nullable: true
        PostalCode:
          type: string
          description: The ZipCode of the place to pickup the goods.
          nullable: true
        City:
          type: string
          description: The City of the place to pickup the goods.
          nullable: true
        CountryCode:
          type: string
          description: The CountryCode of the place to pickup the goods.
          nullable: true
        Contact:
          type: string
          description: The Contact of the place to pickup the goods.
          nullable: true
        Phone:
          type: string
          description: The Phone to the place to pickup the goods.
          nullable: true
        Fax:
          type: string
          nullable: true
          deprecated: true
        Email:
          type: string
          description: The Email to the place to pickup the goods.
          nullable: true
        Latitude:
          type: number
          description: >-
            The Latitude part of the location of the pickup. Can be used to
            calculate distances.
          format: double
          nullable: true
        Longitude:
          type: number
          description: >-
            The Longitude part of the location of the pickup. Can be used to
            calculate distances.
          format: double
          nullable: true
        Distance:
          type: number
          description: The Distance to the location of the pickup.
          format: double
          nullable: true
        OpeningHours:
          type: array
          items:
            $ref: '#/components/schemas/OpeningHours'
          description: A list of opening hours for the pickup.
          nullable: true
        IsSelected:
          type: boolean
          description: >-
            Indicates if this is the selected DropPoint or not. Gets set by
            Norce.
          nullable: true
      additionalProperties: false
      description: >-
        The DropPoint entity represents a pickup place for deliveries. Only used
        for external or integrated DeliveryMethod providers.
    ErrorMessage_v1_1:
      type: object
      properties:
        MessageId:
          type: integer
          description: Unique identifier for the message.
          format: int32
          nullable: true
        Message:
          type: string
          description: The error message.
          nullable: true
        Orchestration:
          type: string
          description: Orchestration
          nullable: true
        TimeStamp:
          type: string
          description: The time the error occurred.
          format: date-time
          nullable: true
        Record:
          type: string
          description: An xml representation of Messages.
          nullable: true
        Messages:
          type: array
          items:
            $ref: '#/components/schemas/StringStringKeyValuePair'
          description: A dictionary of additional messages or data related to the error.
          nullable: true
      additionalProperties: false
      description: Error message for version 1.1
    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
          nullable: true
        Value:
          type: string
          description: The Value of the Entity.
          nullable: true
        Code:
          type: string
          description: >-
            The Code of the type, if existing. Use this value when hard coding
            is required.
          nullable: true
      additionalProperties: false
      description: >-
        Information carrying entity to convey customer specific information from
        the basket to the order, PSP et.al.
    File:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the File.
          format: int32
          nullable: true
        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
          nullable: true
        Name:
          type: string
          description: The Name of the File.
          nullable: true
        Description:
          type: string
          description: The Description of the File.
          nullable: true
        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: uuid
          nullable: true
      additionalProperties: false
    Flag:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Flag.
          format: int32
          nullable: true
        Name:
          type: string
          description: The Name of the Flag.
          nullable: true
        Group:
          type: integer
          description: The GroupId of the Flag.
          format: int32
          nullable: true
        IsSelected:
          type: boolean
          description: Indicates if the Flag is selected or not.
          nullable: true
      additionalProperties: false
      description: >-
        Information about a flag set on Customer or Company. See CustomerFlags
        for information about available flags.
    IdNameDescription:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Entity.
          format: int32
          nullable: true
        Name:
          type: string
          description: The Name of the Entity.
          nullable: true
        Description:
          type: string
          description: The Description of the Entity.
          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: uuid
          nullable: true
        Code:
          type: string
          description: The Code of the Entity.
          nullable: true
      additionalProperties: false
    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
          nullable: true
        Value:
          type: string
          description: The Value of the Entity.
          nullable: true
        Code:
          type: string
          description: >-
            The Code of the Entity, if existing. Use this value when hard coding
            is required.
          nullable: true
      additionalProperties: false
      description: >-
        An Entity used where Id and Value is needed. Mostly used for lookup
        data.
    InsertItemsPostPurchaseData:
      type: object
      properties:
        ItemsToAdd:
          type: array
          items:
            $ref: '#/components/schemas/BasketItem'
          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.
          nullable: true
        PaymentParameters:
          type: array
          items:
            $ref: '#/components/schemas/NameValue'
          description: >-
            Roundtrip of the parameters received in the original payment
            response.
          nullable: true
      additionalProperties: false
      description: >-
        Used as input to InsertItemsPostPurchase since WCF cannot take more than
        one complex type at once as parameter.
    NameValue:
      type: object
      properties:
        Name:
          type: string
          description: The Name of the Entity.
          nullable: true
        Value:
          type: string
          description: The Value of the Entity.
          nullable: true
      additionalProperties: false
      description: >-
        An Entity used where Name and Value is needed. Mostly used for lookup
        data.
    OnHand:
      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
          nullable: true
        IncomingValue:
          type: number
          description: The incoming quantity on the next delivery.
          format: decimal
          nullable: true
        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.
          nullable: true
        IsReturnable:
          type: boolean
          description: Indicate if the product is returnable in a store.
          nullable: true
        Info:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          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.
          nullable: true
      additionalProperties: false
      description: >-
        Information about OnHand for a given SKU. There are generally three
        different types of OnHand in Norce. One for the Web, one for the chosen
        supplier and one for any specified Store.
    OpeningHours:
      type: object
      properties:
        Day:
          allOf:
            - $ref: '#/components/schemas/DayOfWeek'
          nullable: true
        Open:
          type: string
          nullable: true
        Close:
          type: string
          nullable: true
      additionalProperties: false
    Payment:
      type: object
      properties:
        PaymentCode:
          type: integer
          description: System generated id for this particular payment. Client specific.
          format: int32
          nullable: true
        Amount:
          type: number
          description: Payment amount, including VAT.
          format: decimal
          nullable: true
        CardNo:
          type: string
          description: >-
            Card number if payment has been made by credit card or gift card.
            Populated by PSP.
          nullable: true
        PaymentMethodId:
          type: integer
          description: >-
            Internal id of the payment method for this payment. Application
            specific.
          format: int32
          nullable: true
        PaymentServiceId:
          type: integer
          description: >-
            Internal id of the payment service for this payment. System
            specific. Indicates the PSP.
          format: int32
          nullable: true
      additionalProperties: false
      description: Represents a single payment attempt for this basket.
    PaymentMethod:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id for this payment method.
          format: int32
          nullable: true
        Name:
          type: string
          description: Descriptive name of the payment method.
          nullable: true
        TypeId:
          type: integer
          description: Internal type id for this payment method.
          format: int32
          nullable: true
        TypeName:
          type: string
          description: Clear text name of the type of this payment method.
          nullable: true
        Description:
          type: string
          description: Free text description of the payment method.
          nullable: true
        PartNo:
          type: string
          description: Part number for this payment method, if configured.
          nullable: true
        Price:
          type: number
          description: Price, excluding VAT, to use this payment method, if configured.
          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
          nullable: true
        ImagePath:
          type: string
          nullable: true
          deprecated: true
        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.
          nullable: true
        Service:
          allOf:
            - $ref: '#/components/schemas/PaymentService'
          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: uuid
          nullable: true
        IsForCompanyOnly:
          type: boolean
          description: >-
            Indicates if this payment method is only allowed for companies.
            Cannot be combined with IsForPersonOnly.
          nullable: true
        IsForPersonOnly:
          type: boolean
          description: >-
            Indicates if this payment method is only allowed for persons. Cannot
            be combined with IsForCompanyOnly.
          nullable: true
      additionalProperties: false
      description: >-
        Represents a specific payment method in Norce. A PSP may be represented
        with multiple payment methods. Application specific.
    PaymentResponse:
      type: object
      properties:
        Status:
          type: string
          description: >-
            String response. OK if successful, otherwise may have different
            values depending on PSP.
          nullable: true
        StatusDescription:
          type: string
          description: Descriptive text for the status.
          nullable: true
        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.
          nullable: true
        PaymentCode:
          type: string
          description: Internal identifier of this specific payment attempt.
          nullable: true
        PaymentReference:
          type: string
          description: >-
            External identifier of this specific payment attempt, usually from
            the PSP.
          nullable: true
        HostedPaymentPage:
          type: string
          description: >-
            Used when a payment should be finalized on a different platform,
            e.g. sending a link by SMS to customer.
          nullable: true
        RedirectUrl:
          type: string
          description: Configurated redirection URL after successful payment.
          nullable: true
        RedirectParameters:
          type: array
          items:
            $ref: '#/components/schemas/NameValue'
          description: PSP specific data returned for the payment. See PSP documentation.
          nullable: true
        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
      additionalProperties: false
      description: >-
        Response from payment service calls such as GetPaymentForm, Purchase,
        PurchaseEx.
    PaymentService:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id of this payment service.
          format: int32
          nullable: true
        Name:
          type: string
          description: Descriptive name of this payment service.
          nullable: true
        Description:
          type: string
          nullable: true
        ImagePath:
          type: string
          nullable: true
          deprecated: 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: uuid
          nullable: true
      additionalProperties: false
      description: >-
        Represents a way of payment. A client may have several payment methods
        using the same service. A PSP may offer several payment services.
    ProductOnHand:
      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
          nullable: true
        Warehouses:
          type: array
          items:
            $ref: '#/components/schemas/Warehouse'
          description: A list of warehouses with OnHand for the product.
          nullable: true
        Variants:
          type: array
          items:
            $ref: '#/components/schemas/ProductOnHand'
          description: >-
            An optional list of ProductOnHand for all variants if fetched by
            productId. Null when fetched for a variant or a basket.
          nullable: true
      additionalProperties: false
      description: An entity that represents the OnHand for a product/variant.
    Promotion:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the Promotion.
          format: int32
          nullable: true
        Name:
          maxLength: 255
          minLength: 0
          type: string
          description: 'The Name of the Promotion. MaxLength: 255'
          nullable: true
        Header:
          maxLength: 255
          minLength: 0
          type: string
          description: 'SubHeader from Norce. MaxLength: 255'
          nullable: true
        ShortDescription:
          maxLength: 255
          minLength: 0
          type: string
          description: 'DescriptionHeader from Norce. MaxLength: 255'
          nullable: true
        Description1:
          type: string
          description: Description from Norce.
          nullable: true
        Description2:
          type: string
          description: SubDescription from Norce.
          nullable: true
        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: uuid
          nullable: true
        RequirementSeed:
          type: string
          description: A comma separated list of fulfilled requirements for this promotion.
          nullable: true
        DiscountCode:
          type: string
          description: >-
            Will contain the discountCode if the promotion has a discountCode
            requirement.
          nullable: true
        IsExcludedFromPriceCalculation:
          type: boolean
          description: >-
            A value of true means the promotion was applied last an not included
            in any price calculations.
          nullable: true
        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.
          nullable: true
        Images:
          type: array
          items:
            $ref: '#/components/schemas/File'
          description: >-
            A list of additional images files uploaded for the promotion. Images
            can be differentiated by using different types. See
            ListPromotionImageTypes for available types.
          nullable: true
        ProductFilters:
          type: array
          items:
            $ref: '#/components/schemas/PromotionProductFilter'
          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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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
          nullable: true
        ExternalCode:
          maxLength: 255
          minLength: 0
          type: string
          description: >-
            The external code of the Promotion. This is NOT the discount code.
            MaxLength: 255
          nullable: true
      additionalProperties: false
      description: >-
        The Promotion entity represents a promotion in Norce. It contains some
        meta data from the Promotion as well as applied total amount when
        applicable.
    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.
          nullable: true
        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.
          nullable: true
        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
      additionalProperties: false
      description: >-
        PromotionProductFilter shows what any product in the requirement or
        effect is filtered by. Values should be AND:ed if used to filter
        products.
    PurchaseEx2Data:
      type: object
      properties:
        Checkout:
          allOf:
            - $ref: '#/components/schemas/Checkout'
          nullable: true
        PaymentParameters:
          type: array
          items:
            $ref: '#/components/schemas/NameValue'
          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.
          nullable: true
      additionalProperties: false
      description: >-
        Used as input to PurchaseEx2 since WCF cannot take more than one complex
        type at once as parameter.
    SavedBasket:
      type: object
      properties:
        Id:
          type: integer
          description: Internal id of the saved basket.
          format: int32
          nullable: true
        Name:
          type: string
          description: Name given to this specific saved basket.
          nullable: true
        Created:
          type: string
          description: Creation date.
          format: date-time
          nullable: true
        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
      additionalProperties: false
    StringStringKeyValuePair:
      type: object
      properties:
        Key:
          type: string
          nullable: true
        Value:
          type: string
          nullable: true
      additionalProperties: false
    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.
          nullable: true
        TemplateBasket:
          allOf:
            - $ref: '#/components/schemas/Basket'
          nullable: true
        Type:
          allOf:
            - $ref: '#/components/schemas/SubscriptionType'
          nullable: true
        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
          nullable: true
        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
          items:
            $ref: '#/components/schemas/SubscriptionSchedule'
          description: >-
            The schedules for this Subscription. Any Subscription must have at
            least one schedule when activated.
          nullable: true
        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
      additionalProperties: false
      description: >-
        A Subscription is created by a user. A subscription is backed by a
        quotation acting as a template for creating orders at scheduled
        intervals.
    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.
          nullable: true
        Frequency:
          allOf:
            - $ref: '#/components/schemas/IdValue'
          nullable: true
        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
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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.
          nullable: true
        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
          nullable: true
        MonthlyInterval:
          allOf:
            - $ref: '#/components/schemas/IdValue'
          nullable: true
        MonthlyIntervalValue:
          allOf:
            - $ref: '#/components/schemas/IdValue'
          nullable: true
        TimeOfDay:
          allOf:
            - $ref: '#/components/schemas/TimeSpan'
          nullable: true
      additionalProperties: false
      description: >-
        A specific schedule for a Subscription. Schedules are used to determine
        when orders should be created from the template basket. The StartDate of
        the Subscription is used as start for the Schedule.
    SubscriptionScheduleData:
      type: object
      properties:
        Frequencies:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          description: >-
            A list of frequencies. Defines how often should a Subscription
            should produce an order. See SubscriptionSchedule for usage.
          nullable: true
        MonthlyIntervals:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          description: >-
            A list of intervals used together with MonthlyIntervalValues. See
            SubscriptionSchedule for usage.
          nullable: true
        MonthlyIntervalValues:
          type: array
          items:
            $ref: '#/components/schemas/IdValue'
          description: >-
            A list of interval values used together with MonthlyIntervals. See
            SubscriptionSchedule for usage.
          nullable: true
      additionalProperties: false
      description: >-
        General data for scheduling Subscriptions. Data can be used to populate
        drop lists with values needed when creating SubscriptionSchedules.
    SubscriptionType:
      type: object
      properties:
        Id:
          type: integer
          description: A internal id for this type.
          format: int32
          nullable: true
        Code:
          type: string
          description: >-
            An external code use to identify this type. Used when creating
            Subscription.
          nullable: true
        Name:
          type: string
          description: The name of the type.
          nullable: true
        Description:
          type: string
          description: A description of the type.
          nullable: true
        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
      additionalProperties: false
      description: >-
        A SubscriptionType specified for the application. Used by Subscription.
        SubscriptionTypes are created in Norce Admin.
    Summary:
      type: object
      properties:
        Items:
          allOf:
            - $ref: '#/components/schemas/SummaryItem'
          nullable: true
        Freigt:
          allOf:
            - $ref: '#/components/schemas/SummaryItem'
          nullable: true
        Fees:
          allOf:
            - $ref: '#/components/schemas/SummaryItem'
          nullable: true
        Total:
          allOf:
            - $ref: '#/components/schemas/SummaryItem'
          nullable: true
      additionalProperties: false
      description: >-
        The Summary is a grouping of BasketItem totals. This can be used to
        display summaries for a Basket.
    SummaryItem:
      type: object
      properties:
        Amount:
          type: number
          description: Total Amount exclusive VAT. PriceDisplay * Quantity.
          format: decimal
          nullable: true
        Vat:
          type: number
          description: The total VAT amount.
          format: decimal
          nullable: true
        AmountIncVat:
          type: number
          description: Total Amount including VAT. PriceDisplayIncVat * Quantity.
          format: decimal
          nullable: true
      additionalProperties: false
      description: The SummaryItem is the summary used for each item in Summary.
    TimeSpan:
      type: object
      properties:
        Ticks:
          type: integer
          format: int64
          nullable: true
        Days:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Hours:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Milliseconds:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Microseconds:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Nanoseconds:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Minutes:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        Seconds:
          type: integer
          format: int32
          nullable: true
          readOnly: true
        TotalDays:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalHours:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalMilliseconds:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalMicroseconds:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalNanoseconds:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalMinutes:
          type: number
          format: double
          nullable: true
          readOnly: true
        TotalSeconds:
          type: number
          format: double
          nullable: true
          readOnly: true
      additionalProperties: false
    Warehouse:
      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:
          allOf:
            - $ref: '#/components/schemas/OnHand'
          nullable: true
      additionalProperties: false
      description: >-
        Represents a Warehouse. Used to get detailed OnHand for a
        product/variant or basket.
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        JWT Authorization header using the Bearer scheme. Example:
        "Authorization: Bearer {token}"
      name: Authorization
      in: header
    ApplicationId:
      type: apiKey
      description: ApplicationId header required for all requests.
      name: ApplicationId
      in: header
