< Return to Summary | File Generated: Wed Mar 27 2024 14:54:42 GMT+0000 (Coordinated Universal Time)
Booking Flow: OpenBookingApprovalFlow
Opportunity Type: Multiple
Feature: Access / accessChannel - Seller provided remote access (Implemented)
Test: Details about virtual location included in B response.
Online opportunities include, in the B response, either: (1). The virtual location or (2). a customerNotice
informing that the virtual location will be shared before the booked opportunity starts.
npm start -- --runInBand test/features/access/access-channel/implemented/includes-access-channel-or-customer-notice-test.js
The OpenActive Reference Implementation test result for this test can be used as a reference to help with debugging.
⚠️ 32 passed with 0 failures, 350 warnings and 144 suggestions
POST https://localhost:5001/api/openbooking/test-interface/datasets/uat-ci/opportunities
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@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#TestOpportunityOnlineBookable",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 426.594261ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
}
POST https://localhost:5001/api/openbooking/test-interface/datasets/uat-ci/opportunities
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@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 395.288496ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2291%2Fevents%2F20291?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 789.430712ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"modified": "1711551306718",
"data": {
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 10,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age",
"beta:affiliatedLocation": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
}
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2290%2Fevents%2F20290?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 787.426451ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"modified": "1711551306717",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age"
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
}
}
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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
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.PUT https://localhost:5001/api/openbooking/order-quote-templates/f792ad0c-008c-423f-9f6c-2b3a30e95468
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@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/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 219.32349ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/f792ad0c-008c-423f-9f6c-2b3a30e95468",
"lease": {
"@type": "Lease",
"leaseExpires": "2024-03-27T15:00:07+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/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 1,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 0,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2290"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 2,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"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": 20,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 4,
"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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.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
.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%2F2291%2Fevents%2F20291?useCacheIfAvailable=true&expectedCapacity=8
Response status code: 200 OK. Responded in 486.481655ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"modified": "1711551309191",
"data": {
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 10,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age",
"beta:affiliatedLocation": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
}
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 8
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2290%2Fevents%2F20290?useCacheIfAvailable=true&expectedCapacity=9
Response status code: 200 OK. Responded in 485.195455ms.
{
"state": "updated",
"id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"modified": "1711551309192",
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age"
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 9
}
}
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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
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.PUT https://localhost:5001/api/openbooking/order-quotes/f792ad0c-008c-423f-9f6c-2b3a30e95468
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@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-302-447-0267 x809"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290"
}
],
"payment": {
"@type": "Payment",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 200 OK. Responded in 105.574087ms.
{
"@context": "https://openactive.io/",
"@type": "OrderQuote",
"@id": "https://localhost:5001/api/openbooking/order-quotes/f792ad0c-008c-423f-9f6c-2b3a30e95468",
"lease": {
"@type": "Lease",
"leaseExpires": "2024-03-27T15:00:09+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]",
"telephone": "1-302-447-0267 x809"
},
"orderedItem": [
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 1,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 0,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2290"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 2,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"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": 20,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 4,
"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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.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
.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%2F2291%2Fevents%2F20291?useCacheIfAvailable=true&expectedCapacity=8
Response status code: 200 OK. Responded in 7.130638ms.
{
"data": {
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 10,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age",
"beta:affiliatedLocation": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
}
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 8
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2290%2Fevents%2F20290?useCacheIfAvailable=true&expectedCapacity=9
Response status code: 200 OK. Responded in 5.918366ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age"
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 9
}
}
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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
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.PUT https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@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-302-447-0267 x809"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290"
}
],
"totalPaymentDue": {
"@type": "PriceSpecification",
"price": 20,
"priceCurrency": "GBP"
},
"payment": {
"@type": "Payment",
"identifier": "qlytGgCDoP",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 201 Created. Responded in 85.280396ms.
{
"@context": "https://openactive.io/",
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468",
"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",
"email": "[email protected]",
"telephone": "1-302-447-0267 x809"
},
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1273",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 0,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1274",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 1,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1275",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 0,
"priceCurrency": "GBP"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2290"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"position": 2,
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468/versions/7e7f36be-179f-40b7-b126-5916731a77b8",
"payment": {
"@type": "Payment",
"identifier": "qlytGgCDoP",
"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": 20,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 4,
"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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.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
.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.POST http://localhost:3000/order-listeners/order-proposals/primary/f792ad0c-008c-423f-9f6c-2b3a30e95468
Response status code: 200 OK. Responded in 3.323222ms.
{
"headers": {
"Accept": "application/json, application/vnd.openactive.booking+json; version=1",
"Cache-Control": "max-age=0",
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzYsImV4cCI6MTcxMTU1NDI3NiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwianRpIjoiQ0NFNjVCQTA4MjVCMkExQThFNzhEMzAwNjFDMDMyMTciLCJpYXQiOjE3MTE1NTA2NzYsInNjb3BlIjpbIm9wZW5hY3RpdmUtb3JkZXJzZmVlZCJdfQ.fiiEa6QfJPMpfcxL1MXt4O5I3gRosl6lUd4OyCTQ3wW-Sp8hOqSYnyXxLVnwtJHEiRfySeAq0EI36NRRNdVOVhBiiXDANO1v0opF1Ni8uZrE8X4VZV6mwihUlvj4tuTK-wMEU2Njy43iNxQDsmCknlpluj0uAb2tIc9ZaX-MgtxfE_LNi2CSBwsD1JDIjWy-K51HtsJHuOod1e2fTNKeItu6nUeglWTHjgPPwQNDclWZ_00WHrbsV8UfQaYg1hvllWQxxQINncv3ZBxnSqTDErtCZt2JnXDZQqEsxlElkldGf-50vu8WsVKUvI9kfRBI-EJRl_DxH4RXnfqqBivJCg"
},
"startingFeedPage": "https://localhost:5001/api/openbooking/order-proposals-rpde?afterTimestamp=638471481016702235&afterId=998ff38e-4331-4a6d-806e-d8fe547e8c10",
"message": "Listening for UUID: 'f792ad0c-008c-423f-9f6c-2b3a30e95468' 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.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"@type": "test:SellerAcceptOrderProposalSimulateAction",
"object": {
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468"
}
}
Response status code: 204 No Content. Responded in 9.723187ms.
GET http://localhost:3000/order-listeners/order-proposals/primary/f792ad0c-008c-423f-9f6c-2b3a30e95468
Response status code: 200 OK. Responded in 2252.026749ms.
{
"state": "updated",
"kind": "Order",
"id": "f792ad0c-008c-423f-9f6c-2b3a30e95468",
"modified": "638471481109005184",
"data": {
"@context": "https://openactive.io/",
"@type": "OrderProposal",
"@id": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468",
"identifier": "f792ad0c-008c-423f-9f6c-2b3a30e95468",
"orderProposalStatus": "https://openactive.io/SellerAccepted",
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1275",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"price": 0,
"priceCurrency": "GBP"
},
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290"
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1273",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1274",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"price": 10,
"priceCurrency": "GBP"
},
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291"
}
],
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468/versions/7e7f36be-179f-40b7-b126-5916731a77b8",
"totalPaymentDue": {
"@type": "PriceSpecification",
"openBookingPrepayment": "https://openactive.io/Required",
"price": 20,
"priceCurrency": "GBP"
}
}
}
name
is missing from Offer
.ageRestriction
is missing from Offer
.allowCustomerCancellationFullRefund
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.allowCustomerCancellationFullRefund
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.allowCustomerCancellationFullRefund
is missing from Offer
.POST http://localhost:3000/order-listeners/order-proposals/primary/f792ad0c-008c-423f-9f6c-2b3a30e95468
Response status code: 200 OK. Responded in 4.062692ms.
{
"headers": {
"Accept": "application/json, application/vnd.openactive.booking+json; version=1",
"Cache-Control": "max-age=0",
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzYsImV4cCI6MTcxMTU1NDI3NiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwianRpIjoiQ0NFNjVCQTA4MjVCMkExQThFNzhEMzAwNjFDMDMyMTciLCJpYXQiOjE3MTE1NTA2NzYsInNjb3BlIjpbIm9wZW5hY3RpdmUtb3JkZXJzZmVlZCJdfQ.fiiEa6QfJPMpfcxL1MXt4O5I3gRosl6lUd4OyCTQ3wW-Sp8hOqSYnyXxLVnwtJHEiRfySeAq0EI36NRRNdVOVhBiiXDANO1v0opF1Ni8uZrE8X4VZV6mwihUlvj4tuTK-wMEU2Njy43iNxQDsmCknlpluj0uAb2tIc9ZaX-MgtxfE_LNi2CSBwsD1JDIjWy-K51HtsJHuOod1e2fTNKeItu6nUeglWTHjgPPwQNDclWZ_00WHrbsV8UfQaYg1hvllWQxxQINncv3ZBxnSqTDErtCZt2JnXDZQqEsxlElkldGf-50vu8WsVKUvI9kfRBI-EJRl_DxH4RXnfqqBivJCg"
},
"startingFeedPage": "https://localhost:5001/api/openbooking/order-proposals-rpde?afterTimestamp=638471481109005184&afterId=f792ad0c-008c-423f-9f6c-2b3a30e95468",
"message": "Listening for UUID: 'f792ad0c-008c-423f-9f6c-2b3a30e95468' in feed: order-proposals, for Booking Partner: primary from startingFeedPage using headers"
}
PUT https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MTE1NTA2NzcsImV4cCI6MTcxMTU1NDI3NywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiMTk5ODdiNTItYWFiMy00NmQ0LWExNmUtY2RlMTVhNzk1ZGYyIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzExNTUwNjc3LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IkIzRTc5QzgzMjU5QkM0RDNGNDQyMjk2MDFCNDJEOUFBIiwic2lkIjoiMTRENTJGNjQ4MDg3NzE4NjQxOUExMkFFNkIzQUE5M0EiLCJpYXQiOjE3MTE1NTA2NzcsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.kaWBynyJXaD1NSsSX7ngk70SrbkvhAr-VF0lmsFQSo86bjgop2XKv_NF-bYTNqDyhjMgUXj8-JJ9iIhhtux2ocINIQntRJyXLIa8FVi1YCeM5Cv6i8PIvDgsLzb6kkOJgMgyqV-aVAz3TdnCYa6QDuDVy9wJnvm3-60MltbbK21BhEUUVMCwEhYu2mdL7CK2bsbMS7RD0WyGYe2GSePNKxg-9P4IxiJihAKane3CmS6GN0m0WUi2j22Wzn1o2puV22NjzFQKitU37h-IcW73PkDmEtwZWJBPvUlovcIKU_ciIXXOr-aKLTl3FgeVQnKBxZ-7RWP06RKgu_6SMRTyOA"
{
"@context": "https://openactive.io/",
"@type": "Order",
"orderProposalVersion": "https://localhost:5001/api/openbooking/order-proposals/f792ad0c-008c-423f-9f6c-2b3a30e95468/versions/7e7f36be-179f-40b7-b126-5916731a77b8",
"payment": {
"@type": "Payment",
"identifier": "qlytGgCDoP",
"name": "AcmeBroker Points",
"accountId": "SN1593",
"paymentProviderId": "STRIPE"
}
}
Response status code: 201 Created. Responded in 84.20447ms.
{
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "Order",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468",
"identifier": "f792ad0c-008c-423f-9f6c-2b3a30e95468",
"bookingService": {
"@type": "BookingService",
"name": "Acme booking system",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://example.com"
},
"broker": {
"@type": "Organization",
"name": "MyFitnessApp",
"url": "https://myfitnessapp.example.com/"
},
"brokerRole": "https://openactive.io/AgentBroker",
"customer": {
"@type": "Person",
"email": "[email protected]",
"telephone": "1-302-447-0267 x809"
},
"orderedItem": [
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1273",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"accessChannel": {
"@type": "VirtualLocation",
"name": "Zoom Video Chat",
"description": "Please log into Zoom a few minutes before the event",
"accessCode": "9307750036",
"accessId": "1690979410"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"orderItemStatus": "https://openactive.io/OrderItemConfirmed",
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1274",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 10,
"priceCurrency": "GBP"
},
"accessChannel": {
"@type": "VirtualLocation",
"name": "Zoom Video Chat",
"description": "Please log into Zoom a few minutes before the event",
"accessCode": "9307750036",
"accessId": "1690979410"
},
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2291"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"orderItemStatus": "https://openactive.io/OrderItemConfirmed",
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 2,
"priceCurrency": "GBP",
"rate": 0.2
}
]
},
{
"@type": "OrderItem",
"@id": "https://localhost:5001/api/openbooking/orders/f792ad0c-008c-423f-9f6c-2b3a30e95468#/orderedItems/1275",
"acceptedOffer": {
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"price": 0,
"priceCurrency": "GBP"
},
"accessCode": [
{
"@type": "PropertyValue",
"name": "Pin Code",
"description": "802463"
}
],
"accessPass": [
{
"@type": "ImageObject",
"url": "https://via.placeholder.com/25x25/cccccc/9c9c9c.png"
},
{
"@type": "Barcode",
"text": "2809575329",
"url": "https://via.placeholder.com/25x25/cccccc/9c9c9c.png",
"beta:codeType": "code128"
}
],
"orderedItem": {
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"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",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"url": "https://example.com/events/2290"
},
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 10
},
"orderItemStatus": "https://openactive.io/OrderItemConfirmed",
"unitTaxSpecification": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 0,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
],
"payment": {
"@type": "Payment",
"identifier": "qlytGgCDoP",
"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": 20,
"priceCurrency": "GBP"
},
"totalPaymentTax": [
{
"@type": "TaxChargeSpecification",
"name": "VAT at 20%",
"price": 4,
"priceCurrency": "GBP",
"rate": 0.2
}
]
}
accessCode
is missing from OrderItem
.accessPass
is missing from OrderItem
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.accessCode
is missing from OrderItem
.accessPass
is missing from OrderItem
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.accessChannel
is missing from OrderItem
.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.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
.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/order-listeners/order-proposals/primary/f792ad0c-008c-423f-9f6c-2b3a30e95468
Response status code: 200 OK. Responded in 1184.797363ms.
{
"state": "deleted",
"kind": "Order",
"id": "f792ad0c-008c-423f-9f6c-2b3a30e95468",
"modified": "638471481132061397"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2291%2Fevents%2F20291?useCacheIfAvailable=true&expectedCapacity=8
Response status code: 200 OK. Responded in 6.024503ms.
{
"data": {
"@context": [
"https://openactive.io/",
"https://openactive.io/ns-beta"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2291/events/20291",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2291",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Virtual Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2291#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 10,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age",
"beta:affiliatedLocation": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
}
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 8
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F2290%2Fevents%2F20290?useCacheIfAvailable=true&expectedCapacity=9
Response status code: 200 OK. Responded in 5.514792ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/2290/events/20290",
"startDate": "2024-03-28T14:55:04+00:00",
"endDate": "2024-03-28T15:55:04+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/2290",
"name": "[OPEN BOOKING API TEST INTERFACE] Bookable Event",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#c07d63a0-8eb9-4602-8bcc-23be6deb8f83",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Jet Skiing"
}
],
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"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"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/2290#/offers/0",
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"price": 0,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"taxMode": "https://openactive.io/TaxGross",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
]
},
"url": "https://www.example.com/a-session-age"
},
"duration": "PT1H",
"maximumAttendeeCapacity": 10,
"remainingAttendeeCapacity": 9
}
}
accessChannel
or a customerNotice
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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
is missing from Organization
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.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.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
.@id
is missing from Place
.openingHoursSpecification
is missing from Place
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.url
is missing from Organization
.telephone
is missing from Organization
.sameAs
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.