Skip to content

B is not idempotent for identical requests #100

Description

@civsiv

The Booking Specification states the following:
"note call to B is idempotent for the case where OrderItems match".

However this is not the case for two identical B requests. An OrderAlreadyExistsError error is returned.

An example of the B request sent is below:

{
"@context": [
"https://openactive.io/"
],
"broker": {
"id": "google",
"name": "Google",
"type": "Organization"
},
"brokerRole": "https://openactive.io/AgentBroker",
"customer": {
"email": "test@example.com",
"familyName": "Doe",
"givenName": "Jane",
"id": "0",
"telephone": "+1 800-789-7890",
"type": "Person"
},
"orderedItem": [
{
"acceptedOffer": {
"id": "https://iminoareferenceimplementation.azurewebsites.net/api/identifiers/session-series/209#/offers/0",
"type": "Offer"
},
"orderedItem": {
"id": "https://iminoareferenceimplementation.azurewebsites.net/api/identifiers/scheduled-sessions/209/events/2084",
"type": "ScheduledSession"
},
"position": 0,
"type": "OrderItem"
}
],
"seller": {
"id": "https://iminoareferenceimplementation.azurewebsites.net/api/identifiers/sellers/1",
"type": "Organization"
},
"totalPaymentDue": {
"price": 0,
"priceCurrency": "GBP",
"type": "PriceSpecification"
},
"type": "Order"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions