< Return to Summary | File Generated: Thu Apr 17 2025 12:29:43 GMT+0000 (Coordinated Universal Time)
Booking Flow: OpenBookingApprovalFlow
Opportunity Type: Multiple
Feature: Restrictions / validFromBeforeStartDate booking window (Implemented)
Test: Running C1 and C2 for opportunity in range should succeed
Booking an opportunity within the specified booking window
npm start -- --runInBand test/features/restrictions/booking-window/implemented/opportunity-in-range-c1-c2-test.js
The OpenActive Reference Implementation test result for this test can be used as a reference to help with debugging.
⚠️ 41 passed with 0 failures, 314 warnings and 90 suggestions
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#TestOpportunityBookableWithinValidFromBeforeStartDate",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 36.399398ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826"
}
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#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 37.855708ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138"
}
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#TestOpportunityBookableWithinValidFromBeforeStartDate",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 36.246825ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817"
}
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#TestOpportunityBookableWithinValidFromBeforeStartDate",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 36.617614ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703"
}
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#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 39.179682ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1383%2Fevents%2F13826?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 23.577386ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"identifier": 1383,
"name": "Concrete Yoga",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#bf1a5e00-cdcf-465d-8c5a-6f57040b7f7e",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Yoga"
}
],
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"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"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1383#/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": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
}
],
"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": "06152 021139",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://jana.net"
},
"url": "https://www.example.com/sessions/1383"
},
"duration": "PT33M",
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1014%2Fevents%2F10138?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 22.114623ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"startDate": "2025-04-26T11:18:25+00:00",
"endDate": "2025-04-26T14:33:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1014",
"identifier": 1014,
"name": "Metal 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/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/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"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": "00621 413170",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kareem.org"
},
"url": "https://www.example.com/sessions/1014"
},
"duration": "PT3H15M",
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 2
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1582%2Findividual-facility-uses%2F6%2Fslots%2F15817?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 19.945998ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"identifier": 15817,
"duration": "PT3H9M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6",
"name": "Court 6 at Frozen Cricket Net",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582",
"identifier": 1582,
"name": "Frozen 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": "04071 667515",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kenton.biz"
},
"url": "https://www.example.com/facilities/1582"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
}
],
"remainingUses": 1,
"startDate": "2025-04-24T23:29:25+00:00",
"endDate": "2025-04-25T02:38:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1571%2Findividual-facility-uses%2F2%2Fslots%2F15703?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 20.023771ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"identifier": 15703,
"duration": "PT2H26M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2",
"name": "Court 2 at Steel Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571",
"identifier": 1571,
"name": "Steel 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": "04485 356967",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://shad.org"
},
"url": "https://www.example.com/facilities/1571"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
}
],
"remainingUses": 1,
"startDate": "2025-04-24T14:02:25+00:00",
"endDate": "2025-04-24T16:28:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1599%2Findividual-facility-uses%2F2%2Fslots%2F15983?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 20.126753ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"identifier": 15983,
"duration": "PT2H",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2",
"name": "Court 2 at Fresh Badminton Court",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599",
"identifier": 1599,
"name": "Fresh Badminton Court",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#9db5681e-700e-4b30-99a5-355885d94db2",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Badminton 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": "01936 893883",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://isom.org"
},
"url": "https://www.example.com/facilities/1599"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
}
],
"remainingUses": 1,
"startDate": "2025-04-19T05:34:25+00:00",
"endDate": "2025-04-19T07:34:25+00:00"
}
}
eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.PUT https://localhost:5001/api/openbooking/order-quote-templates/3c1c7771-8214-405d-930e-59ba3d1840df
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@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/1383#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1383#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1014#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138"
},
{
"@type": "OrderItem",
"position": 3,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817"
},
{
"@type": "OrderItem",
"position": 4,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703"
},
{
"@type": "OrderItem",
"position": 5,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 1279.022313ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/3c1c7771-8214-405d-930e-59ba3d1840df",
"lease": {
"@type": "Lease",
"leaseExpires": "2025-04-17T12:35:13+00:00"
},
"orderRequiresApproval": true,
"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/1383#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"name": "Concrete Yoga",
"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/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/1383"
},
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
},
"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/1383#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"name": "Concrete Yoga",
"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/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/1383"
},
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
},
"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/1014#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"price": 5.76,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"startDate": "2025-04-26T11:18:25+00:00",
"endDate": "2025-04-26T14:33:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1014",
"name": "Metal 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/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/1014"
},
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 2
},
"position": 2,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 1.152,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582",
"name": "Frozen 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/1582"
},
"name": "Court 6 at Frozen Cricket Net"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-24T23:29:25+00:00",
"endDate": "2025-04-25T02:38:25+00:00"
},
"position": 3,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 1.836,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571",
"name": "Steel 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/1571"
},
"name": "Court 2 at Steel Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-24T14:02:25+00:00",
"endDate": "2025-04-24T16:28:25+00:00"
},
"position": 4,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 3.932,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599",
"name": "Fresh Badminton 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/1599"
},
"name": "Court 2 at Fresh Badminton Court"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-19T05:34:25+00:00",
"endDate": "2025-04-19T07:34:25+00:00"
},
"position": 5,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2.788,
"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": 48.54,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 9.708,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1383%2Fevents%2F13826?useCacheIfAvailable=true&expectedCapacity=2
Response status code: 200 OK. Responded in 282.15515ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"modified": "1744893016990",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"identifier": 1383,
"name": "Concrete Yoga",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#bf1a5e00-cdcf-465d-8c5a-6f57040b7f7e",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Yoga"
}
],
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"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"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1383#/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": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
}
],
"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": "06152 021139",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://jana.net"
},
"url": "https://www.example.com/sessions/1383"
},
"duration": "PT33M",
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 2
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1014%2Fevents%2F10138?useCacheIfAvailable=true&expectedCapacity=1
Response status code: 200 OK. Responded in 286.708683ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"modified": "1744893016998",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"startDate": "2025-04-26T11:18:25+00:00",
"endDate": "2025-04-26T14:33:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1014",
"identifier": 1014,
"name": "Metal 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/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/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"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": "00621 413170",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kareem.org"
},
"url": "https://www.example.com/sessions/1014"
},
"duration": "PT3H15M",
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 1
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1582%2Findividual-facility-uses%2F6%2Fslots%2F15817?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 400.695518ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"modified": "1744893017111",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"identifier": 15817,
"duration": "PT3H9M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6",
"name": "Court 6 at Frozen Cricket Net",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582",
"identifier": 1582,
"name": "Frozen 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": "04071 667515",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kenton.biz"
},
"url": "https://www.example.com/facilities/1582"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
}
],
"remainingUses": 0,
"startDate": "2025-04-24T23:29:25+00:00",
"endDate": "2025-04-25T02:38:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1571%2Findividual-facility-uses%2F2%2Fslots%2F15703?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 406.804155ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"modified": "1744893017117",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"identifier": 15703,
"duration": "PT2H26M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2",
"name": "Court 2 at Steel Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571",
"identifier": 1571,
"name": "Steel 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": "04485 356967",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://shad.org"
},
"url": "https://www.example.com/facilities/1571"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
}
],
"remainingUses": 0,
"startDate": "2025-04-24T14:02:25+00:00",
"endDate": "2025-04-24T16:28:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1599%2Findividual-facility-uses%2F2%2Fslots%2F15983?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 431.773942ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"modified": "1744893017124",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"identifier": 15983,
"duration": "PT2H",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2",
"name": "Court 2 at Fresh Badminton Court",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599",
"identifier": 1599,
"name": "Fresh Badminton Court",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#9db5681e-700e-4b30-99a5-355885d94db2",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Badminton 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": "01936 893883",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://isom.org"
},
"url": "https://www.example.com/facilities/1599"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
}
],
"remainingUses": 0,
"startDate": "2025-04-19T05:34:25+00:00",
"endDate": "2025-04-19T07:34:25+00:00"
}
}
eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.PUT https://localhost:5001/api/openbooking/order-quotes/3c1c7771-8214-405d-930e-59ba3d1840df
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@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]"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1383#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1383#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1014#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138"
},
{
"@type": "OrderItem",
"position": 3,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817"
},
{
"@type": "OrderItem",
"position": 4,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703"
},
{
"@type": "OrderItem",
"position": 5,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 985.298909ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/3c1c7771-8214-405d-930e-59ba3d1840df",
"lease": {
"@type": "Lease",
"leaseExpires": "2025-04-17T12:35:17+00:00"
},
"orderRequiresApproval": true,
"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]"
},
"orderedItem": [
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1383#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"name": "Concrete Yoga",
"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/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/1383"
},
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
},
"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/1383#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"name": "Concrete Yoga",
"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/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/1383"
},
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
},
"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/1014#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"price": 5.76,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"startDate": "2025-04-26T11:18:25+00:00",
"endDate": "2025-04-26T14:33:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1014",
"name": "Metal 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/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/1014"
},
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 2
},
"position": 2,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 1.152,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582",
"name": "Frozen 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/1582"
},
"name": "Court 6 at Frozen Cricket Net"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-24T23:29:25+00:00",
"endDate": "2025-04-25T02:38:25+00:00"
},
"position": 3,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 1.836,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571",
"name": "Steel 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/1571"
},
"name": "Court 2 at Steel Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-24T14:02:25+00:00",
"endDate": "2025-04-24T16:28:25+00:00"
},
"position": 4,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 3.932,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599",
"name": "Fresh Badminton 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/1599"
},
"name": "Court 2 at Fresh Badminton Court"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-19T05:34:25+00:00",
"endDate": "2025-04-19T07:34:25+00:00"
},
"position": 5,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2.788,
"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": 48.54,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 9.708,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.eventStatus is missing from ScheduledSession.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.eventStatus is missing from SessionSeries.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.duration is missing from Slot.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1383%2Fevents%2F13826?useCacheIfAvailable=true&expectedCapacity=2
Response status code: 200 OK. Responded in 21.793762ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1383/events/13826",
"startDate": "2025-04-19T16:19:25+00:00",
"endDate": "2025-04-19T16:52:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1383",
"identifier": 1383,
"name": "Concrete Yoga",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#bf1a5e00-cdcf-465d-8c5a-6f57040b7f7e",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Yoga"
}
],
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"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"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1383#/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": false,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT19H37M"
}
],
"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": "06152 021139",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://jana.net"
},
"url": "https://www.example.com/sessions/1383"
},
"duration": "PT33M",
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 2
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1014%2Fevents%2F10138?useCacheIfAvailable=true&expectedCapacity=1
Response status code: 200 OK. Responded in 24.439865ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1014/events/10138",
"startDate": "2025-04-26T11:18:25+00:00",
"endDate": "2025-04-26T14:33:25+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1014",
"identifier": 1014,
"name": "Metal 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/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/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1014#/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": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 5.76,
"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": "00621 413170",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kareem.org"
},
"url": "https://www.example.com/sessions/1014"
},
"duration": "PT3H15M",
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 1
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1582%2Findividual-facility-uses%2F6%2Fslots%2F15817?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 23.105884ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817",
"identifier": 15817,
"duration": "PT3H9M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6",
"name": "Court 6 at Frozen Cricket Net",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582",
"identifier": 1582,
"name": "Frozen 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": "04071 667515",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://kenton.biz"
},
"url": "https://www.example.com/facilities/1582"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1582/individual-facility-uses/6/slots/15817#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 9.18,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT1H6M"
}
],
"remainingUses": 0,
"startDate": "2025-04-24T23:29:25+00:00",
"endDate": "2025-04-25T02:38:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1571%2Findividual-facility-uses%2F2%2Fslots%2F15703?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 21.872197ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703",
"identifier": 15703,
"duration": "PT2H26M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2",
"name": "Court 2 at Steel Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571",
"identifier": 1571,
"name": "Steel 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": "04485 356967",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://shad.org"
},
"url": "https://www.example.com/facilities/1571"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1571/individual-facility-uses/2/slots/15703#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 19.66,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P12DT18H55M"
}
],
"remainingUses": 0,
"startDate": "2025-04-24T14:02:25+00:00",
"endDate": "2025-04-24T16:28:25+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1599%2Findividual-facility-uses%2F2%2Fslots%2F15983?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 20.618575ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983",
"identifier": 15983,
"duration": "PT2H",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2",
"name": "Court 2 at Fresh Badminton Court",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599",
"identifier": 1599,
"name": "Fresh Badminton Court",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#9db5681e-700e-4b30-99a5-355885d94db2",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Badminton 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": "01936 893883",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://isom.org"
},
"url": "https://www.example.com/facilities/1599"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1599/individual-facility-uses/2/slots/15983#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 13.94,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P13DT23H45M"
}
],
"remainingUses": 0,
"startDate": "2025-04-19T05:34:25+00:00",
"endDate": "2025-04-19T07:34:25+00:00"
}
}
eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.ScheduledSession has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.SessionSeries has at least one Offer with price set to 0, it should also have a property named isAccessibleForFree set to true.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus is missing from ScheduledSession.leader is missing from ScheduledSession.url is missing from ScheduledSession.description is missing from SessionSeries.image is missing from SessionSeries.ageRange is missing from SessionSeries.genderRestriction is missing from SessionSeries.leader is missing from SessionSeries.level is missing from SessionSeries.genderRestriction is supplied on a ScheduledSession.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.genderRestriction is supplied on a SessionSeries.ageRange is 18+ when not specified.eventStatus is scheduled if not specified or invalid.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.description is missing from IndividualFacilityUse.image is missing from IndividualFacilityUse.hoursAvailable is missing from IndividualFacilityUse.description is missing from FacilityUse.image is missing from FacilityUse.hoursAvailable is missing from FacilityUse.offers is missing from FacilityUse.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.name is missing from Offer.ageRestriction is missing from Offer.