Skip to content

Commit b059bf0

Browse files
committed
Updated diagram based on feedback:
1 parent f1b780b commit b059bf0

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

EditorsDraft/edit.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,7 @@
512512
The `leaseExpires` MAY be used to inform the `Customer` of the time they have remaining.
513513

514514

515+
515516
## Step-by-step process description
516517

517518
<figure>
@@ -527,8 +528,8 @@
527528

528529
ii) **C1** - <a>Broker</a> call with `OrderQuote` including UUID without a `customer` object to check availability and that the combination of items requested can be purchased (call is idempotent), <a>Booking System</a> responds with an `OrderQuote`.
529530

530-
- <a>Booking System</a> creates anonymous lease for that UUID if it is supported, otherwise it provides a simple availability and `totalPaymentDue` confirmation. Response 200 indicates quote has been successfully produced (which implies all requested items are available). Response may include a `lease` to indicate a lease has also been created against the UUID.
531-
- `OrderQuote` includes total pricing confirmation in response for basket to be updated, as well as enumerated `OrderItem`s with their respective details that can be rendered by the <a>Broker</a> to ensure accuracy (rather than relying on syncing with the open feed).
531+
- <a>Booking System</a> creates anonymous lease for that UUID if it is supported, otherwise it provides a simple availability and `totalPaymentDue` confirmation. An `OrderQuote` response with HTTP Status 200 will be returned if the all requested items are available. The `OrderQuote` may include a `lease` to indicate a lease has also been created against the UUID.
532+
- `OrderQuote` includes `totalPaymentDue`, which allows the <a>Broker</a> to update any UI with the total, as well as enumerated `OrderItem`s with their respective details that can be rendered by the <a>Broker</a> to ensure accuracy (rather than relying on syncing with the open feed).
532533
- The <a>Booking System</a> MUST ensure that the data returned to the <a>Broker</a> in the `remainingAttendeeCapacity` and `remainingUses` properties are up-to-date, and only include places already booked and *not* places currently reserved by leases from competing `OrderQuote`s.
533534

534535
iii) "**2. Register / Login**" - User clicks checkout and enters personal details

EditorsDraft/examples.js

+4
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ function dataExampleRateLimitResponse(utils, content) {
7070
});
7171
}
7272

73+
74+
// Switch to including only new orders in the feed, not existing Orders - include issue on this.
75+
76+
7377
//TODO: Include rate limiting scheme!! [DONE]
7478

7579

EditorsDraft/index.html

+6-6
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,8 @@
676676
"id": "openidconnect"
677677
}
678678
},
679-
"publishISODate": "2019-02-26T00:00:00.000Z",
680-
"generatedSubtitle": "Draft Community Group Report 26 February 2019"
679+
"publishISODate": "2019-02-27T00:00:00.000Z",
680+
"generatedSubtitle": "Draft Community Group Report 27 February 2019"
681681
}</script><meta name="description" content="This document specifies an HTTP API for placing bookings to participate in
682682
physical activities, either by attending events or through the use of leisure
683683
or sports facilities."></head>
@@ -688,7 +688,7 @@ <h1 class="title p-name" id="title">Open Booking API 1.0</h1>
688688

689689
<h2>
690690
Draft Community Group Report
691-
<time class="dt-published" datetime="2019-02-26">26 February 2019</time>
691+
<time class="dt-published" datetime="2019-02-27">27 February 2019</time>
692692
</h2>
693693
<dl>
694694

@@ -923,15 +923,15 @@ <h2>
923923
<span class="hljs-string">"type"</span>: <span class="hljs-string">"Lease"</span>,
924924
<span class="hljs-string">"leaseExpires"</span>: <span class="hljs-string">"2018-10-01T11:00:00Z"</span>
925925
}</pre>
926-
</div><p>The <code>leaseExpires</code> <em class="rfc2119" title="MAY">MAY</em> be used to inform the <code>Customer</code> of the time they have remaining.</p></section></section><section id="step-by-step-process-description"><h3 id="x5-3-step-by-step-process-description"><span class="secno">5.3 </span>Step-by-step process description<a class="self-link" aria-label="§" href="#step-by-step-process-description"></a></h3><figure id="fig-sequence-diagram-showing-api-interactions"><img src="sequencediagram.png" alt="Sequence diagram" height="720" width="766">
926+
</div><p>The <code>leaseExpires</code> <em class="rfc2119" title="MAY">MAY</em> be used to inform the <code>Customer</code> of the time they have remaining.</p></section></section><section id="step-by-step-process-description"><h3 id="x5-3-step-by-step-process-description"><span class="secno">5.3 </span>Step-by-step process description<a class="self-link" aria-label="§" href="#step-by-step-process-description"></a></h3><figure id="fig-sequence-diagram-showing-api-interactions"><img src="sequencediagram.png" alt="Sequence diagram" height="720" width="767">
927927
<figcaption>Figure <span class="figno">4</span> <span class="fig-title">Sequence diagram showing API interactions</span></figcaption>
928928
</figure><p>i) "<strong>1. Select</strong>" - User browses broker site anonymously and adds something to basket</p><ul>
929929
<li><a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> <em class="rfc2119" title="MUST">MUST</em> have determined at least one an Open Booking <a href="#dfn-bookable" class="internalDFN" data-link-type="dfn">bookable</a> opportunity each with an associated <a href="#dfn-applicable-offers" class="internalDFN" data-link-type="dfn">Applicable <code>offer</code></a> from the user's browsing, using the most up-to-date opportunity data.</li>
930930
<li><a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> generates session UUID.</li>
931931
<li>If any catastrophic failure occurs during the booking flow, the UUID <em class="rfc2119" title="MUST">MUST</em> be regenerated to allow for a clean retry of the booking. UUID <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em> be regenerated for expected errors.</li>
932932
</ul><p>ii) <strong>C1</strong> - <a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> call with <code>OrderQuote</code> including UUID without a <code>customer</code> object to check availability and that the combination of items requested can be purchased (call is idempotent), <a href="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> responds with an <code>OrderQuote</code>.</p><ul>
933-
<li><a href="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> creates anonymous lease for that UUID if it is supported, otherwise it provides a simple availability and <code>totalPaymentDue</code> confirmation. Response 200 indicates quote has been successfully produced (which implies all requested items are available). Response may include a <code>lease</code> to indicate a lease has also been created against the UUID.</li>
934-
<li><code>OrderQuote</code> includes total pricing confirmation in response for basket to be updated, as well as enumerated <code>OrderItem</code>s with their respective details that can be rendered by the <a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> to ensure accuracy (rather than relying on syncing with the open feed).</li>
933+
<li><a href="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> creates anonymous lease for that UUID if it is supported, otherwise it provides a simple availability and <code>totalPaymentDue</code> confirmation. An <code>OrderQuote</code> response with HTTP Status 200 will be returned if the all requested items are available. The <code>OrderQuote</code> may include a <code>lease</code> to indicate a lease has also been created against the UUID.</li>
934+
<li><code>OrderQuote</code> includes <code>totalPaymentDue</code>, which allows the <a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> to update any UI with the total, as well as enumerated <code>OrderItem</code>s with their respective details that can be rendered by the <a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> to ensure accuracy (rather than relying on syncing with the open feed).</li>
935935
<li>The <a href="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> <em class="rfc2119" title="MUST">MUST</em> ensure that the data returned to the <a href="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> in the <code>remainingAttendeeCapacity</code> and <code>remainingUses</code> properties are up-to-date, and only include places already booked and <em>not</em> places currently reserved by leases from competing <code>OrderQuote</code>s.</li>
936936
</ul><p>iii) "<strong>2. Register / Login</strong>" - User clicks checkout and enters personal details</p><ul>
937937
<li>The <a href="#dfn-customer" class="internalDFN" data-link-type="dfn">Customer</a> <em class="rfc2119" title="MUST">MUST</em> have indicated that their personal information is being submitted to the <a href="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> and the <a href="#dfn-seller" class="internalDFN" data-link-type="dfn">Seller</a>.</li>

EditorsDraft/sequencediagram.png

3.54 KB
Loading

0 commit comments

Comments
 (0)