EARS: When a seller removes services from a bundle, the system shall cancel them and return their share of the bundle price under the reading.
Story: As a customer who drops one passenger from a bundled trip, I want back the part of the price that passenger's services were worth, so that I pay only for what I keep.
Acceptance criteria:
-
ONE-607.1: When services are removed from a bundle, the system shall mark each named live service that the delivery status table lets be removed CANCELLED with delivery status REMOVED and leave the bundle's other services and its price as they were.
-
ONE-607.2: When services are removed from a bundle, the system shall return the sum of the shares of the services it cancels under the reading, in the bundle's currency.
-
ONE-607.3: When services are removed from a bundle, the system shall return no more than the bundle price.
-
ONE-607.4: When every service of a bundle is removed, the system shall return the whole bundle price.
A bundle here is one order item holding several services, as on the guide's
bundles page. The share of each service is the reading's
(BundleShare). Whether the rest of the bundle is repriced, as the
cancellation page suggests, is not modelled. A service is removed through the
delivery status table (Delivery.endWith), and a named service the
table does not let be removed, such as one still REQUESTED, stays as it was
and is not paid back.