Upcoming OrderItems

Upcoming OrderItems that are being attended by a given customer.

Each OrderItem is a session or booked out facility that the customer has booked using Checkout and will be going to. OrderItems are sorted by date with the earliest appearing first in the list.

This is useful to provide customers with a schedule of what they are attending in the near future and actions for each OrderItem e.g. cancelling.

Headers

X-API-KEY must be provided when making the request to this endpoint. This authorizes you to access the API for your customers.

Request

GET https://book.imin.co/api/v2/order-items?customerIdentifier={iminCustomerIdentifer}&page={page}

This request must be made Server-side. Otherwise, it would be possible to view the secret API key with a browser.

The customerIdentifier parameter is the imin customer identifier that was created when you called our Create Customer endpoint with the customer in question

The page parameter specifies which page of Orders is returned

Response

An example 200 response for a session or event OrderItem looks like the following:

{
  "@context": [
    "https://openactive.io/",
    "https://schema.imin.co/",
    "https://openactive.io/ns-beta"
  ],
  "id": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
  "type": "imin:RestrictedCollection",
  "imin:totalItems": 19,
  "view": {
    "id": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
    "type": "PartialCollectionView",
    "first": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
    "last": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=192",
    "imin:currentPage": 1,
    "imin:itemsPerPage": 10,
    "imin:totalPages": 1,
    "urlTemplate": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page={page}",
    "next": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=2"
  },
  "imin:item": [{
    "type": "OrderItem",
    "id": "https://book.imin.co/api/v2/orders/0bac05e5-b207-4794-80b8-6c94211643c5/order-items/abcd",
    "identifier": "abcd",
    "orderedItem": {
      "type": "ScheduledSession",
      "id": "https://search.imin.co/events-api/v2/scheduled-sessions/http%3A%2F%2Fopendata.kinetic-insight.com%2Fapi%2Ffeeds%2Fscheduled-sessions%2F00000000000000000269",
      "identifier": "http://opendata.kinetic-insight.com/api/feeds/scheduled-sessions/00000000000000000269",
      "startDate": "2020-04-16T10:00:00+00:00",
      "endDate": "2020-04-16T11:00:00+00:00",
      "superEvent": {
        "type": "SessionSeries",
        "location": {
          "type": "Place",
          "identifier": "2476",
          "name": "test venue",
          "url": "http://opendata.kinetic-insight.com/venues/2476",
          "geo": {
            "type": "GeoCoordinates",
            "latitude": 51.4290485,
            "longitude": -0.1692925
          },
          "address": {
            "type": "PostalAddress",
            "addressLocality": " 3 Dale Street",
            "postalCode": "m1 1ba",
            "addressRegion": " Manchester",
            "addressCountry": "GB",
            "streetAddress": "Flat 3"
          }
        },
        "superEvent": {
          "type": "EventSeries",
          "name": "test sss",
          "organizer": {
            "type": "Organization",
            "id": "http://kinetic-insight.com",
            "name": "kinetic-insight",
            "sameAs": [
              "https://www.facebook.com/kineticinsight/",
              "https://twitter.com/kineticinsight"
            ],
            "url": "http://kinetic-insight.com",
            "logo": {
              "type": "ImageObject",
              "url": "http://kinetic-insight.com/wp-content/uploads/2017/05/KI-LOGO-WEB-K-ONLY-.png"
            },
            "telephone": "0800 808 9004",
            "email": "support@kinetic-insight.com"
          }
        }
      },
      "duration": "PT1H",
      "maximumAttendeeCapacity": 10,
      "remainingAttendeeCapacity": 9
    },
    "orderItemStatus": "https://openactive.io/OrderItemConfirmed",
    "acceptedOffer": {
      "type": "Offer",
      "id": "http://opendata.kinetic-insight.com/api/feeds/offers/ki-adult",
      "name": "ki-adult",
      "price": 10,
      "priceCurrency": "GBP",
      "latestCancellationBeforeStartDate": "P1D",
      "validFromBeforeStartDate": "P6D"
      "allowCustomerCancellationFullRefund": true
    },
    "unitTaxSpecification": [{
      "type": "TaxChargeSpecification",
      "name": "VAT",
      "price": 0,
      "priceCurrency": "GBP",
      "rate": 0
    }],
    "accessPass": [{
      "@type": "Barcode",
      "text": "EXT12345678901234567"
    }],
    "imin:order": {
      "type": "Order",
      "id": "https://book.imin.co/api/v2/orders/0bac05e5-b207-4794-80b8-6c94211643c5"
    },
    "imin:isPresentlyCancellable": true
  }]
}

An example 200 response for a facility slot OrderItem looks like the following:

{
  "@context": [
    "https://openactive.io/",
    "https://schema.imin.co/",
    "https://openactive.io/ns-beta"
  ],
  "id": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
  "type": "imin:RestrictedCollection",
  "imin:totalItems": 19,
  "view": {
    "id": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
    "type": "PartialCollectionView",
    "first": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=1",
    "last": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=192",
    "imin:currentPage": 1,
    "imin:itemsPerPage": 10,
    "imin:totalPages": 1,
    "urlTemplate": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page={page}",
    "next": "https://book.imin.co/api/v2/order-items?customerIdentifier=1234&page=2"
  },
  "imin:item": [{
    "id": "https://book.imin.co/api/v2/order-items/https%3A%2F%2Fseller.com%2Fapi%2Fopenbooking%2Forders%2F56191d36-6f18-4a37-a1f8-86675144d0d1%23%2ForderedItems%2F0282c289-0c38-48fc-b9a5-93655fef1d9a",
    "type": "OrderItem",
    "position": 0,
    "identifier": "https://seller.com/api/openbooking/orders/56191d36-6f18-4a37-a1f8-86675144d0d1#/orderedItems/0282c289-0c38-48fc-b9a5-93655fef1d9a",
    "imin:order": {
      "id": "https://book.imin.co/api/v2/orders/56191d36-6f18-4a37-a1f8-86675144d0d1",
      "type": "Order",
      "identifier": "56191d36-6f18-4a37-a1f8-86675144d0d1"
    },
    "orderedItem": {
      "id": "https://search.imin.co/facilities-api/v2/slots/https%3A%2F%2Fseller.com%2Fapi%2Fidentifiers%2Ffacility-uses%2F444-226%2Ffacility-use-slots%2Fb7f8f13f-237a-4fc5-b3d6-37837d86c1c8",
      "type": "Slot",
      "offers": [
        {
          "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/36",
          "name": "seller Adult",
          "type": "Offer",
          "price": 10,
          "identifier": 36,
          "priceCurrency": "GBP",
          "ageRestriction": {
            "type": "QuantitativeValue",
            "minValue": 0
          },
          "openBookingInAdvance": "oa:Optional",
          "openBookingPrepayment": "oa:Required",
          "imin:membershipRequired": false,
          "validFromBeforeStartDate": "P4DT17H40M",
          "latestCancellationBeforeStartDate": "PT2H",
          "allowCustomerCancellationFullRefund": true
        },
        {
          "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/451",
          "name": "seller Junior",
          "type": "Offer",
          "price": 10,
          "identifier": 451,
          "priceCurrency": "GBP",
          "ageRestriction": {
            "type": "QuantitativeValue",
            "minValue": 0
          },
          "openBookingInAdvance": "oa:Optional",
          "openBookingPrepayment": "oa:Required",
          "imin:membershipRequired": false,
          "validFromBeforeStartDate": "P4DT17H40M",
          "latestCancellationBeforeStartDate": "PT2H",
          "allowCustomerCancellationFullRefund": true
        },
        {
          "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/6247",
          "name": "MCRactive Free Swimming 60+",
          "type": "Offer",
          "price": 10,
          "identifier": 6247,
          "priceCurrency": "GBP",
          "ageRestriction": {
            "type": "QuantitativeValue",
            "minValue": 60
          },
          "openBookingInAdvance": "oa:Unavailable",
          "openBookingPrepayment": "oa:Required",
          "imin:membershipRequired": false,
          "validFromBeforeStartDate": "P1W"
        }
      ],
      "endDate": "2021-11-04T14:20:00+00:00",
      "duration": "PT40M",
      "startDate": "2021-11-04T13:40:00+00:00",
      "identifier": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8",
      "facilityUse": {
        "id": "https://search.imin.co/facilities-api/v2/facility-uses/seller-FacilityUse-13719",
        "url": "https://www.seller.org.uk/leisure-centre/manchester/hough-end",
        "name": "Squash Court - 40mins",
        "type": "FacilityUse",
        "@context": [
          "https://openactive.io/",
          "https://ns.imin.co/"
        ],
        "activity": [
          {
            "id": "https://openactive.io/activity-list#b7845b8a-4c0c-4a8f-93d3-d41d62eec889",
            "type": "Concept",
            "inScheme": "https://openactive.io/activity-list",
            "prefLabel": "Squash"
          }
        ],
        "location": {
          "geo": {
            "type": "GeoCoordinates",
            "latitude": 51.491888,
            "longitude": 0.077221
          },
          "url": "https://www.seller.org.uk/leisure-centre/manchester/hough-end",
          "name": "Head Office",
          "type": "Place",
          "address": {
            "type": "PostalAddress",
            "postalCode": "SE18 6SX",
            "addressRegion": "Greater Manchester",
            "streetAddress": "Middlegate House",
            "addressCountry": "GB",
            "addressLocality": "Manchester",
            "imin:fullAddress": "Head Office, Middlegate House, Manchester, SE18 6SX"
          },
          "telephone": "02083175000",
          "identifier": "6c9ba378-6540-4931-b601-f59d03b47fd3"
        },
        "provider": {
          "id": "https://seller.com/api/identifiers/seller",
          "name": "Seller",
          "type": "Organization",
          "email": "applicationsupport@seller.org",
          "taxMode": "oa:TaxGross",
          "isOpenBookingAllowed": true
        },
        "identifier": "seller-FacilityUse-13719",
        "_providerId": "seller",
        "imin:dataSource": {
          "type": "WebAPI",
          "identifier": "seller"
        },
        "beta:bookingChannel": [
          "beta:OnlinePrepayment"
        ]
      },
      "maximumUses": 12,
      "remainingUses": 11,
      "imin:aggregateOffer": {
        "type": "imin:AggregateOffer",
        "publicAdult": {
          "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/36",
          "type": "AggregateOffer",
          "price": 10,
          "priceCurrency": "GBP",
          "imin:membershipRequired": false,
          "validFromBeforeStartDate": "P4DT17H40M"
        },
        "publicJunior": {
          "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/451",
          "type": "AggregateOffer",
          "price": 10,
          "priceCurrency": "GBP",
          "imin:membershipRequired": false,
          "validFromBeforeStartDate": "P4DT17H40M"
        }
      }
    },
    "acceptedOffer": {
      "id": "https://seller.com/api/identifiers/facility-uses/444-226/facility-use-slots/b7f8f13f-237a-4fc5-b3d6-37837d86c1c8#/offers/36",
      "name": "sellet Booking Adult",
      "type": "Offer",
      "price": 10,
      "identifier": "36",
      "priceCurrency": "GBP",
      "ageRestriction": {
        "type": "QuantitativeValue",
        "maxValue": 100,
        "minValue": 16
      },
      "validFromBeforeStartDate": "P5DT16H40M",
      "latestCancellationBeforeStartDate": "PT0S",
      "allowCustomerCancellationFullRefund": true
    },
    "accessPass": [{
      "@type": "Barcode",
      "text": "EXT12345678901234567"
    }],
    "orderQuantity": 1,
    "imin:isPresentlyCancellable": true
  }]
}

Key fields:

  • view shows the total number of pages and helpful pages like previous, next and last.

  • imin:item is the array of Order items relating to the customer, ordered by startDate in ascending order.

  • orderedItem is the ScheduledSession or FacilityUseSlot for that OrderItem.

  • imin:order is the parent Order relating to that OrderItem. Go to this id URL to find other OrderItems bought in the same Order or to view the Receipt.

Please note: the structure of Scheduled Sessions and Slots orderItems is different. For example, when displaying the name of a booked activity to the user, you will need to first determine if the orderItem is a ScheduledSession or Slot, and then use the appropriate both to extract the name value.

Last updated