You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: EditorsDraft/edit.html
+3-2
Original file line number
Diff line number
Diff line change
@@ -512,6 +512,7 @@
512
512
The `leaseExpires` MAY be used to inform the `Customer` of the time they have remaining.
513
513
514
514
515
+
515
516
## Step-by-step process description
516
517
517
518
<figure>
@@ -527,8 +528,8 @@
527
528
528
529
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`.
529
530
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).
532
533
- 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.
533
534
534
535
iii) "**2. Register / Login**" - User clicks checkout and enters personal details
</div><p>The <code>leaseExpires</code><emclass="rfc2119" title="MAY">MAY</em> be used to inform the <code>Customer</code> of the time they have remaining.</p></section></section><sectionid="step-by-step-process-description"><h3id="x5-3-step-by-step-process-description"><spanclass="secno">5.3 </span>Step-by-step process description<aclass="self-link" aria-label="§" href="#step-by-step-process-description"></a></h3><figureid="fig-sequence-diagram-showing-api-interactions"><imgsrc="sequencediagram.png" alt="Sequence diagram" height="720" width="766">
926
+
</div><p>The <code>leaseExpires</code><emclass="rfc2119" title="MAY">MAY</em> be used to inform the <code>Customer</code> of the time they have remaining.</p></section></section><sectionid="step-by-step-process-description"><h3id="x5-3-step-by-step-process-description"><spanclass="secno">5.3 </span>Step-by-step process description<aclass="self-link" aria-label="§" href="#step-by-step-process-description"></a></h3><figureid="fig-sequence-diagram-showing-api-interactions"><imgsrc="sequencediagram.png" alt="Sequence diagram" height="720" width="767">
927
927
<figcaption>Figure <spanclass="figno">4</span><spanclass="fig-title">Sequence diagram showing API interactions</span></figcaption>
928
928
</figure><p>i) "<strong>1. Select</strong>" - User browses broker site anonymously and adds something to basket</p><ul>
929
929
<li><ahref="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a><emclass="rfc2119" title="MUST">MUST</em> have determined at least one an Open Booking <ahref="#dfn-bookable" class="internalDFN" data-link-type="dfn">bookable</a> opportunity each with an associated <ahref="#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>
<li>If any catastrophic failure occurs during the booking flow, the UUID <emclass="rfc2119" title="MUST">MUST</em> be regenerated to allow for a clean retry of the booking. UUID <emclass="rfc2119" title="SHOULD NOT">SHOULD NOT</em> be regenerated for expected errors.</li>
932
932
</ul><p>ii) <strong>C1</strong> - <ahref="#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), <ahref="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> responds with an <code>OrderQuote</code>.</p><ul>
933
-
<li><ahref="#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 <ahref="#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><ahref="#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 <ahref="#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 <ahref="#dfn-broker" class="internalDFN" data-link-type="dfn">Broker</a> to ensure accuracy (rather than relying on syncing with the open feed).</li>
935
935
<li>The <ahref="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a><emclass="rfc2119" title="MUST">MUST</em> ensure that the data returned to the <ahref="#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>
936
936
</ul><p>iii) "<strong>2. Register / Login</strong>" - User clicks checkout and enters personal details</p><ul>
937
937
<li>The <ahref="#dfn-customer" class="internalDFN" data-link-type="dfn">Customer</a><emclass="rfc2119" title="MUST">MUST</em> have indicated that their personal information is being submitted to the <ahref="#dfn-booking-system" class="internalDFN" data-link-type="dfn">Booking System</a> and the <ahref="#dfn-seller" class="internalDFN" data-link-type="dfn">Seller</a>.</li>
0 commit comments