< Return to Summary | File Generated: Thu Apr 17 2025 12:18:23 GMT+0000 (Coordinated Universal Time)
Booking Flow: OpenBookingApprovalFlow
Opportunity Type: IndividualFacilityUseSlot
Feature: Cancellation / Customer Requested Cancellation (Implemented)
Test: Successful booking and unsuccessful cancellation due to PatchContainsExcessivePropertiesError
PatchContainsExcessivePropertiesError returned because patch request includes other properties than @type, @context, orderProposalStatus and orderCustomerNote
npm start -- --runInBand test/features/cancellation/customer-requested-cancellation/implemented/patch-contains-excessive-properties-error-test.js
The OpenActive Reference Implementation test result for this test can be used as a reference to help with debugging.
⚠️ 20 passed with 0 failures, 144 warnings and 0 suggestions
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#TestOpportunityBookableCancellable",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 11.669112ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1533%2Findividual-facility-uses%2F6%2Fslots%2F15327?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 9.946228ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"identifier": 15327,
"duration": "PT5H4M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"name": "Court 6 at Soft Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"identifier": 1533,
"name": "GOLDEN: Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"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": "03275 656340",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://emile.net"
},
"url": "https://www.example.com/facilities/1533"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
}
],
"remainingUses": 1,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
}
}
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.amenityFeature is missing from Place.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.PUT https://localhost:5001/api/openbooking/order-quote-templates/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
"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/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 92.600214ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"lease": {
"@type": "Lease",
"leaseExpires": "2025-04-17T12:24:05+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/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"name": "Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/1533"
},
"name": "Court 6 at Soft Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"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/Unavailable",
"price": 0,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
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.amenityFeature is missing from Place.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1533%2Findividual-facility-uses%2F6%2Fslots%2F15327?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 1124.247822ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"modified": "1744892347506",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"identifier": 15327,
"duration": "PT5H4M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"name": "Court 6 at Soft Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"identifier": 1533,
"name": "GOLDEN: Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"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": "03275 656340",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://emile.net"
},
"url": "https://www.example.com/facilities/1533"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
}
],
"remainingUses": 0,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
}
}
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.amenityFeature is missing from Place.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.PUT https://localhost:5001/api/openbooking/order-quotes/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
"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]",
"telephone": "1-832-543-0142",
"givenName": "MacGyver",
"familyName": "Alexa",
"identifier": "9b200b18-14b1-4617-9116-58820af27daa"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 107.520282ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"lease": {
"@type": "Lease",
"leaseExpires": "2025-04-17T12:24:06+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",
"identifier": "9b200b18-14b1-4617-9116-58820af27daa",
"email": "[email protected]",
"familyName": "Alexa",
"givenName": "MacGyver",
"telephone": "1-832-543-0142"
},
"orderedItem": [
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"name": "Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/1533"
},
"name": "Court 6 at Soft Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"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/Unavailable",
"price": 0,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
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.amenityFeature is missing from Place.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1533%2Findividual-facility-uses%2F6%2Fslots%2F15327?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 26.818025ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"identifier": 15327,
"duration": "PT5H4M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"name": "Court 6 at Soft Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"identifier": 1533,
"name": "GOLDEN: Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"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": "03275 656340",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://emile.net"
},
"url": "https://www.example.com/facilities/1533"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
}
],
"remainingUses": 0,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
}
}
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.amenityFeature is missing from Place.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.PUT https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@context": "https://openactive.io/",
"@type": "OrderProposal",
"brokerRole": "https://openactive.io/AgentBroker",
"broker": {
"@type": "Organization",
"name": "MyFitnessApp",
"url": "https://myfitnessapp.example.com",
"description": "A fitness app for all the community",
"logo": {
"@type": "ImageObject",
"url": "http://data.myfitnessapp.org.uk/images/logo.png"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "Alan Peacock Way",
"addressLocality": "Village East",
"addressRegion": "Middlesbrough",
"postalCode": "TS4 3AE",
"addressCountry": "GB"
}
},
"seller": "https://localhost:5001/api/identifiers/sellers/1",
"customer": {
"@type": "Person",
"email": "[email protected]",
"telephone": "1-832-543-0142",
"givenName": "MacGyver",
"familyName": "Alexa",
"identifier": "9b200b18-14b1-4617-9116-58820af27daa"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327"
}
],
"totalPaymentDue": {
"@type": "PriceSpecification",
"price": 0,
"priceCurrency": "GBP"
}
}
Response status code: 201 Created. Responded in 182.306206ms.
{
"@context": "https://openactive.io/",
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"orderProposalStatus": "https://openactive.io/AwaitingSellerConfirmation",
"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",
"identifier": "9b200b18-14b1-4617-9116-58820af27daa",
"email": "[email protected]",
"familyName": "Alexa",
"givenName": "MacGyver",
"telephone": "1-832-543-0142"
},
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6#/orderedItems/1239",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"name": "Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/1533"
},
"name": "Court 6 at Soft Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6/versions/131f3d98-4eeb-470c-9c7c-4e274a5afa43",
"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/Unavailable",
"price": 0,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
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.amenityFeature is missing from Place.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.POST http://localhost:3000/order-listeners/order-proposals/primary/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
{}
Response status code: 200 OK. Responded in 13.932882ms.
{
"headers": {
"Accept": "application/json, application/vnd.openactive.booking+json; version=1",
"Cache-Control": "max-age=0",
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NjgsImV4cCI6MTc0NDg5NTA2OCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwianRpIjoiNTYwMUIwRDdDNURDMzg4RTRFNUFFNzY2MDZEODg0RUIiLCJpYXQiOjE3NDQ4OTE0NjgsInNjb3BlIjpbIm9wZW5hY3RpdmUtb3JkZXJzZmVlZCJdfQ.I8naHAowbYjsEu3p-qC-TrJdHUxBn4wUNHSi2bbJbJpj9j-bqpcN9yS2kBOR5Lt7TCuc4Ma52UqGCV2n95lOLXcfdpNK_lxgfWq1M2Lx-MRWPDwdi_t0_gPcmNsXh64hAvCU_Tpmt-TJus4K0xsv5j1s921bUPlunr68gGjVKpJnEF53hE-Ffk3_ZwXIGhDsljRPzMkg3pPwwVqR4wWdYYSik8Amlrdvbm6fvse_yAZwPV3Zo31FLiJYDFWDhjTBGFjkWFzWdcu5QvzngaXoq5MXGT1dzmavRwQk0DnIWk8SDWT7QvUzZgFRF5zSzjsqMzFTBiYOswZgifksuz2lGg"
},
"startingFeedPage": "https://localhost:5001/api/openbooking/order-proposals-rpde?afterTimestamp=638804891418461115&afterId=454f7ba0-0a3d-4b7e-9c28-4b746a8933b8",
"message": "Listening for UUID: '993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6' in feed: order-proposals, for Booking Partner: primary from startingFeedPage using headers"
}
POST https://localhost:5001/api/openbooking/test-interface/actions
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"@type": "test:SellerAcceptOrderProposalSimulateAction",
"object": {
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6"
}
}
Response status code: 204 No Content. Responded in 20.238058ms.
GET http://localhost:3000/order-listeners/order-proposals/primary/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
Response status code: 200 OK. Responded in 2251.90661ms.
{
"state": "updated",
"kind": "Order",
"id": "993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"modified": "638804891476393040",
"data": {
"@context": "https://openactive.io/",
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"identifier": "993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"orderProposalStatus": "https://openactive.io/SellerAccepted",
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6#/orderedItems/1239",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"price": 0,
"priceCurrency": "GBP"
},
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327"
}
],
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6/versions/131f3d98-4eeb-470c-9c7c-4e274a5afa43",
"totalPaymentDue": {
"@type": "PriceSpecification",
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP"
}
}
}
name is missing from Offer.ageRestriction is missing from Offer.allowCustomerCancellationFullRefund is missing from Offer.POST http://localhost:3000/order-listeners/order-proposals/primary/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
{}
Response status code: 200 OK. Responded in 10.784892ms.
{
"headers": {
"Accept": "application/json, application/vnd.openactive.booking+json; version=1",
"Cache-Control": "max-age=0",
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NjgsImV4cCI6MTc0NDg5NTA2OCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwianRpIjoiNTYwMUIwRDdDNURDMzg4RTRFNUFFNzY2MDZEODg0RUIiLCJpYXQiOjE3NDQ4OTE0NjgsInNjb3BlIjpbIm9wZW5hY3RpdmUtb3JkZXJzZmVlZCJdfQ.I8naHAowbYjsEu3p-qC-TrJdHUxBn4wUNHSi2bbJbJpj9j-bqpcN9yS2kBOR5Lt7TCuc4Ma52UqGCV2n95lOLXcfdpNK_lxgfWq1M2Lx-MRWPDwdi_t0_gPcmNsXh64hAvCU_Tpmt-TJus4K0xsv5j1s921bUPlunr68gGjVKpJnEF53hE-Ffk3_ZwXIGhDsljRPzMkg3pPwwVqR4wWdYYSik8Amlrdvbm6fvse_yAZwPV3Zo31FLiJYDFWDhjTBGFjkWFzWdcu5QvzngaXoq5MXGT1dzmavRwQk0DnIWk8SDWT7QvUzZgFRF5zSzjsqMzFTBiYOswZgifksuz2lGg"
},
"startingFeedPage": "https://localhost:5001/api/openbooking/order-proposals-rpde?afterTimestamp=638804891476393040&afterId=993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"message": "Listening for UUID: '993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6' in feed: order-proposals, for Booking Partner: primary from startingFeedPage using headers"
}
PUT https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@context": "https://openactive.io/",
"@type": "Order",
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6/versions/131f3d98-4eeb-470c-9c7c-4e274a5afa43"
}
Response status code: 201 Created. Responded in 148.617386ms.
{
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "Order",
"@id": "https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"identifier": "993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"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",
"identifier": "9b200b18-14b1-4617-9116-58820af27daa",
"email": "[email protected]",
"familyName": "Alexa",
"givenName": "MacGyver",
"telephone": "1-832-543-0142"
},
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6#/orderedItems/1239",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
"accessCode": [
{
"@type": "PropertyValue",
"name": "Pin Code",
"description": "807137"
}
],
"accessPass": [
{
"@type": "ImageObject",
"url": "https://via.placeholder.com/25x25/cccccc/9c9c9c.png"
},
{
"@type": "Barcode",
"text": "2749719844",
"url": "https://via.placeholder.com/25x25/cccccc/9c9c9c.png",
"beta:codeType": "code128"
}
],
"orderedItem": {
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"name": "Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/1533"
},
"name": "Court 6 at Soft Sports Hall"
},
"maximumUses": 1,
"remainingUses": 1,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
},
"orderItemStatus": "https://openactive.io/OrderItemConfirmed",
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"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/Unavailable",
"price": 0,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
accessChannel is missing from OrderItem.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.amenityFeature is missing from Place.email is missing from Organization.url is missing from Organization.logo is missing from Organization.vatID is missing from Organization.GET http://localhost:3000/order-listeners/order-proposals/primary/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
Response status code: 200 OK. Responded in 1292.502569ms.
{
"state": "deleted",
"kind": "Order",
"id": "993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6",
"modified": "638804891499781880"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1533%2Findividual-facility-uses%2F6%2Fslots%2F15327?useCacheIfAvailable=true&expectedCapacity=0
Response status code: 200 OK. Responded in 11.841114ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327",
"identifier": 15327,
"duration": "PT5H4M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6",
"name": "Court 6 at Soft Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533",
"identifier": 1533,
"name": "GOLDEN: Soft 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/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"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": "03275 656340",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://emile.net"
},
"url": "https://www.example.com/facilities/1533"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1533/individual-facility-uses/6/slots/15327#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT6H52M"
}
],
"remainingUses": 0,
"startDate": "2025-04-26T22:41:25+00:00",
"endDate": "2025-04-27T03:45:25+00:00"
}
}
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.amenityFeature is missing from Place.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.PATCH https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6
"application/vnd.openactive.booking+json; version=1""Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3NDQ4OTE0NzEsImV4cCI6MTc0NDg5NTA3MSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiZGRkYzA4ZDMtOGM0MC00OGJjLWI0YjktNDVmZDMzMGUxYzZiIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzQ0ODkxNDcxLCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjI3RjlDQkJBRDJGQjU2MTBCOUYxOTAyNUE0OUQ2RDlBIiwic2lkIjoiMUM5OTRDQUQzRUNGOTFDNUMyMDlFQURGREQ3RUIyMDMiLCJpYXQiOjE3NDQ4OTE0NzEsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.fEYu53J4oLtCgpKHxXbcGQeS0kGo7PzFZm5nk8nD2eZANay4vly7TPouFjWeuUU1bN6fnKR9Z5btivyyFjQ4s6D_k3ZZWXSCOaRhYMbd6wHwvyzpYgxXtuR_c8ALAwlnLrAb3zcNCer2HVM5bC5cCE_mS_xQxnjYx_qI9r8IzKZgbDVlhFJBND9IuTRmdbP99YNl16XM5GiHG8_Hh3oLM8l5tv3d6tI4en0xlWwL9jC2We-7yYXXLtIRenGGe4nG3jlf5mDT1gsIfzcSjxBpCtAQa7wlO03de9eGqcGdqEkOM9H9PO0oLnbbtUgyZy8P_3HNQWOwkRJgaVYB7kBuEw"{
"@context": "https://openactive.io/",
"@type": "Order",
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/993a4bc8-90d2-4ba8-93ca-94eb8f6aeba6#/orderedItems/1239",
"orderItemStatus": "https://openactive.io/CustomerCancelled"
}
],
"@id": "excessiveField"
}
Response status code: 400 Bad Request. Responded in 11.788006ms.
{
"@context": "https://openactive.io/",
"@type": "PatchContainsExcessivePropertiesError",
"name": "The Booking System recognises a PATCH request but the request object contains properties that the Broker is not permitted to update. Custom namespace properties are always excluded from consideration.",
"statusCode": 400
}
"@type": "PatchContainsExcessivePropertiesError" with status code 400description 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.amenityFeature is missing from Place.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.