openapi: 3.0.1
info:
  title: Documentation OrderService
  description: >-
    The Orders namespace has Entities and Operations used for orders and other
    related Entities such as DeliveryNotes and Invoices. This namespace has
    nothing to do with the Checkout process where orders are created, but is
    more related to order history shown on pages like MyPage and such. The Order
    history in Storm is mostly a snapshot view of the orders as they looked when
    they got created in Storm, unless process integrations exists where
    DeliveryNotes and Invoices are passed to Storm.
  version: '1.1'
servers:
  - url: https://demo.storm.io/api/1.1
paths:
  /OrderService.svc/rest/InsertDeliveryNote:
    post:
      tags:
        - DeliveryNotes
      summary: >-
        Insert a delivery note [Obsolete("Not used. Delivery notes are inserted
        through integrations.")]
      description: Not implemented.
      operationId: InsertDeliveryNote
      requestBody:
        description: The DeliveryNote to insert.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryNote'
          application/xml:
            schema:
              $ref: '#/components/schemas/DeliveryNote'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeliveryNote'
            application/xml:
              schema:
                $ref: '#/components/schemas/DeliveryNote'
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: deliveryNote
  /OrderService.svc/rest/UpdateDeliveryNotePackage:
    post:
      tags:
        - DeliveryNotes
      summary: Update a delivery note package status
      description: Updates a DeliveryNotePackage.
      operationId: UpdateDeliveryNotePackage
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      requestBody:
        description: >-
          The DeliveryNotePackage to update. The DeliveryNotePackage must have
          and Id and Status defined or an exception will be raised.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryNotePackage'
          application/xml:
            schema:
              $ref: '#/components/schemas/DeliveryNotePackage'
        required: true
      responses:
        '200':
          description: Success
          content: {}
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: deliveryNotePackage
  /OrderService.svc/rest/ListOrderInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List order info types
      description: >-
        Lists the info type ids used in the info property of an order. Same
        fields are used in DeliveryNote and Invoice.
      operationId: ListOrderInfoTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrderItemInfoTypes:
    get:
      tags:
        - InfoTypes
      summary: List order item info types
      description: Lists the info type ids used in info property of order items.
      operationId: ListOrderItemInfoTypes
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdValue'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/GetInvoice:
    get:
      tags:
        - Invoices
      summary: Get an invoice
      description: >-
        Returns an Invoice by internal id. Returns null if the Invoice does not
        exist.
      operationId: GetInvoice
      parameters:
        - name: id
          in: query
          description: The internal id of the invoice.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
            application/xml:
              schema:
                $ref: '#/components/schemas/Invoice'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/GetInvoiceByNo:
    get:
      tags:
        - Invoices
      summary: Get invoice by invoice number
      description: >-
        Returns an Invoice by external invoice number. Returns null if the
        Invoice does not exist.
      operationId: GetInvoiceByNo
      parameters:
        - name: invoiceNo
          in: query
          description: The external invoice number of the invoice.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
            application/xml:
              schema:
                $ref: '#/components/schemas/Invoice'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/InsertInvoice:
    post:
      tags:
        - Invoices
      summary: >-
        Insert an invoice [Obsolete("Not used. Invoices are inserted through
        integrations.")]
      description: Not implemented.
      operationId: InsertInvoice
      requestBody:
        description: The Invoice to insert.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Invoice'
          application/xml:
            schema:
              $ref: '#/components/schemas/Invoice'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
            application/xml:
              schema:
                $ref: '#/components/schemas/Invoice'
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: invoice
  /OrderService.svc/rest/ListInvoices:
    get:
      tags:
        - Invoices
      summary: List invoices
      description: >-
        Returns a paged invoice list for a specified orderId, customer or
        company.
      operationId: ListInvoices
      parameters:
        - name: orderId
          in: query
          description: >-
            The internal order id for which invoices are fetched. Either this or
            a customerId, companyId must be specified.
          required: true
          schema:
            type: string
        - name: companyId
          in: query
          description: >-
            The internal company id for which invoices are fetched. Either this
            or a customerId, orderId must be specified.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: >-
            The internal customer id for which invoices are fetched. Either this
            or a companyId, orderId must be specified.
          required: true
          schema:
            type: string
        - name: fromDate
          in: query
          description: >-
            A from date used to filter the invoices. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          schema:
            type: string
        - name: toDate
          in: query
          description: >-
            A to date used to filter the invoices. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          schema:
            type: string
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of items to display per page. Mandatory if using pageNo.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicePagedList'
            application/xml:
              schema:
                $ref: '#/components/schemas/InvoicePagedList'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListInvoicesByBasket:
    get:
      tags:
        - Invoices
      summary: List invoices by basket
      description: Returns a paged invoice list for specified basket internal id
      operationId: ListInvoicesByBasket
      parameters:
        - name: basketId
          in: query
          description: The basket internal id for which invoices are fetched.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicePagedList'
            application/xml:
              schema:
                $ref: '#/components/schemas/InvoicePagedList'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/GetOrderByBasket:
    get:
      tags:
        - Orders
      summary: Get order by basket
      description: >-
        Returns an Order by basket internal id. Returns null if the order does
        not exist.
      operationId: GetOrderByBasket
      parameters:
        - name: basketId
          in: query
          description: The basket internal id.
          required: true
          schema:
            type: integer
            format: int32
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
            application/xml:
              schema:
                $ref: '#/components/schemas/Order'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/GetOrderByNo:
    get:
      tags:
        - Orders
      summary: Get order by external order number
      description: >-
        Returns an Order by external order number. Return null if the Order does
        not exist.
      operationId: GetOrderByNo
      parameters:
        - name: orderno
          in: query
          description: The external order number.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
            application/xml:
              schema:
                $ref: '#/components/schemas/Order'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrders:
    get:
      tags:
        - Orders
      summary: List orders [Obsolete("Use ListOrders2")]
      description: >-
        See ListOrders2 for details. ListOrders calls listOrders2 with an empty
        divisionCode (null). Either of companyId, customerId, fromDate or toDate
        must be specified.
      operationId: ListOrders
      parameters:
        - name: companyId
          in: query
          description: The internal company id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: The internal customer id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: statusSeed
          in: query
          description: A comma separated string of status ids to filter the orders.
          schema:
            type: string
        - name: source
          in: query
          description: >-
            The source of the order as set when created. Used to filter the
            orders. Usually hardcoded in the web application to WEB.
          schema:
            type: string
        - name: fromDate
          in: query
          description: >-
            A from date used to filter orders. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: toDate
          in: query
          description: >-
            A to date used to filter orders. Format: yyyy-mm-ddThh:mm:ss.nnn[z],
            example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of orders to display per page.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPagedList'
            application/xml:
              schema:
                $ref: '#/components/schemas/OrderPagedList'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrders2:
    get:
      tags:
        - Orders
      summary: List orders (v2) [Obsolete("Use ListOrders3")]
      description: >-
        Returns a paged order list. Either of companyId, customerId,
        divisionCode, fromDate or toDate must be specified.
      operationId: ListOrders2
      parameters:
        - name: companyId
          in: query
          description: The internal company id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: The internal customer id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: statusSeed
          in: query
          description: A comma separated string of status ids to filter the orders.
          schema:
            type: string
        - name: source
          in: query
          description: >-
            The source of the order as set when created. Used to filter the
            orders. Usually hardcoded in the web application to WEB.
          schema:
            type: string
        - name: fromDate
          in: query
          description: >-
            A from date used to filter orders. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: toDate
          in: query
          description: >-
            A to date used to filter orders. Format: yyyy-mm-ddThh:mm:ss.nnn[z],
            example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of orders to display per page.
          schema:
            type: string
        - name: divisionCode
          in: query
          description: The external division code for which orders are fetched.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPagedList'
            application/xml:
              schema:
                $ref: '#/components/schemas/OrderPagedList'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrders3:
    get:
      tags:
        - Orders
      summary: List orders (v3)
      description: >-
        Returns a paged order list. Note that this method returns another entity
        that ListOrders2. This is a more light weight version. Either of
        companyId, customerId, divisionCode, fromDate or toDate must be
        specified.
      operationId: ListOrders3
      parameters:
        - name: companyId
          in: query
          description: The internal company id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: customerId
          in: query
          description: The internal customer id for which orders are fetched.
          required: true
          schema:
            type: string
        - name: statusSeed
          in: query
          description: A comma separated string of status ids to filter the orders.
          schema:
            type: string
        - name: source
          in: query
          description: >-
            The source of the order as set when created. Used to filter the
            orders. Usually hardcoded in the web application to WEB.
          schema:
            type: string
        - name: fromDate
          in: query
          description: >-
            A from date used to filter orders. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: toDate
          in: query
          description: >-
            A to date used to filter orders. Format: yyyy-mm-ddThh:mm:ss.nnn[z],
            example 2024-08-01T12:59:59.000Z
          required: true
          schema:
            type: string
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of orders to display per page.
          schema:
            type: string
        - name: divisionCode
          in: query
          description: The external division code for which orders are fetched.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPagedList2'
            application/xml:
              schema:
                $ref: '#/components/schemas/OrderPagedList2'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrdersByEmail:
    get:
      tags:
        - Orders
      summary: List order by e-mail address
      description: >-
        Returns a paged order list. Note that this method returns another entity
        that ListOrders2. This is a more light weight version. EmailSeed must be
        specified.
      operationId: ListOrdersByEmail
      parameters:
        - name: emailSeed
          in: query
          description: A comma separated list of emails for which orders are fetched.
          required: true
          schema:
            type: string
        - name: statusSeed
          in: query
          description: A comma separated string of status ids to filter the orders.
          schema:
            type: string
        - name: source
          in: query
          description: >-
            The source of the order as set when created. Used to filter the
            orders. Usually hardcoded in the web application to WEB.
          schema:
            type: string
        - name: fromDate
          in: query
          description: >-
            A from date used to filter orders. Format:
            yyyy-mm-ddThh:mm:ss.nnn[z], example 2024-08-01T12:59:59.000Z
          schema:
            type: string
        - name: toDate
          in: query
          description: >-
            A to date used to filter orders. Format: yyyy-mm-ddThh:mm:ss.nnn[z],
            example 2024-08-01T12:59:59.000Z
          schema:
            type: string
        - name: pageNo
          in: query
          description: >-
            Page numbers start with 1. Default is 1. If you specify a pageNo
            outside the range of items, an empty list will be returned. PageSize
            is mandatory for pageNo to work.
          schema:
            type: string
        - name: pageSize
          in: query
          description: Number of orders to display per page.
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPagedList2'
            application/xml:
              schema:
                $ref: '#/components/schemas/OrderPagedList2'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/ListOrderStatuses:
    get:
      tags:
        - Orders
      summary: List order statuses
      description: Lists the available order statuses.
      operationId: ListOrderStatuses
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdNameDescription'
        '500':
          description: Internal Server Error
          content: {}
  /OrderService.svc/rest/SearchOrder:
    get:
      tags:
        - Orders
      summary: Search for order
      description: Search for Orders by TrackingId, DeliveryNote or OrderNo.
      operationId: SearchOrder
      parameters:
        - name: search
          in: query
          description: Tracking id, delivery note number or external order number.
          required: true
          schema:
            type: string
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
            application/xml:
              schema:
                $ref: '#/components/schemas/Order'
        '500':
          description: Internal Server Error
          content: {}
components:
  schemas:
    Address:
      type: object
      properties:
        Line1:
          type: string
          description: 'The first address line of the Address. MaxLength: 255.'
        Line2:
          type: string
          description: 'The second address line of the Address. MaxLength: 255.'
        CareOf:
          type: string
          description: 'The care of part of the Address. MaxLength: 100.'
        City:
          type: string
          description: 'The city of the Address. MaxLength: 50.'
        ZipCode:
          type: string
          description: 'The zipcode of the Address. MaxLength: 50.'
        Country:
          type: string
          description: 'The name of the country of the Address. MaxLength: 50.'
        CountryCode:
          type: string
          description: 'The code of the country of the Address. MaxLength: 3.'
        Region:
          type: string
          description: 'The region of the Address. MaxLength: 50.'
        ShippingPhoneNumber:
          type: string
          description: >-
            Phone number for shipping address. Only applicable in shipping
            addresses. MaxLength: 50.
        GlobalLocationNo:
          type: string
          description: >-
            The Global Location Number (GLN) is part of the GS1 systems of
            standards. It is a simple tool used to identify a location and can
            identify locations uniquely where required. This is only used for
            invoice addresses. MaxLength: 50.
      format: Address
    Company:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of Company.
          format: int32
          nullable: true
        'No':
          type: string
          description: >-
            The external code of Company. Usually from an ERP system. MaxLength:
            50.
        Name:
          type: string
          description: 'The name of Company. MaxLength: 100.'
        OrgNo:
          type: string
          description: 'The organizational number of Company. MaxLength: 50.'
      format: Company
    Customer:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of Customer.
          format: int32
          nullable: true
        'No':
          type: string
          description: >-
            The external code of Customer. Usually from an ERP system.
            MaxLength: 50.
        FirstName:
          type: string
          description: 'The first name of Customer. MaxLength: 50.'
        LastName:
          type: string
          description: 'The last name of Customer. MaxLength: 50.'
        SSN:
          type: string
          description: 'The social security number of Customer. MaxLength: 50.'
        Email:
          type: string
          description: 'The e-mail of Customer. MaxLength: 255.'
        Phone:
          type: string
          description: 'The phone number of Customer. MaxLength: 50.'
        CellPhone:
          type: string
          description: 'The cell phone number of Customer. MaxLength: 50.'
      format: Customer
    CustomerData:
      type: object
      properties:
        Company:
          $ref: '#/components/schemas/Company'
        Customer:
          $ref: '#/components/schemas/Customer'
        Address:
          $ref: '#/components/schemas/Address'
        DropPointCode:
          type: string
          description: >-
            The external drop point code, if any. Only set for drop points.
            MaxLength: 50.
      format: CustomerData
    DeliveryNote:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the DeliveryNote.
          format: int32
          nullable: true
        NoteNo:
          type: string
          description: >-
            The external number of the DeliveryNote. Usually a number from the
            ERP system. MaxLength: 50.
        DeliveryDate:
          type: string
          description: The delivery date of the DeliveryNote.
          format: date-time
        NoteText:
          type: string
          description: 'Free text field of the DeliveryNote. MaxLength: 255.'
        DeliveryMode:
          type: string
          description: 'The delivery mode of the items for the DeliveryNote. MaxLength: 50.'
        OrderNo:
          type: string
          description: >-
            The external order number of the Order related to the DeliveryNote.
            This usually comes from an ERP. MaxLength: 50.
        OrderDate:
          type: string
          description: The order date of the Order related to the DeliveryNote.
          format: date-time
        Culture:
          type: string
          description: >-
            The culture code of the DeliveryNote. This is the culture code used
            when asking for DeliveryNotes, not the original. MaxLength: 16.
        YourReference:
          type: string
          description: 'Not used. MaxLength: 255.'
        SellTo:
          $ref: '#/components/schemas/CustomerData'
        BillTo:
          $ref: '#/components/schemas/CustomerData'
        ShipTo:
          $ref: '#/components/schemas/CustomerData'
        SMSNotificationNumber:
          type: string
          description: 'Not used. MaxLength: 50.'
        Items:
          type: array
          description: The items delivered.
          items:
            $ref: '#/components/schemas/DeliveryNoteItem'
        Packages:
          type: array
          description: Package information for the DeliveryNote.
          items:
            $ref: '#/components/schemas/DeliveryNotePackage'
        DivisionCode:
          type: string
          description: 'The external store code for the delivering Store. MaxLength: 50.'
        Status:
          type: string
          description: >-
            The status text of the DeliveryNote. See ListOrderStatuses for
            information about available statuses. MaxLength: 50.
        Info:
          type: array
          description: >-
            A list of infos used to keep application specific data on the
            deliveryNote.
          items:
            $ref: '#/components/schemas/Info'
      format: DeliveryNote
    DeliveryNoteItem:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryNoteItem.
          format: int32
          nullable: true
        RowNumber:
          type: number
          description: The row number of the DeliveryNoteItem.
          format: decimal
        ItemNo:
          type: string
          description: 'The PartNo of the DeliveryNoteItem. MaxLength: 50.'
        ItemDescription:
          type: string
          description: 'The name of the DeliveryNoteItem. MaxLength: 255.'
        QtyOrdered:
          type: number
          description: The 1uantity ordered. This is the total quantity ordered.
          format: decimal
        QtyDelivered:
          type: number
          description: >-
            The quantity delivered. This is the quantity delivered on this
            DeliverNoteItem.
          format: decimal
        QtyBackordered:
          type: number
          description: >-
            The quantity not delivered. This is the quantity still missing on
            this DeliverNoteItem.
          format: decimal
        Comment:
          type: string
          description: 'Free text comment on the DeliverNoteItem. MaxLength: 255.'
        TrackingCodes:
          type: array
          description: >-
            The external tracking code of the DeliveryNoteItem. Obsolete! - Not
            used. Tracking info is in DeliveryNotePackage.
          items:
            $ref: '#/components/schemas/Tracking'
        Status:
          type: string
          description: >-
            The status text of the DeliveryNoteItem. See ListOrderStatuses for
            information about available statuses. MaxLength: 50.
      format: DeliveryNoteItem
    DeliveryNotePackage:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the DeliveryNotePackage.
          format: int32
          nullable: true
        ParcelNumber:
          type: string
          description: >-
            The external parcel number of the DeliveryNotePackage from the
            Speditor. Used to track parcels online. MaxLength: 50.
        Status:
          type: string
          description: >-
            The status text of the DeliveryNotePackage. See ListOrderStatuses
            for information about available statuses. MaxLength: 50.
      format: DeliveryNotePackage
    Info:
      type: object
      properties:
        Code:
          type: string
          description: 'The external code of the Info. MaxLength: 50.'
        Name:
          type: string
          description: 'The name of the Info. MaxLength: 50.'
        Description:
          type: string
          description: 'The description of the Info. MaxLength: 500.'
        Value:
          type: string
          description: 'The value of the Info. MaxLength: max.'
      format: Info
    Invoice:
      type: object
      properties:
        Id:
          type: string
          description: The internal id of the Invoice.
        InvoiceNo:
          type: string
          description: >-
            The external invoice number of the Invoice. Usually a number from
            the ERP system. MaxLength: 50.
        InvoiceDate:
          type: string
          description: The invoice date of the Invoice.
          format: date-time
        InvoiceDueDate:
          type: string
          description: The invoice due date of the Invoice.
          format: date-time
          nullable: true
        InvoiceText:
          type: string
          description: 'InvoiceText is taken from InvoiceMark in Storm. MaxLength: 255.'
        OrderId:
          type: string
          description: The internal id of the Order related to the Invoice.
        OrderNo:
          type: string
          description: >-
            The external order number of the Order related to the Invoice. The
            order number usually comes from an ERP. MaxLength: 50.
        OrderDate:
          type: string
          description: The order date of the Order related to the Invoice.
          format: date-time
        Source:
          type: string
          description: >-
            The Source of the Invoice. 'WEB' is used for all invoices created
            though Storm. MaxLength: 255.
        DeliveryDate:
          type: string
          description: The delivery date of the DeliveryNote related to the Invoice.
          format: date-time
          nullable: true
        DeliveryMethod:
          type: string
          description: 'The delivery method of the Order. MaxLength: 50.'
        PaymentMethod:
          type: string
          description: 'The payment method of the Order. MaxLength: 50.'
        BillTo:
          $ref: '#/components/schemas/CustomerData'
        OrderFreight:
          type: number
          description: The total amount for freight on the Invoice.
          format: decimal
        InvoiceCharge:
          type: number
          description: The total amount for invoice charge on the Invoice.
          format: decimal
        InvoiceAmountExVat:
          type: number
          description: The total amount invoiced ex VAT.
          format: decimal
        VatAmount:
          type: number
          description: The total VAT amount invoiced.
          format: decimal
        Items:
          type: array
          description: The invoiced items.
          items:
            $ref: '#/components/schemas/InvoiceItem'
        Info:
          type: array
          description: >-
            A list of infos used to keep application specific data on the
            invoice. Not used for credit invoices.
          items:
            $ref: '#/components/schemas/Info'
        InvoiceNoPsp:
          type: string
          description: >-
            The invoice number from the PSP. This is only used when the PSP
            issues invoices. MaxLength: 50.
        CreditedInvoiceNo:
          type: string
          description: >-
            The credited invoice number. This is only used for credit invoices
            and this is the number of the original invoice being credited.
            MaxLength: 50.
        IsDebit:
          type: boolean
          description: >-
            Indicates if this is a debit invoice (true) or a credit invoice
            (false).
        GroupByKey:
          type: string
          description: >-
            GroupByKey can be used to group invoices. All individual invoices on
            one summary invoice will have this set to the same value. Normal
            non-summary invoices will have this value set to null. MaxLength:
            50.
        Comment:
          type: string
          description: 'Free text comment on the Invoice. MaxLength: 250.'
        InvoiceAmountIncVat:
          type: number
          description: The total amount invoiced inc VAT.
          format: decimal
      format: Invoice
    InvoiceItem:
      type: object
      properties:
        RowNumber:
          type: number
          description: The row number of the item.
          format: decimal
          nullable: true
        ItemNo:
          type: string
          description: 'The PartNo of the item. MaxLength: 50.'
        ItemDescription:
          type: string
          description: 'The mame of the item. MaxLength: 255.'
        Quantity:
          type: number
          description: >-
            The quantity invoiced. This is the quantity invoiced on this
            InvoiceItem.
          format: decimal
        UnitPrice:
          type: number
          description: The unit price of the item, excluding VAT.
          format: decimal
        UnitDiscount:
          type: number
          description: The unit discount of the item, excluding VAT.
          format: decimal
        RowAmount:
          type: number
          description: The total amount of the item, excluding VAT.
          format: decimal
        RowAmountVat:
          type: number
          description: The total VAT of the item.
          format: decimal
        DeliveryDate:
          type: string
          description: The delivery date of the item.
          format: date-time
          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
        UnitPriceIncVat:
          type: number
          description: The unit price of the item, including VAT.
          format: decimal
      format: InvoiceItem
    InvoiceListItem:
      type: object
      properties:
        Id:
          type: string
          description: The internal id of the Invoice.
        InvoiceNo:
          type: string
          description: >-
            The external invoice number of the Invoice. Usually from an ERP
            system. MaxLength: 50.
        InvoiceDate:
          type: string
          description: The invoice date of the Invoice.
          format: date-time
        InvoiceDueDate:
          type: string
          description: The invoice due date of the Invoice.
          format: date-time
          nullable: true
        InvoiceText:
          type: string
          description: 'InvoiceText is taken from InvoiceMark in Storm. MaxLength: 255.'
        OrderNo:
          type: string
          description: >-
            The ERP order number of the Order related to the Invoice. MaxLength:
            50.
        OrderDate:
          type: string
          description: The order date of the Order related to the Invoice.
          format: date-time
        Source:
          type: string
          description: >-
            The source of the Invoice. 'WEB' is used for all invoices created
            though Storm. MaxLength: 255.
        DeliveryDate:
          type: string
          description: The delivery date of the Order.
          format: date-time
          nullable: true
        DeliveryMethod:
          type: string
          description: 'The delivery method of the Order. MaxLength: 50.'
        PaymentMethod:
          type: string
          description: 'The payment method of the Order. MaxLength: 50.'
        BillTo:
          $ref: '#/components/schemas/CustomerData'
        InvoiceAmountExVat:
          type: number
          description: The total amount invoiced excluding VAT.
          format: decimal
        VatAmount:
          type: number
          description: The total VAT amount invoiced.
          format: decimal
        InvoiceNoPsp:
          type: string
          description: >-
            The invoice number from the PSP. This is only used when the PSP
            issues invoices. MaxLength: 50.
        IsDebit:
          type: boolean
          description: >-
            Indicates if this is a debit invoice (true) or a credit invoice
            (false).
        GroupByKey:
          type: string
          description: >-
            GroupByKey can be used to group invoices. All individual invoices on
            one summary invoice will have this set to the same value. Normal
            non-summary invoices will have this value set to null. MaxLength:
            50.
        InvoiceAmountIncVat:
          type: number
          description: The total amount invoiced including VAT.
          format: decimal
      format: InvoiceListItem
    InvoicePagedList:
      type: object
      properties:
        ItemCount:
          type: integer
          description: >-
            The total number of invoices. Can be used to manage paging. Use
            PageSize to calculate number of pages.
          format: int32
        Items:
          type: array
          description: >-
            Current list of invoices for the current page if paging is used.
            Otherwise all invoices will be in the list.
          items:
            $ref: '#/components/schemas/InvoiceListItem'
      format: InvoicePagedList
    Order:
      type: object
      properties:
        Id:
          type: string
          description: The internal id of the Order in Storm.
        QuotationId:
          type: integer
          description: The internal id of the quotation/basket used to create the Order.
          format: int32
          nullable: true
        OrderNo:
          type: string
          description: >-
            The external order number of the Order, usually from an ERP.
            MaxLength: 50.
        OrderDate:
          type: string
          description: The order date of the Order.
          format: date-time
        Status:
          type: string
          description: >-
            The status text of the Order. See ListOrderStatuses for information
            about available statuses. MaxLength: 50.
        Source:
          type: string
          description: >-
            The source of the Order. 'WEB' is used for all orders created though
            Storm. MaxLength: 255.
        Currency:
          type: string
          description: 'The currency code of the Order. MaxLength: 3.'
        Items:
          type: array
          description: The items on the Order.
          items:
            $ref: '#/components/schemas/OrderItem'
        SellTo:
          $ref: '#/components/schemas/CustomerData'
        BillTo:
          $ref: '#/components/schemas/CustomerData'
        ShipTo:
          $ref: '#/components/schemas/CustomerData'
        OrderTotalIncVat:
          type: number
          description: The total amount on the Order including VAT.
          format: decimal
        OrderTotalExVat:
          type: number
          description: The total amount on the Order excluding VAT.
          format: decimal
        PaymentMethod:
          type: string
          description: 'The payment method of the Order. MaxLength: 50.'
        DeliveryMethod:
          type: string
          description: 'The delivery method of the Order. MaxLength: 50.'
        DeliveryNotes:
          type: array
          description: The delivery notes of the Order.
          items:
            $ref: '#/components/schemas/DeliveryNote'
        Info:
          type: array
          description: A list of infos used to keep application specific data on the order.
          items:
            $ref: '#/components/schemas/Info'
        TypeId:
          type: integer
          description: >-
            The type of the order. 1 for normal sales order and 3 for orders
            from subscriptions. 2 is reserved for purchase orders.
          format: int32
        DeliveryMark:
          type: string
          description: >-
            The delivery mark of the Order. Gets it's value from the
            OrderReference field of the basket. MaxLength: 255.
        DropPoint:
          $ref: '#/components/schemas/CustomerData'
      format: Order
    OrderItem:
      type: object
      properties:
        RowNumber:
          type: number
          description: The row number of the OrderItem.
          format: decimal
        PartNo:
          type: string
          description: 'The PartNo of the OrderItem. MaxLength: 50.'
        Name:
          type: string
          description: 'The name of the OrderItem. MaxLength: 255.'
        QtyOrdered:
          type: number
          description: The quantity ordered. This is the total quantity ordered.
          format: decimal
        UnitPrice:
          type: number
          description: The unit price of the Item, excluding VAT.
          format: decimal
        UnitDiscount:
          type: number
          description: The unit discount of the Item, excluding VAT.
          format: decimal
        RowAmount:
          type: number
          description: The total amount of the Item, excluding VAT.
          format: decimal
        VatRate:
          type: number
          description: >-
            A rate to multiply with price to get price inc VAT. 25% VAT equals a
            VatRate of 1.25.
          format: decimal
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        Type:
          type: integer
          description: Sku type internal id for this order item.
          format: int32
        Status:
          type: string
          description: >-
            The status text of the OrderItem. See ListOrderStatuses for
            information about available statuses. MaxLength: 50.
        Info:
          type: array
          description: >-
            A list of infos used to keep application specific data on the order
            item.
          items:
            $ref: '#/components/schemas/Info'
        ParentRowNumber:
          type: number
          description: The parent row number of the OrderItem, if any.
          format: decimal
          nullable: true
        PriceRecommended:
          type: number
          description: >-
            This is the recommended price of the item when the order was
            created.
          format: decimal
          nullable: true
        PriceCatalog:
          type: number
          description: This is the catalog price of the item when the order was created.
          format: decimal
          nullable: true
        PriceStandard:
          type: number
          description: This is the standard price of the item when the order was created.
          format: decimal
          nullable: true
        UnitPriceIncVat:
          type: number
          description: The unit price of the item, including VAT.
          format: decimal
      format: OrderItem
    OrderListItem:
      type: object
      properties:
        Id:
          type: string
          description: The internal id of the Order in Storm.
        QuotationId:
          type: integer
          description: The internal id of the quotation/basket used to create the Order.
          format: int32
          nullable: true
        OrderNo:
          type: string
          description: 'The order number of the Order, usually from an ERP. MaxLength: 50.'
        OrderDate:
          type: string
          description: The order date of the Order.
          format: date-time
        Status:
          type: string
          description: >-
            The status text of the Order. See ListOrderStatuses for information
            about available statuses. MaxLength: 50.
        Source:
          type: string
          description: >-
            The source of the Order. 'WEB' is used for all orders created though
            Storm. MaxLength: 255.
        Currency:
          type: string
          description: 'The currency code of the Order. MaxLength: 3.'
        SellTo:
          $ref: '#/components/schemas/CustomerData'
        BillTo:
          $ref: '#/components/schemas/CustomerData'
        ShipTo:
          $ref: '#/components/schemas/CustomerData'
        OrderTotalIncVat:
          type: number
          description: The total amount on the Order including VAT.
          format: decimal
        OrderTotalExVat:
          type: number
          description: The total amount on the Order excluding VAT.
          format: decimal
        PaymentMethod:
          type: string
          description: 'The payment method of the Order. MaxLength: 50.'
        DeliveryMethod:
          type: string
          description: 'The delivery method of the Order. MaxLength: 50.'
        TypeId:
          type: integer
          description: >-
            The type of the order. 1 for normal sales order and 3 for orders
            from subscriptions. 2 is reserved for purchase orders.
          format: int32
        DeliveryMark:
          type: string
          description: >-
            The delivery mark of the Order. Gets its value from the
            OrderReference field of the basket. MaxLength: 255.
        DropPoint:
          $ref: '#/components/schemas/CustomerData'
        Items:
          type: array
          description: The items on the Order.
          items:
            $ref: '#/components/schemas/OrderItem'
        Info:
          type: array
          description: A list of infos used to keep application specific data on the order.
          items:
            $ref: '#/components/schemas/Info'
      format: OrderListItem
    OrderPagedList:
      type: object
      properties:
        ItemCount:
          type: integer
          description: >-
            The total number of orders. Can be used to manage paging. Use
            PageSize to calculate number of pages.
          format: int32
        Items:
          type: array
          description: >-
            Current list of orders for the current page if paging is used.
            Otherwise all orders will be in the list.
          items:
            $ref: '#/components/schemas/Order'
      format: OrderPagedList
    OrderPagedList2:
      type: object
      properties:
        ItemCount:
          type: integer
          description: >-
            The total number of orders. Can be used to manage paging. Use
            PageSize to calculate number of pages.
          format: int32
        Items:
          type: array
          description: >-
            Current list of orders for the current page if paging is used.
            Otherwise all orders will be in the list.
          items:
            $ref: '#/components/schemas/OrderListItem'
      format: OrderPagedList2
    Tracking:
      type: object
      properties:
        Id:
          type: integer
          format: int32
          nullable: true
        FreightForwarder:
          type: string
          description: 'MaxLength: 50.'
        TrackingCode:
          type: string
          description: 'MaxLength: 50.'
      format: Tracking
    IdNameDescription:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Entity.
          format: int32
        Name:
          type: string
          description: 'The Name of the Entity. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the Entity. MaxLength: 500.'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        Code:
          type: string
          description: 'The Code of the Entity. MaxLength: 50.'
      format: IdNameDescription
    IdValue:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Entity. This Id might be different in
            different tiers such as Stage and Production. Use Code if hard
            coding is required.
          format: int32
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
        Code:
          type: string
          description: >-
            The Code of the Entity, if existing. Use this value when hard coding
            is required. MaxLength: 255.
      format: IdValue
x-original-swagger-version: '2.0'
