< Return to Summary | File Generated: Thu Nov 21 2024 17:50:38 GMT+0000 (Coordinated Universal Time)
Booking Flow: OpenBookingApprovalFlow
Opportunity Type: Multiple
Feature: Payment / Payment reconciliation detail validation (Implemented)
Test: Payment reconciliation detail validation - missing reconciliation details, when payment required
B should return an InvalidPaymentDetailsError due to missing reconciliation data
npm start -- --runInBand test/features/payment/payment-reconciliation-detail-validation/implemented/payment-reconciliation-detail-validation-missing-details-test.js
The OpenActive Reference Implementation test result for this test can be used as a reference to help with debugging.
⚠️ 27 passed with 0 failures, 197 warnings and 54 suggestions
POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities
{
"@type": "ScheduledSession",
"superEvent": {
"@type": "SessionSeries",
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1"
}
},
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableUsingPayment",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 15.512523ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237"
}
POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities
{
"@type": "ScheduledSession",
"superEvent": {
"@type": "SessionSeries",
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1"
}
},
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookable",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 15.102657ms.
{
"@context": "https://openactive.io/",
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1436/events/14360"
}
POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities
{
"@type": "Slot",
"facilityUse": {
"@type": "IndividualFacilityUse",
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1"
}
},
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableUsingPayment",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 14.790725ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393"
}
POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities
{
"@type": "Slot",
"facilityUse": {
"@type": "IndividualFacilityUse",
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1"
}
},
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookableUsingPayment",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 14.715605ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628"
}
POST http://localhost:3000/test-interface/datasets/uat-ci/opportunities
{
"@type": "Slot",
"facilityUse": {
"@type": "IndividualFacilityUse",
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1"
}
},
"@context": [
"https://openactive.io/",
"https://openactive.io/test-interface"
],
"test:testOpportunityCriteria": "https://openactive.io/test-interface#TestOpportunityBookable",
"test:testOpenBookingFlow": "https://openactive.io/test-interface#OpenBookingApprovalFlow"
}
Response status code: 200 OK. Responded in 14.675109ms.
{
"@context": "https://openactive.io/",
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856"
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1324%2Fevents%2F13237?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 14.365832ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237",
"startDate": "2024-11-26T13:40:42+00:00",
"endDate": "2024-11-26T14:33:42+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1324",
"identifier": 1324,
"name": "Wooden Running",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#72ddb2dc-7d75-424e-880a-d90eabe91381",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "Running"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1324#/offers/0",
"name": "Adult (off-peak)",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Adult (off-peak)",
"maxValue": 59,
"minValue": 18
},
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 1.16,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1324#/offers/0",
"name": "Senior",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Senior",
"minValue": 60
},
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 1.16,
"priceCurrency": "GBP"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"sameAs": [
"https://socialmedia.com/AcmeFitnessLtd"
],
"taxMode": "https://openactive.io/TaxGross",
"telephone": "09516 757182",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://danny.com"
},
"url": "https://www.example.com/sessions/1324"
},
"duration": "PT53M",
"maximumAttendeeCapacity": 2,
"remainingAttendeeCapacity": 2
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Fscheduled-sessions%2F1436%2Fevents%2F14360?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 14.060401ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "ScheduledSession",
"@id": "https://localhost:5001/api/identifiers/scheduled-sessions/1436/events/14360",
"startDate": "2024-12-01T08:00:42+00:00",
"endDate": "2024-12-01T10:47:42+00:00",
"superEvent": {
"@type": "SessionSeries",
"@id": "https://localhost:5001/api/identifiers/session-series/1436",
"identifier": 1436,
"name": "GOLDEN: Steel Jumping",
"activity": [
{
"@type": "Concept",
"@id": "https://openactive.io/activity-list#8a4abff3-c616-4f33-80a1-398b88c672a3",
"inScheme": "https://openactive.io/activity-list",
"prefLabel": "World Jumping®"
}
],
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"name": "Adult",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Adult",
"maxValue": 59,
"minValue": 18
},
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 0.87,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT12H13M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"name": "Junior",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Junior",
"maxValue": 17
},
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 0.87,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT12H13M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"name": "Senior",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Senior",
"minValue": 60
},
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 0.87,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT12H13M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"name": "Adult (off-peak)",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"ageRestriction": {
"@type": "QuantitativeValue",
"name": "Adult (off-peak)",
"maxValue": 59,
"minValue": 18
},
"allowCustomerCancellationFullRefund": true,
"latestCancellationBeforeStartDate": "P1D",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 0.87,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P14DT12H13M"
}
],
"organizer": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"sameAs": [
"https://socialmedia.com/AcmeFitnessLtd"
],
"taxMode": "https://openactive.io/TaxGross",
"telephone": "05438 682585",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://jordane.com"
},
"url": "https://www.example.com/sessions/1436"
},
"duration": "PT2H47M",
"maximumAttendeeCapacity": 4,
"remainingAttendeeCapacity": 4
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1540%2Findividual-facility-uses%2F2%2Fslots%2F15393?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 13.895954ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393",
"identifier": 15393,
"duration": "PT2H",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2",
"name": "Court 2 at Cotton Badminton Court",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540",
"identifier": 1540,
"name": "Cotton Badminton Court",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#9db5681e-700e-4b30-99a5-355885d94db2",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Badminton Court"
}
],
"location": {
"@type": "Place",
"@id": "https://example.com/place/2",
"identifier": 2,
"name": "Premier Lifters",
"description": "Where your Fitness Goals are Always Inn-Sight. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1BB",
"streetAddress": "Greyfriars Court, Paradise Square"
},
"amenityFeature": [
{
"@type": "ChangingFacilities",
"name": "Changing Facilities",
"value": false
},
{
"@type": "Showers",
"name": "Showers",
"value": false
},
{
"@type": "Lockers",
"name": "Lockers",
"value": false
},
{
"@type": "Towels",
"name": "Towels",
"value": true
},
{
"@type": "Creche",
"name": "Creche",
"value": true
},
{
"@type": "Parking",
"name": "Parking",
"value": true
}
],
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.7504933,
"longitude": -1.2620685
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/5/53/Cambridge_Orchard_Park_Premier_Inn.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000002",
"url": "https://en.wikipedia.org/wiki/Premier_Inn"
},
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"sameAs": [
"https://socialmedia.com/AcmeFitnessLtd"
],
"taxMode": "https://openactive.io/TaxGross",
"telephone": "04390 518736",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "https://cornelius.biz"
},
"url": "https://www.example.com/facilities/1540"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 18.7,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT13H15M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval"
],
"openBookingPrepayment": "https://openactive.io/Required",
"price": 18.7,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P11DT13H15M"
}
],
"remainingUses": 1,
"startDate": "2024-11-27T03:10:42+00:00",
"endDate": "2024-11-27T05:10:42+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1263%2Findividual-facility-uses%2F7%2Fslots%2F12628?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 13.688426ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628",
"identifier": 12628,
"duration": "PT3H9M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7",
"name": "Court 7 at Frozen Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263",
"identifier": 1263,
"name": "GOLDEN: Frozen Sports Hall",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#da364f9b-8bb2-490e-9e2f-1068790b9e35",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Sports Hall"
}
],
"location": {
"@type": "Place",
"@id": "https://example.com/place/3",
"identifier": 3,
"name": "Stroll & Stretch",
"description": "Casual Calisthenics in the Heart of Commerce. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1UU",
"streetAddress": "Norfolk Street"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.749826,
"longitude": -1.261492
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/2/28/Westfield_Garden_State_Plaza_-_panoramio.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000003",
"url": "https://en.wikipedia.org/wiki/Shopping_center"
},
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"sameAs": [
"https://socialmedia.com/AcmeFitnessLtd"
],
"taxMode": "https://openactive.io/TaxGross",
"telephone": "04280 207585",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://lamar.com"
},
"url": "https://www.example.com/facilities/1263"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 13.2,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 13.2,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 13.2,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": true,
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"price": 13.2,
"priceCurrency": "GBP"
}
],
"remainingUses": 1,
"startDate": "2024-11-22T18:37:42+00:00",
"endDate": "2024-11-22T21:46:42+00:00"
}
}
GET http://localhost:3000/opportunity/https%3A%2F%2Flocalhost%3A5001%2Fapi%2Fidentifiers%2Ffacility-uses%2F1586%2Findividual-facility-uses%2F5%2Fslots%2F15856?useCacheIfAvailable=true
Response status code: 200 OK. Responded in 13.546541ms.
{
"data": {
"@context": [
"https://openactive.io/"
],
"@type": "Slot",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856",
"identifier": 15856,
"duration": "PT3H27M",
"facilityUse": {
"@type": "IndividualFacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5",
"name": "Court 5 at Cotton Sports Hall",
"aggregateFacilityUse": {
"@type": "FacilityUse",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586",
"identifier": 1586,
"name": "Cotton Sports Hall",
"facilityType": [
{
"@type": "Concept",
"@id": "https://openactive.io/facility-types#da364f9b-8bb2-490e-9e2f-1068790b9e35",
"inScheme": "https://openactive.io/facility-types",
"prefLabel": "Sports Hall"
}
],
"location": {
"@type": "Place",
"@id": "https://example.com/place/1",
"identifier": 1,
"name": "Post-ercise Plaza",
"description": "Sorting Out Your Fitness One Parcel Lift at a Time! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"@type": "PostalAddress",
"addressCountry": "GB",
"addressLocality": "Oxford",
"addressRegion": "Oxfordshire",
"postalCode": "OX1 1AA",
"streetAddress": "Kings Mead House"
},
"amenityFeature": [
{
"@type": "ChangingFacilities",
"name": "Changing Facilities",
"value": true
},
{
"@type": "Showers",
"name": "Showers",
"value": true
},
{
"@type": "Lockers",
"name": "Lockers",
"value": true
},
{
"@type": "Towels",
"name": "Towels",
"value": false
},
{
"@type": "Creche",
"name": "Creche",
"value": false
},
{
"@type": "Parking",
"name": "Parking",
"value": false
}
],
"geo": {
"@type": "GeoCoordinates",
"latitude": 51.7502,
"longitude": -1.2674
},
"image": [
{
"@type": "ImageObject",
"url": "https://upload.wikimedia.org/wikipedia/commons/e/e5/Oxford_StAldates_PostOffice.jpg"
}
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Sunday"
],
"opens": "09:00"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Monday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Tuesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Wednesday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Thursday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "21:30",
"dayOfWeek": [
"https://schema.org/Friday"
],
"opens": "06:30"
},
{
"@type": "OpeningHoursSpecification",
"closes": "17:30",
"dayOfWeek": [
"https://schema.org/Saturday"
],
"opens": "09:00"
}
],
"telephone": "01865 000001",
"url": "https://en.wikipedia.org/wiki/Post_Office_Limited"
},
"provider": {
"@type": "Organization",
"@id": "https://localhost:5001/api/identifiers/sellers/1",
"name": "Acme Fitness Ltd",
"isOpenBookingAllowed": true,
"sameAs": [
"https://socialmedia.com/AcmeFitnessLtd"
],
"taxMode": "https://openactive.io/TaxGross",
"telephone": "02551 117695",
"termsOfService": [
{
"@type": "PrivacyPolicy",
"name": "Privacy Policy",
"requiresExplicitConsent": false,
"url": "https://example.com/privacy.html"
}
],
"url": "http://francisco.com"
},
"url": "https://www.example.com/facilities/1586"
}
},
"maximumUses": 1,
"offers": [
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P10DT8H3M"
},
{
"@type": "Offer",
"@id": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856#/offers/0",
"acceptedPaymentMethod": [
"http://purl.org/goodrelations/v1#Cash",
"http://purl.org/goodrelations/v1#PaymentMethodCreditCard"
],
"allowCustomerCancellationFullRefund": false,
"latestCancellationBeforeStartDate": "P1DT16H",
"openBookingFlowRequirement": [
"https://openactive.io/OpenBookingApproval",
"https://openactive.io/OpenBookingNegotiation"
],
"openBookingPrepayment": "https://openactive.io/Unavailable",
"price": 0,
"priceCurrency": "GBP",
"validFromBeforeStartDate": "P10DT8H3M"
}
],
"remainingUses": 1,
"startDate": "2024-11-27T21:01:42+00:00",
"endDate": "2024-11-28T00:28:42+00:00"
}
}
eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.PUT https://localhost:5001/api/openbooking/order-quote-templates/222b042e-efab-4e0a-85cf-6c2538861462
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MzIyMDk2NDYsImV4cCI6MTczMjIxMzI0NiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiOGE3NjY2YTEtN2ZlYi00MjVkLTk1NjktYzBmNjE1NDFkOTVjIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiOGE3NjY2YTEtN2ZlYi00MjVkLTk1NjktYzBmNjE1NDFkOTVjIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzMyMjA5NjQ1LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjE4OEU5QzZCMzU1MzBCOTMxOTdBRUVGNTdDRTQwNjVGIiwic2lkIjoiMUJDNDAzNTU5RDNCNDZGMjMxMUVDRkFGNzgyNEFEQ0EiLCJpYXQiOjE3MzIyMDk2NDYsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.XnFNCTra9y2IXi3N740CSnROyKTwVJzbtliAI5KsdLByBlyv6MUgKvGMGeVQlwLtrwQbqTfkgqvTtIim-eH4wAnQSngRxMqSX3YJCnyJeEynlqJ0Th5TNK380PhyASCysnJWu0MXePNXwI9S0pJtZaUojhHS6tCda8uP6k-5LgnaejbCXHf2YdW4vAcO7czFZ5sc-sTzlPzlsEESUNUYyttsKyOQ6uaiJqqvJ4M3GTGX0eHgLnkRdaoF5hOA341JevIWXwT__RkO-kgpvBV-yy9fzbCz197QNk7-X5fRfKP0MZRIJq9DrHyWzzB2rWZC5qLg8Lk0Skef1OghWt45xg"
{
"@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/1324#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1324#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1436/events/14360"
},
{
"@type": "OrderItem",
"position": 3,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393"
},
{
"@type": "OrderItem",
"position": 4,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628"
},
{
"@type": "OrderItem",
"position": 5,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856"
}
],
"payment": {
"@type": "Payment"
}
}
Response status code: 400 Bad Request. Responded in 49.003597ms.
{
"@context": "https://openactive.io/",
"@type": "InvalidPaymentDetailsError",
"name": "The 'payment' property of the 'OrderQuote' or 'Order' contains data that is not accepted by the Booking System for reconciliation, e.g. an invalid 'accountId'.",
"statusCode": 400,
"description": "Payment reconciliation details do not match"
}
instance
is missing from InvalidPaymentDetailsError
."@type": "InvalidPaymentDetailsError"
with status code 400
eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.PUT https://localhost:5001/api/openbooking/order-quotes/222b042e-efab-4e0a-85cf-6c2538861462
"application/vnd.openactive.booking+json; version=1"
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkIwNEY3QjkxREUzQjk0NzhDNjE4MzNGQjI0QUE1Q0RCIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE3MzIyMDk2NDYsImV4cCI6MTczMjIxMzI0NiwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMyIsImF1ZCI6Im9wZW5ib29raW5nIiwiY2xpZW50X2lkIjoiOGE3NjY2YTEtN2ZlYi00MjVkLTk1NjktYzBmNjE1NDFkOTVjIiwiaHR0cHM6Ly9vcGVuYWN0aXZlLmlvL2NsaWVudElkIjoiOGE3NjY2YTEtN2ZlYi00MjVkLTk1NjktYzBmNjE1NDFkOTVjIiwic3ViIjoiMTAwIiwiYXV0aF90aW1lIjoxNzMyMjA5NjQ1LCJpZHAiOiJsb2NhbCIsImh0dHBzOi8vb3BlbmFjdGl2ZS5pby9zZWxsZXJJZCI6Imh0dHBzOi8vbG9jYWxob3N0OjUwMDEvYXBpL2lkZW50aWZpZXJzL3NlbGxlcnMvMSIsImp0aSI6IjE4OEU5QzZCMzU1MzBCOTMxOTdBRUVGNTdDRTQwNjVGIiwic2lkIjoiMUJDNDAzNTU5RDNCNDZGMjMxMUVDRkFGNzgyNEFEQ0EiLCJpYXQiOjE3MzIyMDk2NDYsInNjb3BlIjpbIm9wZW5pZCIsIm9wZW5hY3RpdmUtb3BlbmJvb2tpbmciLCJvcGVuYWN0aXZlLWlkZW50aXR5Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.XnFNCTra9y2IXi3N740CSnROyKTwVJzbtliAI5KsdLByBlyv6MUgKvGMGeVQlwLtrwQbqTfkgqvTtIim-eH4wAnQSngRxMqSX3YJCnyJeEynlqJ0Th5TNK380PhyASCysnJWu0MXePNXwI9S0pJtZaUojhHS6tCda8uP6k-5LgnaejbCXHf2YdW4vAcO7czFZ5sc-sTzlPzlsEESUNUYyttsKyOQ6uaiJqqvJ4M3GTGX0eHgLnkRdaoF5hOA341JevIWXwT__RkO-kgpvBV-yy9fzbCz197QNk7-X5fRfKP0MZRIJq9DrHyWzzB2rWZC5qLg8Lk0Skef1OghWt45xg"
{
"@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": "(621) 219-0556 x908",
"familyName": "Louie"
},
"orderedItem": [
{
"@type": "OrderItem",
"position": 0,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1324#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237"
},
{
"@type": "OrderItem",
"position": 1,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1324#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1324/events/13237"
},
{
"@type": "OrderItem",
"position": 2,
"acceptedOffer": "https://localhost:5001/api/identifiers/session-series/1436#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/scheduled-sessions/1436/events/14360"
},
{
"@type": "OrderItem",
"position": 3,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1540/individual-facility-uses/2/slots/15393"
},
{
"@type": "OrderItem",
"position": 4,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1263/individual-facility-uses/7/slots/12628"
},
{
"@type": "OrderItem",
"position": 5,
"acceptedOffer": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856#/offers/0",
"orderedItem": "https://localhost:5001/api/identifiers/facility-uses/1586/individual-facility-uses/5/slots/15856"
}
],
"payment": {
"@type": "Payment"
}
}
Response status code: 400 Bad Request. Responded in 32.479388ms.
{
"@context": "https://openactive.io/",
"@type": "InvalidPaymentDetailsError",
"name": "The 'payment' property of the 'OrderQuote' or 'Order' contains data that is not accepted by the Booking System for reconciliation, e.g. an invalid 'accountId'.",
"statusCode": 400,
"description": "Payment reconciliation details do not match"
}
instance
is missing from InvalidPaymentDetailsError
."@type": "InvalidPaymentDetailsError"
with status code 400
eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.eventStatus
is missing from ScheduledSession
.leader
is missing from ScheduledSession
.url
is missing from ScheduledSession
.description
is missing from SessionSeries
.image
is missing from SessionSeries
.ageRange
is missing from SessionSeries
.genderRestriction
is missing from SessionSeries
.leader
is missing from SessionSeries
.level
is missing from SessionSeries
.genderRestriction
is supplied on a ScheduledSession
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.genderRestriction
is supplied on a SessionSeries
.ageRange
is 18+ when not specified.eventStatus
is scheduled if not specified or invalid.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.schema:name
is declared in schema.org but this validator is not yet capable of checking whether they have the right format or values. You should refer to the schema.org documentation for schema:name for additional guidance.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.amenityFeature
is missing from Place
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.description
is missing from IndividualFacilityUse
.image
is missing from IndividualFacilityUse
.hoursAvailable
is missing from IndividualFacilityUse
.description
is missing from FacilityUse
.image
is missing from FacilityUse
.hoursAvailable
is missing from FacilityUse
.offers
is missing from FacilityUse
.name
is missing from Offer
.ageRestriction
is missing from Offer
.name
is missing from Offer
.ageRestriction
is missing from Offer
.