< Return to Summary | File Generated: Thu May 09 2024 14:42:21 GMT+0000 (Coordinated Universal Time)

common-error-conditions >> opportunity-in-past (OpenBookingSimpleFlow >> Multiple)

Booking Flow: OpenBookingSimpleFlow

Opportunity Type: Multiple

Feature: Core / Common error conditions (Implemented)

Test: Expect an OpportunityOfferPairNotBookableError when opportunity is in the past

Runs C1, C2 and B for an opportunity in the past, expecting an OpportunityOfferPairNotBookableError to be returned at C1, C2, and B

Running only this test

npm start -- --runInBand test/features/core/common-error-conditions/implemented/opportunity-in-past-test.js

Is this test failing?

The OpenActive Reference Implementation test result for this test can be used as a reference to help with debugging.


⚠️ 49 passed with 0 failures, 390 warnings and 108 suggestions


✅ Fetch Opportunities

Local Microservice Test Interface for OrderItem 0 Request

POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities

{
  "@type": "ScheduledSession",
  "superEvent": {
    "@type": "SessionSeries",
    "organizer": {
      "@type": "Organization",
      "@id": "https://localhost:5001/api/identifiers/sellers/1"
    }
  },
  "@context": [
    "https://openactive.io/",
    "https://openactive.io/test-interface"
  ],
  "test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableInPast",
  "test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingSimpleFlow"
}

Response status code: 200 OK. Responded in 13.338235ms.

{
  "@context": "https://openactive.io/",
  "@type": "ScheduledSession",
  "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
}

Local Microservice Test Interface for OrderItem 2 Request

POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities

{
  "@type": "ScheduledSession",
  "superEvent": {
    "@type": "SessionSeries",
    "organizer": {
      "@type": "Organization",
      "@id": "https://localhost:5001/api/identifiers/sellers/1"
    }
  },
  "@context": [
    "https://openactive.io/",
    "https://openactive.io/test-interface"
  ],
  "test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookable",
  "test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingSimpleFlow"
}

Response status code: 200 OK. Responded in 10.994793ms.

{
  "@context": "https://openactive.io/",
  "@type": "ScheduledSession",
  "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845"
}

Local Microservice Test Interface for OrderItem 3 Request

POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities

{
  "@type": "Slot",
  "facilityUse": {
    "@type": "IndividualFacilityUse",
    "provider": {
      "@type": "Organization",
      "@id": "https://localhost:5001/api/identifiers/sellers/1"
    }
  },
  "@context": [
    "https://openactive.io/",
    "https://openactive.io/test-interface"
  ],
  "test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableInPast",
  "test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingSimpleFlow"
}

Response status code: 200 OK. Responded in 10.079559ms.

{
  "@context": "https://openactive.io/",
  "@type": "Slot",
  "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871"
}

Local Microservice Test Interface for OrderItem 4 Request

POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities

{
  "@type": "Slot",
  "facilityUse": {
    "@type": "IndividualFacilityUse",
    "provider": {
      "@type": "Organization",
      "@id": "https://localhost:5001/api/identifiers/sellers/1"
    }
  },
  "@context": [
    "https://openactive.io/",
    "https://openactive.io/test-interface"
  ],
  "test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableInPast",
  "test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingSimpleFlow"
}

Response status code: 200 OK. Responded in 11.058371ms.

{
  "@context": "https://openactive.io/",
  "@type": "Slot",
  "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202"
}

Local Microservice Test Interface for OrderItem 5 Request

POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities

{
  "@type": "Slot",
  "facilityUse": {
    "@type": "IndividualFacilityUse",
    "provider": {
      "@type": "Organization",
      "@id": "https://localhost:5001/api/identifiers/sellers/1"
    }
  },
  "@context": [
    "https://openactive.io/",
    "https://openactive.io/test-interface"
  ],
  "test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookable",
  "test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingSimpleFlow"
}

Response status code: 200 OK. Responded in 9.953465ms.

{
  "@context": "https://openactive.io/",
  "@type": "Slot",
  "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484"
}

Opportunity Feed extract for OrderItem 0 Request

GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F680%2Fevents%2F6800?useCacheIfAvailable=true


Response status code: 200 OK. Responded in 12.511837ms.

{
  "data": {
    "@context": [
      "https://openactive.io/"
    ],
    "@type": "ScheduledSession",
    "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
    "startDate": "2024-05-08T15:19:18+00:00",
    "endDate": "2024-05-08T16:00:18+00:00",
    "superEvent": {
      "@type": "SessionSeries",
      "@id": "https://localhost:5001/api/identifiers/session-series/680",
      "identifier": 680,
      "name": "GOLDEN: Fresh Running",
      "activity": [
        {
          "@type": "Concept",
          "@id": "https://openactive.io/activity-list#72ddb2dc-7d75-424e-880a-d90eabe91381",
          "inScheme": "https://openactive.io/activity-list",
          "prefLabel": "Running"
        }
      ],
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "location": {
        "@type": "Place",
        "@id": "https://example.com/place/1",
        "identifier": 1,
        "name": "Post-ercise Plaza",
        "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "address": {
          "@type": "PostalAddress",
          "addressCountry": "GB",
          "addressLocality": "Oxford",
          "addressRegion": "Oxfordshire",
          "postalCode": "OX1 1AA",
          "streetAddress": "Kings Mead House"
        },
        "amenityFeature": [
          {
            "@type": "ChangingFacilities",
            "name": "Changing Facilities",
            "value": true
          },
          {
            "@type": "Showers",
            "name": "Showers",
            "value": true
          },
          {
            "@type": "Lockers",
            "name": "Lockers",
            "value": true
          },
          {
            "@type": "Towels",
            "name": "Towels",
            "value": false
          },
          {
            "@type": "Creche",
            "name": "Creche",
            "value": false
          },
          {
            "@type": "Parking",
            "name": "Parking",
            "value": false
          }
        ],
        "geo": {
          "@type": "GeoCoordinates",
          "latitude": 51.7502,
          "longitude": -1.2674
        },
        "image": [
          {
            "@type": "ImageObject",
            "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
          }
        ],
        "openingHoursSpecification": [
          {
            "@type": "OpeningHoursSpecification",
            "closes": "17:30",
            "dayOfWeek": [
              "https://schema.org/Sunday"
            ],
            "opens": "09:00"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Monday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Tuesday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Wednesday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Thursday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Friday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "17:30",
            "dayOfWeek": [
              "https://schema.org/Saturday"
            ],
            "opens": "09:00"
          }
        ],
        "telephone": "01865 000001",
        "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
      },
      "offers": [
        {
          "@type": "Offer",
          "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
          "name": "Adult",
          "acceptedPaymentMethod": [
            "http://purl.org/goodrelations/v1#Cash",
            "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
          ],
          "ageRestriction": {
            "@type": "QuantitativeValue",
            "name": "Adult",
            "maxValue": 59,
            "minValue": 18
          },
          "allowCustomerCancellationFullRefund": true,
          "price": 0,
          "priceCurrency": "GBP",
          "validFromBeforeStartDate": "P3DT3H41M"
        },
        {
          "@type": "Offer",
          "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
          "name": "Junior",
          "acceptedPaymentMethod": [
            "http://purl.org/goodrelations/v1#Cash",
            "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
          ],
          "ageRestriction": {
            "@type": "QuantitativeValue",
            "name": "Junior",
            "maxValue": 17
          },
          "allowCustomerCancellationFullRefund": true,
          "price": 0,
          "priceCurrency": "GBP",
          "validFromBeforeStartDate": "P3DT3H41M"
        },
        {
          "@type": "Offer",
          "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
          "name": "Senior",
          "acceptedPaymentMethod": [
            "http://purl.org/goodrelations/v1#Cash",
            "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
          ],
          "ageRestriction": {
            "@type": "QuantitativeValue",
            "name": "Senior",
            "minValue": 60
          },
          "allowCustomerCancellationFullRefund": true,
          "price": 0,
          "priceCurrency": "GBP",
          "validFromBeforeStartDate": "P3DT3H41M"
        },
        {
          "@type": "Offer",
          "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
          "name": "Adult (off-peak)",
          "acceptedPaymentMethod": [
            "http://purl.org/goodrelations/v1#Cash",
            "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
          ],
          "ageRestriction": {
            "@type": "QuantitativeValue",
            "name": "Adult (off-peak)",
            "maxValue": 59,
            "minValue": 18
          },
          "allowCustomerCancellationFullRefund": true,
          "price": 0,
          "priceCurrency": "GBP",
          "validFromBeforeStartDate": "P3DT3H41M"
        }
      ],
      "organizer": {
        "@type": "Organization",
        "@id": "https://localhost:5001/api/identifiers/sellers/1",
        "name": "Acme Fitness Ltd",
        "isOpenBookingAllowed": true,
        "sameAs": [
          "https://socialmedia.com/AcmeFitnessLtd"
        ],
        "taxMode": "https://openactive.io/TaxGross",
        "telephone": "02855 102302",
        "termsOfService": [
          {
            "@type": "PrivacyPolicy",
            "name": "Privacy Policy",
            "requiresExplicitConsent": false,
            "url": "https://example.com/privacy.html"
          }
        ],
        "url": "http://arlie.net"
      },
      "url": "https://www.example.com/sessions/680"
    },
    "duration": "PT41M",
    "maximumAttendeeCapacity": 38,
    "remainingAttendeeCapacity": 38
  }
}

Opportunity Feed extract for OrderItem 2 Request

GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F185%2Fevents%2F1845?useCacheIfAvailable=true


Response status code: 200 OK. Responded in 12.262222ms.

{
  "data": {
    "@context": [
      "https://openactive.io/"
    ],
    "@type": "ScheduledSession",
    "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845",
    "startDate": "2024-05-10T18:16:18+00:00",
    "endDate": "2024-05-10T23:56:18+00:00",
    "superEvent": {
      "@type": "SessionSeries",
      "@id": "https://localhost:5001/api/identifiers/session-series/185",
      "identifier": 185,
      "name": "Granite Zumba",
      "activity": [
        {
          "@type": "Concept",
          "@id": "https://openactive.io/activity-list#78503fa2-ed24-4a80-a224-e2e94581d8a8",
          "inScheme": "https://openactive.io/activity-list",
          "prefLabel": "Zumba®"
        }
      ],
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "location": {
        "@type": "Place",
        "@id": "https://example.com/place/3",
        "identifier": 3,
        "name": "Stroll & Stretch",
        "description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "address": {
          "@type": "PostalAddress",
          "addressCountry": "GB",
          "addressLocality": "Oxford",
          "addressRegion": "Oxfordshire",
          "postalCode": "OX1 1UU",
          "streetAddress": "Norfolk Street"
        },
        "geo": {
          "@type": "GeoCoordinates",
          "latitude": 51.749826,
          "longitude": -1.261492
        },
        "image": [
          {
            "@type": "ImageObject",
            "url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
          }
        ],
        "openingHoursSpecification": [
          {
            "@type": "OpeningHoursSpecification",
            "closes": "17:30",
            "dayOfWeek": [
              "https://schema.org/Sunday"
            ],
            "opens": "09:00"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Monday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Tuesday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Wednesday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Thursday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "21:30",
            "dayOfWeek": [
              "https://schema.org/Friday"
            ],
            "opens": "06:30"
          },
          {
            "@type": "OpeningHoursSpecification",
            "closes": "17:30",
            "dayOfWeek": [
              "https://schema.org/Saturday"
            ],
            "opens": "09:00"
          }
        ],
        "telephone": "01865 000003",
        "url": "https://en.wikipedia.org/wiki/Shopping_center"
      },
      "offers": [
        {
          "@type": "Offer",
          "@id": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
          "name": "Senior",
          "acceptedPaymentMethod": [
            "http://purl.org/goodrelations/v1#Cash",
            "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
          ],
          "ageRestriction": {
            "@type": "QuantitativeValue",
            "name": "Senior",
            "minValue": 60
          },
          "allowCustomerCancellationFullRefund": true,
          "price": 0,
          "priceCurrency": "GBP"
        }
      ],
      "organizer": {
        "@type": "Organization",
        "@id": "https://localhost:5001/api/identifiers/sellers/1",
        "name": "Acme Fitness Ltd",
        "isOpenBookingAllowed": true,
        "sameAs": [
          "https://socialmedia.com/AcmeFitnessLtd"
        ],
        "taxMode": "https://openactive.io/TaxGross",
        "telephone": "07272 845887",
        "termsOfService": [
          {
            "@type": "PrivacyPolicy",
            "name": "Privacy Policy",
            "requiresExplicitConsent": false,
            "url": "https://example.com/privacy.html"
          }
        ],
        "url": "http://armand.com"
      },
      "url": "https://www.example.com/sessions/185"
    },
    "duration": "PT5H40M",
    "maximumAttendeeCapacity": 10,
    "remainingAttendeeCapacity": 10
  }
}

Opportunity Feed extract for OrderItem 3 Request

GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F788%2Findividual-facility-uses%2F0%2Fslots%2F7871?useCacheIfAvailable=true


Response status code: 200 OK. Responded in 12.254424ms.

{
  "data": {
    "@context": [
      "https://openactive.io/"
    ],
    "@type": "Slot",
    "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871",
    "identifier": 7871,
    "duration": "PT4H13M",
    "facilityUse": {
      "@type": "IndividualFacilityUse",
      "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0",
      "name": "Court 0 at Granite Cricket Net",
      "aggregateFacilityUse": {
        "@type": "FacilityUse",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788",
        "identifier": 788,
        "name": "Granite Cricket Net",
        "facilityType": [
          {
            "@type": "Concept",
            "@id": "https://openactive.io/facility-types#2d333183-6a6d-4a95-aad4-c5699f705b14",
            "inScheme": "https://openactive.io/facility-types",
            "prefLabel": "Cricket Net"
          }
        ],
        "location": {
          "@type": "Place",
          "@id": "https://example.com/place/1",
          "identifier": 1,
          "name": "Post-ercise Plaza",
          "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
          "address": {
            "@type": "PostalAddress",
            "addressCountry": "GB",
            "addressLocality": "Oxford",
            "addressRegion": "Oxfordshire",
            "postalCode": "OX1 1AA",
            "streetAddress": "Kings Mead House"
          },
          "amenityFeature": [
            {
              "@type": "ChangingFacilities",
              "name": "Changing Facilities",
              "value": true
            },
            {
              "@type": "Showers",
              "name": "Showers",
              "value": true
            },
            {
              "@type": "Lockers",
              "name": "Lockers",
              "value": true
            },
            {
              "@type": "Towels",
              "name": "Towels",
              "value": false
            },
            {
              "@type": "Creche",
              "name": "Creche",
              "value": false
            },
            {
              "@type": "Parking",
              "name": "Parking",
              "value": false
            }
          ],
          "geo": {
            "@type": "GeoCoordinates",
            "latitude": 51.7502,
            "longitude": -1.2674
          },
          "image": [
            {
              "@type": "ImageObject",
              "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
            }
          ],
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Sunday"
              ],
              "opens": "09:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Monday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Tuesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Wednesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Thursday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Friday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Saturday"
              ],
              "opens": "09:00"
            }
          ],
          "telephone": "01865 000001",
          "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
        },
        "provider": {
          "@type": "Organization",
          "@id": "https://localhost:5001/api/identifiers/sellers/1",
          "name": "Acme Fitness Ltd",
          "isOpenBookingAllowed": true,
          "sameAs": [
            "https://socialmedia.com/AcmeFitnessLtd"
          ],
          "taxMode": "https://openactive.io/TaxGross",
          "telephone": "09197 488634",
          "termsOfService": [
            {
              "@type": "PrivacyPolicy",
              "name": "Privacy Policy",
              "requiresExplicitConsent": false,
              "url": "https://example.com/privacy.html"
            }
          ],
          "url": "http://keyon.net"
        },
        "url": "https://www.example.com/facilities/788"
      }
    },
    "maximumUses": 1,
    "offers": [
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      },
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      },
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      }
    ],
    "remainingUses": 1,
    "startDate": "2024-05-08T17:26:18+00:00",
    "endDate": "2024-05-08T21:39:18+00:00"
  }
}

Opportunity Feed extract for OrderItem 4 Request

GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F721%2Findividual-facility-uses%2F1%2Fslots%2F7202?useCacheIfAvailable=true


Response status code: 200 OK. Responded in 13.068058ms.

{
  "data": {
    "@context": [
      "https://openactive.io/"
    ],
    "@type": "Slot",
    "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202",
    "identifier": 7202,
    "duration": "PT3H15M",
    "facilityUse": {
      "@type": "IndividualFacilityUse",
      "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1",
      "name": "Court 1 at Cotton Sports Hall",
      "aggregateFacilityUse": {
        "@type": "FacilityUse",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721",
        "identifier": 721,
        "name": "Cotton Sports Hall",
        "facilityType": [
          {
            "@type": "Concept",
            "@id": "https://openactive.io/facility-types#da364f9b-8bb2-490e-9e2f-1068790b9e35",
            "inScheme": "https://openactive.io/facility-types",
            "prefLabel": "Sports Hall"
          }
        ],
        "location": {
          "@type": "Place",
          "@id": "https://example.com/place/1",
          "identifier": 1,
          "name": "Post-ercise Plaza",
          "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
          "address": {
            "@type": "PostalAddress",
            "addressCountry": "GB",
            "addressLocality": "Oxford",
            "addressRegion": "Oxfordshire",
            "postalCode": "OX1 1AA",
            "streetAddress": "Kings Mead House"
          },
          "amenityFeature": [
            {
              "@type": "ChangingFacilities",
              "name": "Changing Facilities",
              "value": true
            },
            {
              "@type": "Showers",
              "name": "Showers",
              "value": true
            },
            {
              "@type": "Lockers",
              "name": "Lockers",
              "value": true
            },
            {
              "@type": "Towels",
              "name": "Towels",
              "value": false
            },
            {
              "@type": "Creche",
              "name": "Creche",
              "value": false
            },
            {
              "@type": "Parking",
              "name": "Parking",
              "value": false
            }
          ],
          "geo": {
            "@type": "GeoCoordinates",
            "latitude": 51.7502,
            "longitude": -1.2674
          },
          "image": [
            {
              "@type": "ImageObject",
              "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
            }
          ],
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Sunday"
              ],
              "opens": "09:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Monday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Tuesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Wednesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Thursday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Friday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Saturday"
              ],
              "opens": "09:00"
            }
          ],
          "telephone": "01865 000001",
          "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
        },
        "provider": {
          "@type": "Organization",
          "@id": "https://localhost:5001/api/identifiers/sellers/1",
          "name": "Acme Fitness Ltd",
          "isOpenBookingAllowed": true,
          "sameAs": [
            "https://socialmedia.com/AcmeFitnessLtd"
          ],
          "taxMode": "https://openactive.io/TaxGross",
          "telephone": "07691 114325",
          "termsOfService": [
            {
              "@type": "PrivacyPolicy",
              "name": "Privacy Policy",
              "requiresExplicitConsent": false,
              "url": "https://example.com/privacy.html"
            }
          ],
          "url": "http://myron.info"
        },
        "url": "https://www.example.com/facilities/721"
      }
    },
    "maximumUses": 1,
    "offers": [
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1DT16H",
        "openBookingPrepayment": "https://openactive.io/Unavailable",
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P1DT16H57M"
      }
    ],
    "remainingUses": 1,
    "startDate": "2024-05-08T15:48:18+00:00",
    "endDate": "2024-05-08T19:03:18+00:00"
  }
}

Opportunity Feed extract for OrderItem 5 Request

GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F449%2Findividual-facility-uses%2F3%2Fslots%2F4484?useCacheIfAvailable=true


Response status code: 200 OK. Responded in 12.282747ms.

{
  "data": {
    "@context": [
      "https://openactive.io/"
    ],
    "@type": "Slot",
    "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484",
    "identifier": 4484,
    "duration": "PT1H54M",
    "facilityUse": {
      "@type": "IndividualFacilityUse",
      "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3",
      "name": "Court 3 at Concrete Squash Court",
      "aggregateFacilityUse": {
        "@type": "FacilityUse",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449",
        "identifier": 449,
        "name": "Concrete Squash Court",
        "facilityType": [
          {
            "@type": "Concept",
            "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
            "inScheme": "https://openactive.io/facility-types",
            "prefLabel": "Squash Court"
          }
        ],
        "location": {
          "@type": "Place",
          "@id": "https://example.com/place/2",
          "identifier": 2,
          "name": "Premier Lifters",
          "description": "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
          "address": {
            "@type": "PostalAddress",
            "addressCountry": "GB",
            "addressLocality": "Oxford",
            "addressRegion": "Oxfordshire",
            "postalCode": "OX1 1BB",
            "streetAddress": "Greyfriars Court, Paradise Square"
          },
          "amenityFeature": [
            {
              "@type": "ChangingFacilities",
              "name": "Changing Facilities",
              "value": false
            },
            {
              "@type": "Showers",
              "name": "Showers",
              "value": false
            },
            {
              "@type": "Lockers",
              "name": "Lockers",
              "value": false
            },
            {
              "@type": "Towels",
              "name": "Towels",
              "value": true
            },
            {
              "@type": "Creche",
              "name": "Creche",
              "value": true
            },
            {
              "@type": "Parking",
              "name": "Parking",
              "value": true
            }
          ],
          "geo": {
            "@type": "GeoCoordinates",
            "latitude": 51.7504933,
            "longitude": -1.2620685
          },
          "image": [
            {
              "@type": "ImageObject",
              "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg"
            }
          ],
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Sunday"
              ],
              "opens": "09:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Monday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Tuesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Wednesday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Thursday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "21:30",
              "dayOfWeek": [
                "https://schema.org/Friday"
              ],
              "opens": "06:30"
            },
            {
              "@type": "OpeningHoursSpecification",
              "closes": "17:30",
              "dayOfWeek": [
                "https://schema.org/Saturday"
              ],
              "opens": "09:00"
            }
          ],
          "telephone": "01865 000002",
          "url": "https://en.wikipedia.org/wiki/Premier_Inn"
        },
        "provider": {
          "@type": "Organization",
          "@id": "https://localhost:5001/api/identifiers/sellers/1",
          "name": "Acme Fitness Ltd",
          "isOpenBookingAllowed": true,
          "sameAs": [
            "https://socialmedia.com/AcmeFitnessLtd"
          ],
          "taxMode": "https://openactive.io/TaxGross",
          "telephone": "09906 580020",
          "termsOfService": [
            {
              "@type": "PrivacyPolicy",
              "name": "Privacy Policy",
              "requiresExplicitConsent": false,
              "url": "https://example.com/privacy.html"
            }
          ],
          "url": "https://lesly.info"
        },
        "url": "https://www.example.com/facilities/449"
      }
    },
    "maximumUses": 1,
    "offers": [
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Optional",
        "price": 9.24,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P12DT20H14M"
      },
      {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
        "acceptedPaymentMethod": [
          "http://purl.org/goodrelations/v1#Cash",
          "http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
        ],
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Optional",
        "price": 9.24,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P12DT20H14M"
      }
    ],
    "remainingUses": 1,
    "startDate": "2024-05-12T22:47:18+00:00",
    "endDate": "2024-05-13T00:41:18+00:00"
  }
}

Specs

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 0

Specs

Validations

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 1

Specs

Validations

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 2

Specs

Validations

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 3

Specs

Validations

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 4

Specs

Validations

✅ Fetch Opportunities >> validation of Opportunity Feed extract for OrderItem 5

Specs

Validations

❔ C1

C1 Request

PUT https://localhost:5001/api/openbooking/order-quote-templates/66681161-1f53-404e-92a5-bd9f49144988

{
  "@context": "https://openactive.io/",
  "@type": "OrderQuote",
  "brokerRole": "https://openactive.io/AgentBroker",
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com",
    "description": "A fitness app for all the community",
    "logo": {
      "@type": "ImageObject",
      "url": "http://data.myfitnessapp.org.uk/images/logo.png"
    },
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Alan Peacock Way",
      "addressLocality": "Village East",
      "addressRegion": "Middlesbrough",
      "postalCode": "TS4 3AE",
      "addressCountry": "GB"
    }
  },
  "seller": "https://localhost:5001/api/identifiers/sellers/1",
  "orderedItem": [
    {
      "@type": "OrderItem",
      "position": 0,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 1,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 2,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845"
    },
    {
      "@type": "OrderItem",
      "position": 3,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871"
    },
    {
      "@type": "OrderItem",
      "position": 4,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202"
    },
    {
      "@type": "OrderItem",
      "position": 5,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484"
    }
  ],
  "payment": {
    "@type": "Payment",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  }
}

Response status code: 409 Conflict. Responded in 90.833319ms.

{
  "@context": "https://openactive.io/",
  "@type": "OrderQuote",
  "@id": "https://localhost:5001/api/openbooking/order-quotes/66681161-1f53-404e-92a5-bd9f49144988",
  "orderRequiresApproval": false,
  "bookingService": {
    "@type": "BookingService",
    "name": "Acme booking system",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ],
    "url": "https://example.com"
  },
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com"
  },
  "brokerRole": "https://openactive.io/AgentBroker",
  "orderedItem": [
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 0,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 1,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP"
      },
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845",
        "startDate": "2024-05-10T18:16:18+00:00",
        "endDate": "2024-05-10T23:56:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/185",
          "name": "Granite Zumba",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/3",
            "identifier": 3,
            "name": "Stroll & Stretch",
            "description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1UU",
              "streetAddress": "Norfolk Street"
            },
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.749826,
              "longitude": -1.261492
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000003",
            "url": "https://en.wikipedia.org/wiki/Shopping_center"
          },
          "url": "https://example.com/events/185"
        },
        "maximumAttendeeCapacity": 10,
        "remainingAttendeeCapacity": 10
      },
      "position": 2,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/788",
            "name": "Granite Cricket Net",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/788"
          },
          "name": "Court 0 at Granite Cricket Net"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T17:26:18+00:00",
        "endDate": "2024-05-08T21:39:18+00:00"
      },
      "position": 3,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 3.064,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1DT16H",
        "openBookingPrepayment": "https://openactive.io/Unavailable",
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P1DT16H57M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/721",
            "name": "Cotton Sports Hall",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/721"
          },
          "name": "Court 1 at Cotton Sports Hall"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T15:48:18+00:00",
        "endDate": "2024-05-08T19:03:18+00:00"
      },
      "position": 4,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Optional",
        "price": 9.24,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P12DT20H14M"
      },
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/449",
            "name": "Concrete Squash Court",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/2",
              "identifier": 2,
              "name": "Premier Lifters",
              "description": "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1BB",
                "streetAddress": "Greyfriars Court, Paradise Square"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": false
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": false
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": false
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": true
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": true
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": true
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7504933,
                "longitude": -1.2620685
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000002",
              "url": "https://en.wikipedia.org/wiki/Premier_Inn"
            },
            "url": "https://example.com/events/449"
          },
          "name": "Court 3 at Concrete Squash Court"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-12T22:47:18+00:00",
        "endDate": "2024-05-13T00:41:18+00:00"
      },
      "position": 5,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 1.848,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    }
  ],
  "payment": {
    "@type": "Payment",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  },
  "seller": {
    "@type": "Organization",
    "@id": "https://localhost:5001/api/identifiers/sellers/1",
    "name": "Acme Fitness Ltd",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "GB",
      "addressLocality": "Another town",
      "addressRegion": "Oxfordshire",
      "postalCode": "OX1 1AA",
      "streetAddress": "1 Hidden Gem"
    },
    "isOpenBookingAllowed": true,
    "legalName": "Acme Fitness Ltd",
    "taxMode": "https://openactive.io/TaxGross",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ]
  },
  "totalPaymentDue": {
    "@type": "PriceSpecification",
    "openBookingPrepayment": "https://openactive.io/Required",
    "price": 9.24,
    "priceCurrency": "GBP"
  },
  "totalPaymentTax": [
    {
      "@type": "TaxChargeSpecification",
      "name": "VAT at 20%",
      "price": 1.848,
      "priceCurrency": "GBP",
      "rate": 0.2
    }
  ]
}

✅ C1 >> validation of C1

Specs

Validations

✅ Assert Opportunity Capacity (after C1)

Specs

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 0

Specs

Validations

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 1

Specs

Validations

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 2

Specs

Validations

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 3

Specs

Validations

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 4

Specs

Validations

✅ Assert Opportunity Capacity (after C1) >> validation of Opportunity Feed extract for OrderItem 5

Specs

Validations

❔ C2

C2 Request

PUT https://localhost:5001/api/openbooking/order-quotes/66681161-1f53-404e-92a5-bd9f49144988

{
  "@context": "https://openactive.io/",
  "@type": "OrderQuote",
  "brokerRole": "https://openactive.io/AgentBroker",
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com",
    "description": "A fitness app for all the community",
    "logo": {
      "@type": "ImageObject",
      "url": "http://data.myfitnessapp.org.uk/images/logo.png"
    },
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Alan Peacock Way",
      "addressLocality": "Village East",
      "addressRegion": "Middlesbrough",
      "postalCode": "TS4 3AE",
      "addressCountry": "GB"
    }
  },
  "seller": "https://localhost:5001/api/identifiers/sellers/1",
  "customer": {
    "@type": "Person",
    "email": "[email protected]",
    "telephone": "944.635.0901 x3391"
  },
  "orderedItem": [
    {
      "@type": "OrderItem",
      "position": 0,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 1,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 2,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845"
    },
    {
      "@type": "OrderItem",
      "position": 3,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871"
    },
    {
      "@type": "OrderItem",
      "position": 4,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202"
    },
    {
      "@type": "OrderItem",
      "position": 5,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484"
    }
  ],
  "payment": {
    "@type": "Payment",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  }
}

Response status code: 409 Conflict. Responded in 65.229122ms.

{
  "@context": "https://openactive.io/",
  "@type": "OrderQuote",
  "@id": "https://localhost:5001/api/openbooking/order-quotes/66681161-1f53-404e-92a5-bd9f49144988",
  "orderRequiresApproval": false,
  "bookingService": {
    "@type": "BookingService",
    "name": "Acme booking system",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ],
    "url": "https://example.com"
  },
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com"
  },
  "brokerRole": "https://openactive.io/AgentBroker",
  "customer": {
    "@type": "Person",
    "email": "[email protected]",
    "telephone": "944.635.0901 x3391"
  },
  "orderedItem": [
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 0,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 1,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP"
      },
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845",
        "startDate": "2024-05-10T18:16:18+00:00",
        "endDate": "2024-05-10T23:56:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/185",
          "name": "Granite Zumba",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/3",
            "identifier": 3,
            "name": "Stroll & Stretch",
            "description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1UU",
              "streetAddress": "Norfolk Street"
            },
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.749826,
              "longitude": -1.261492
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000003",
            "url": "https://en.wikipedia.org/wiki/Shopping_center"
          },
          "url": "https://example.com/events/185"
        },
        "maximumAttendeeCapacity": 10,
        "remainingAttendeeCapacity": 10
      },
      "position": 2,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/788",
            "name": "Granite Cricket Net",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/788"
          },
          "name": "Court 0 at Granite Cricket Net"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T17:26:18+00:00",
        "endDate": "2024-05-08T21:39:18+00:00"
      },
      "position": 3,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 3.064,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1DT16H",
        "openBookingPrepayment": "https://openactive.io/Unavailable",
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P1DT16H57M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/721",
            "name": "Cotton Sports Hall",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/721"
          },
          "name": "Court 1 at Cotton Sports Hall"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T15:48:18+00:00",
        "endDate": "2024-05-08T19:03:18+00:00"
      },
      "position": 4,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Optional",
        "price": 9.24,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P12DT20H14M"
      },
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/449",
            "name": "Concrete Squash Court",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/2",
              "identifier": 2,
              "name": "Premier Lifters",
              "description": "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1BB",
                "streetAddress": "Greyfriars Court, Paradise Square"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": false
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": false
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": false
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": true
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": true
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": true
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7504933,
                "longitude": -1.2620685
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000002",
              "url": "https://en.wikipedia.org/wiki/Premier_Inn"
            },
            "url": "https://example.com/events/449"
          },
          "name": "Court 3 at Concrete Squash Court"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-12T22:47:18+00:00",
        "endDate": "2024-05-13T00:41:18+00:00"
      },
      "position": 5,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 1.848,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    }
  ],
  "payment": {
    "@type": "Payment",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  },
  "seller": {
    "@type": "Organization",
    "@id": "https://localhost:5001/api/identifiers/sellers/1",
    "name": "Acme Fitness Ltd",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "GB",
      "addressLocality": "Another town",
      "addressRegion": "Oxfordshire",
      "postalCode": "OX1 1AA",
      "streetAddress": "1 Hidden Gem"
    },
    "isOpenBookingAllowed": true,
    "legalName": "Acme Fitness Ltd",
    "taxMode": "https://openactive.io/TaxGross",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ]
  },
  "totalPaymentDue": {
    "@type": "PriceSpecification",
    "openBookingPrepayment": "https://openactive.io/Required",
    "price": 9.24,
    "priceCurrency": "GBP"
  },
  "totalPaymentTax": [
    {
      "@type": "TaxChargeSpecification",
      "name": "VAT at 20%",
      "price": 1.848,
      "priceCurrency": "GBP",
      "rate": 0.2
    }
  ]
}

✅ C2 >> validation of C2

Specs

Validations

✅ Assert Opportunity Capacity (after C2)

Specs

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 0

Specs

Validations

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 1

Specs

Validations

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 2

Specs

Validations

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 3

Specs

Validations

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 4

Specs

Validations

✅ Assert Opportunity Capacity (after C2) >> validation of Opportunity Feed extract for OrderItem 5

Specs

Validations

✅ B

B Request

PUT https://localhost:5001/api/openbooking/orders/66681161-1f53-404e-92a5-bd9f49144988

{
  "@context": "https://openactive.io/",
  "@type": "Order",
  "brokerRole": "https://openactive.io/AgentBroker",
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com",
    "description": "A fitness app for all the community",
    "logo": {
      "@type": "ImageObject",
      "url": "http://data.myfitnessapp.org.uk/images/logo.png"
    },
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Alan Peacock Way",
      "addressLocality": "Village East",
      "addressRegion": "Middlesbrough",
      "postalCode": "TS4 3AE",
      "addressCountry": "GB"
    }
  },
  "seller": "https://localhost:5001/api/identifiers/sellers/1",
  "customer": {
    "@type": "Person",
    "email": "[email protected]",
    "telephone": "944.635.0901 x3391"
  },
  "orderedItem": [
    {
      "@type": "OrderItem",
      "position": 0,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 1,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800"
    },
    {
      "@type": "OrderItem",
      "position": 2,
      "acceptedOffer": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845"
    },
    {
      "@type": "OrderItem",
      "position": 3,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871"
    },
    {
      "@type": "OrderItem",
      "position": 4,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202"
    },
    {
      "@type": "OrderItem",
      "position": 5,
      "acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
      "orderedItem": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484"
    }
  ],
  "totalPaymentDue": {
    "@type": "PriceSpecification",
    "price": 9.24,
    "priceCurrency": "GBP"
  },
  "payment": {
    "@type": "Payment",
    "identifier": "PXP9VvZ2WG",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  }
}

Response status code: 409 Conflict. Responded in 41.166615ms.

{
  "@context": "https://openactive.io/",
  "@type": "Order",
  "@id": "https://localhost:5001/api/openbooking/orders/66681161-1f53-404e-92a5-bd9f49144988",
  "bookingService": {
    "@type": "BookingService",
    "name": "Acme booking system",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ],
    "url": "https://example.com"
  },
  "broker": {
    "@type": "Organization",
    "name": "MyFitnessApp",
    "url": "https://myfitnessapp.example.com"
  },
  "brokerRole": "https://openactive.io/AgentBroker",
  "customer": {
    "@type": "Person",
    "email": "[email protected]",
    "telephone": "944.635.0901 x3391"
  },
  "orderedItem": [
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 0,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/680#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT3H41M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/680/events/6800",
        "startDate": "2024-05-08T15:19:18+00:00",
        "endDate": "2024-05-08T16:00:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/680",
          "name": "Fresh Running",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/1",
            "identifier": 1,
            "name": "Post-ercise Plaza",
            "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1AA",
              "streetAddress": "Kings Mead House"
            },
            "amenityFeature": [
              {
                "@type": "ChangingFacilities",
                "name": "Changing Facilities",
                "value": true
              },
              {
                "@type": "Showers",
                "name": "Showers",
                "value": true
              },
              {
                "@type": "Lockers",
                "name": "Lockers",
                "value": true
              },
              {
                "@type": "Towels",
                "name": "Towels",
                "value": false
              },
              {
                "@type": "Creche",
                "name": "Creche",
                "value": false
              },
              {
                "@type": "Parking",
                "name": "Parking",
                "value": false
              }
            ],
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.7502,
              "longitude": -1.2674
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000001",
            "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
          },
          "url": "https://example.com/events/680"
        },
        "maximumAttendeeCapacity": 38,
        "remainingAttendeeCapacity": 38
      },
      "position": 1,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/session-series/185#/offers/0",
        "allowCustomerCancellationFullRefund": true,
        "price": 0,
        "priceCurrency": "GBP"
      },
      "orderedItem": {
        "@type": "ScheduledSession",
        "@id": "https://localhost:5001/api/identifiers/scheduled-sessions/185/events/1845",
        "startDate": "2024-05-10T18:16:18+00:00",
        "endDate": "2024-05-10T23:56:18+00:00",
        "superEvent": {
          "@type": "SessionSeries",
          "@id": "https://localhost:5001/api/identifiers/session-series/185",
          "name": "Granite Zumba",
          "activity": [
            {
              "@type": "Concept",
              "@id": "https://openactive.io/activity-list#6bdea630-ad22-4e58-98a3-bca26ee3f1da",
              "inScheme": "https://openactive.io/activity-list",
              "prefLabel": "Rave Fitness"
            }
          ],
          "location": {
            "@type": "Place",
            "@id": "https://example.com/place/3",
            "identifier": 3,
            "name": "Stroll & Stretch",
            "description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "address": {
              "@type": "PostalAddress",
              "addressCountry": "GB",
              "addressLocality": "Oxford",
              "addressRegion": "Oxfordshire",
              "postalCode": "OX1 1UU",
              "streetAddress": "Norfolk Street"
            },
            "geo": {
              "@type": "GeoCoordinates",
              "latitude": 51.749826,
              "longitude": -1.261492
            },
            "image": [
              {
                "@type": "ImageObject",
                "url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
              }
            ],
            "openingHoursSpecification": [
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Sunday"
                ],
                "opens": "09:00"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Monday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Tuesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Wednesday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Thursday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "21:30",
                "dayOfWeek": [
                  "https://schema.org/Friday"
                ],
                "opens": "06:30"
              },
              {
                "@type": "OpeningHoursSpecification",
                "closes": "17:30",
                "dayOfWeek": [
                  "https://schema.org/Saturday"
                ],
                "opens": "09:00"
              }
            ],
            "telephone": "01865 000003",
            "url": "https://en.wikipedia.org/wiki/Shopping_center"
          },
          "url": "https://example.com/events/185"
        },
        "maximumAttendeeCapacity": 10,
        "remainingAttendeeCapacity": 10
      },
      "position": 2,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Required",
        "price": 15.32,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P3DT19H9M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0/slots/7871",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/788/individual-facility-uses/0",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/788",
            "name": "Granite Cricket Net",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/788"
          },
          "name": "Court 0 at Granite Cricket Net"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T17:26:18+00:00",
        "endDate": "2024-05-08T21:39:18+00:00"
      },
      "position": 3,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 3.064,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1DT16H",
        "openBookingPrepayment": "https://openactive.io/Unavailable",
        "price": 0,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P1DT16H57M"
      },
      "error": [
        {
          "@type": "OpportunityOfferPairNotBookableError",
          "name": "The 'orderedItem' and 'acceptedOffer' combination specified are not \"bookable\", as defined in the Open Booking API specification.",
          "statusCode": 409,
          "description": "Opportunities in the past are not bookable"
        }
      ],
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1/slots/7202",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/721/individual-facility-uses/1",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/721",
            "name": "Cotton Sports Hall",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/1",
              "identifier": 1,
              "name": "Post-ercise Plaza",
              "description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1AA",
                "streetAddress": "Kings Mead House"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": true
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": true
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": true
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": false
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": false
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": false
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7502,
                "longitude": -1.2674
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000001",
              "url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
            },
            "url": "https://example.com/events/721"
          },
          "name": "Court 1 at Cotton Sports Hall"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-08T15:48:18+00:00",
        "endDate": "2024-05-08T19:03:18+00:00"
      },
      "position": 4,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 0,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    },
    {
      "@type": "OrderItem",
      "acceptedOffer": {
        "@type": "Offer",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484#/offers/0",
        "allowCustomerCancellationFullRefund": false,
        "latestCancellationBeforeStartDate": "P1D",
        "openBookingPrepayment": "https://openactive.io/Optional",
        "price": 9.24,
        "priceCurrency": "GBP",
        "validFromBeforeStartDate": "P12DT20H14M"
      },
      "orderedItem": {
        "@type": "Slot",
        "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3/slots/4484",
        "facilityUse": {
          "@type": "IndividualFacilityUse",
          "@id": "https://localhost:5001/api/identifiers/facility-uses/449/individual-facility-uses/3",
          "aggregateFacilityUse": {
            "@type": "FacilityUse",
            "@id": "https://localhost:5001/api/identifiers/facility-uses/449",
            "name": "Concrete Squash Court",
            "facilityType": [
              {
                "@type": "Concept",
                "@id": "https://openactive.io/facility-types#a1f82b7a-1258-4d9a-8dc5-bfc2ae961651",
                "inScheme": "https://openactive.io/facility-types",
                "prefLabel": "Squash Court"
              }
            ],
            "location": {
              "@type": "Place",
              "@id": "https://example.com/place/2",
              "identifier": 2,
              "name": "Premier Lifters",
              "description": "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
              "address": {
                "@type": "PostalAddress",
                "addressCountry": "GB",
                "addressLocality": "Oxford",
                "addressRegion": "Oxfordshire",
                "postalCode": "OX1 1BB",
                "streetAddress": "Greyfriars Court, Paradise Square"
              },
              "amenityFeature": [
                {
                  "@type": "ChangingFacilities",
                  "name": "Changing Facilities",
                  "value": false
                },
                {
                  "@type": "Showers",
                  "name": "Showers",
                  "value": false
                },
                {
                  "@type": "Lockers",
                  "name": "Lockers",
                  "value": false
                },
                {
                  "@type": "Towels",
                  "name": "Towels",
                  "value": true
                },
                {
                  "@type": "Creche",
                  "name": "Creche",
                  "value": true
                },
                {
                  "@type": "Parking",
                  "name": "Parking",
                  "value": true
                }
              ],
              "geo": {
                "@type": "GeoCoordinates",
                "latitude": 51.7504933,
                "longitude": -1.2620685
              },
              "image": [
                {
                  "@type": "ImageObject",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg"
                }
              ],
              "openingHoursSpecification": [
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Sunday"
                  ],
                  "opens": "09:00"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Monday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Tuesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Wednesday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Thursday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "21:30",
                  "dayOfWeek": [
                    "https://schema.org/Friday"
                  ],
                  "opens": "06:30"
                },
                {
                  "@type": "OpeningHoursSpecification",
                  "closes": "17:30",
                  "dayOfWeek": [
                    "https://schema.org/Saturday"
                  ],
                  "opens": "09:00"
                }
              ],
              "telephone": "01865 000002",
              "url": "https://en.wikipedia.org/wiki/Premier_Inn"
            },
            "url": "https://example.com/events/449"
          },
          "name": "Court 3 at Concrete Squash Court"
        },
        "maximumUses": 1,
        "remainingUses": 1,
        "startDate": "2024-05-12T22:47:18+00:00",
        "endDate": "2024-05-13T00:41:18+00:00"
      },
      "position": 5,
      "unitTaxSpecification": [
        {
          "@type": "TaxChargeSpecification",
          "name": "VAT at 20%",
          "price": 1.848,
          "priceCurrency": "GBP",
          "rate": 0.2
        }
      ]
    }
  ],
  "payment": {
    "@type": "Payment",
    "identifier": "PXP9VvZ2WG",
    "name": "AcmeBroker Points",
    "accountId": "SN1593",
    "paymentProviderId": "STRIPE"
  },
  "seller": {
    "@type": "Organization",
    "@id": "https://localhost:5001/api/identifiers/sellers/1",
    "name": "Acme Fitness Ltd",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "GB",
      "addressLocality": "Another town",
      "addressRegion": "Oxfordshire",
      "postalCode": "OX1 1AA",
      "streetAddress": "1 Hidden Gem"
    },
    "isOpenBookingAllowed": true,
    "legalName": "Acme Fitness Ltd",
    "taxMode": "https://openactive.io/TaxGross",
    "termsOfService": [
      {
        "@type": "PrivacyPolicy",
        "name": "Privacy Policy",
        "requiresExplicitConsent": false,
        "url": "https://example.com/privacy.html"
      }
    ]
  },
  "totalPaymentDue": {
    "@type": "PriceSpecification",
    "openBookingPrepayment": "https://openactive.io/Required",
    "price": 9.24,
    "priceCurrency": "GBP"
  },
  "totalPaymentTax": [
    {
      "@type": "TaxChargeSpecification",
      "name": "VAT at 20%",
      "price": 1.848,
      "priceCurrency": "GBP",
      "rate": 0.2
    }
  ]
}

Specs

✅ B >> validation of B

Specs

Validations