Skip to content

Commit 0158096

Browse files
committed
Clarified scope section
1 parent 0157337 commit 0158096

File tree

2 files changed

+69
-64
lines changed

2 files changed

+69
-64
lines changed

EditorsDraft/edit.html

+33-27
Original file line numberDiff line numberDiff line change
@@ -300,21 +300,26 @@
300300
that have previously been identified and discussed with the OpenActive
301301
community.
302302

303-
The focus of the initial versions of this specification will be on the simplest use cases that will support making bookings on behalf of users. This core functionality includes:
303+
The focus of the initial versions of this specification will be on the simplest use cases that will support making bookings on behalf of users.
304+
305+
The core functionality includes:
304306

305307
* __Guest checkout__ – making a booking on behalf of a <a>Customer</a> who is assumed to be unknown to the <a>Booking System</a> and <a>Seller</a>, and who does not expect a persistent account to be created for them with the <a>Seller</a>.
306308
* __Pricing and availability__ – checking the price and current availabilty of an event or for the use of a facility.
307-
* __Leasing__ – temporarily reserving spaces for a user to attend an event or
308-
make use of a facility, whilst placing a booking
309-
* __Booking__ – placing and viewing bookings, and where necessary, confirming
310-
receipt of payment from users
309+
* __Booking__ – recording bookings in the <a>Booking System</a>.
311310
* __Tax__ – tax calculation by the <a>Booking System</a> exposed to the <a>Broker</a>.
312-
* __Multiple order items__ - handling bookings for multiple events ("shopping carts") and for groups of users
313-
* __Child booking__ - booking on behalf of a child
314-
* __Dynamic pricing__ – allowing the <a>Broker</a> to vary pricing, where agreed with the <a>Seller</a>
315-
* __Booking approval__ – optional approval for <a>Booking Systems</a> that support or require approval for bookings
316-
* __Cancellation__ – <a>Customer</a> and <a>Seller</a> initiated cancellation
317-
* __Access control__ - text, images and barcodes that can be used by the <a>Customer</a> to access the activity
311+
* __Multiple order items__ - handling bookings for multiple events ("shopping carts") and for groups of users.
312+
* __Child booking__ - booking on behalf of a child.
313+
* __Dynamic pricing__ – allowing the <a>Broker</a> to vary pricing, where agreed with the <a>Seller</a>.
314+
* __Cancellation__ – <a>Customer</a> and <a>Seller</a> initiated cancellation .
315+
* __Access control__ - text, images and barcodes that can be used by the <a>Customer</a> to access the activity.
316+
317+
Additional optional functionality includes:
318+
319+
* __Leasing__ – temporarily reserving spaces for a user to attend an event or
320+
make use of a facility, whilst placing a booking.
321+
* __Booking approval__ – optional approval for <a>Booking Systems</a> that support or require approval for bookings.
322+
318323

319324
### Out of Scope in this version
320325

@@ -1138,25 +1143,10 @@
11381143

11391144
<div class="issue" data-number="95"></div>
11401145

1141-
## Extension point for including payments
1142-
1143-
In some limited circumstances it might also be desirable for an Open Booking API to act as a facade over a <a>Booking System</a>, Payment Processor, and Invoicing systems. For these circumstances the specification allows the API defined here to be extended via additional OPTIONAL properties in the `Payment` type used in `B` in a custom namespace, to facilitate a full payment.
1144-
1145-
<pre class="example" title="Example of Payment extension point">
1146-
"payment": {
1147-
"type": "Payment",
1148-
"identifier": "12345678ABCD",
1149-
"paymentMethod": "stripe:StripePayment",
1150-
"stripe:token": "tok_KPte7942xySKBKyrBu11yEpf"
1151-
},
1152-
</pre>
1153-
1154-
Note that due to the variety of business models available in the OpenActive ecosystem, conformance to this specification requires that the use of any native payment functionality in the <a>Booking System</a> be optional, and the <a>Booking System</a> MUST always accept a lack of `paymentMethod` as indication of an external <a>Payment Processor</a> being used. To maximise flexibility of this extension point, `identifier` and `name` within `Payment` are NOT REQUIRED if `paymentMethod` is specified.
1155-
11561146

11571147
## Access control
11581148

1159-
For opportunities based at locations that have access control, it is RECOMMENDED that `OrderItem` include unique access control data within `accessCode` and `accessToken`. An `accessCode` SHOULD be provided for manual use in the event that an `accessToken` fails.
1149+
For opportunities based at locations that have access control, it is REQUIRED that `OrderItem` include unique access control data within `accessCode` and `accessToken`. An `accessCode` SHOULD be provided for manual use in the event that an `accessToken` fails.
11601150

11611151
### Text-based access control
11621152

@@ -1213,6 +1203,22 @@
12131203
],
12141204
</pre>
12151205

1206+
1207+
## Extension point for including payments
1208+
1209+
In some limited circumstances it might also be desirable for an Open Booking API to act as a facade over a <a>Booking System</a>, Payment Processor, and Invoicing systems. For these circumstances the specification allows the API defined here to be extended via additional OPTIONAL properties in the `Payment` type used in `B` in a custom namespace, to facilitate a full payment.
1210+
1211+
<pre class="example" title="Example of Payment extension point">
1212+
"payment": {
1213+
"type": "Payment",
1214+
"identifier": "12345678ABCD",
1215+
"paymentMethod": "stripe:StripePayment",
1216+
"stripe:token": "tok_KPte7942xySKBKyrBu11yEpf"
1217+
},
1218+
</pre>
1219+
1220+
Note that due to the variety of business models available in the OpenActive ecosystem, conformance to this specification requires that the use of any native payment functionality in the <a>Booking System</a> be optional, and the <a>Booking System</a> MUST always accept a lack of `paymentMethod` as indication of an external <a>Payment Processor</a> being used. To maximise flexibility of this extension point, `identifier` and `name` within `Payment` are NOT REQUIRED if `paymentMethod` is specified.
1221+
12161222
</section>
12171223

12181224

0 commit comments

Comments
 (0)