# Group Booking \[BETA]

Multiple attendees can be booked onto a single [Order ](https://docs.imin.co/incorporating-book-and-pay/imin-booking-platform/orders)to attend the same activity. Such a Group Booking can be done using [Authenticated Checkout](https://docs.imin.co/incorporating-book-and-pay/imin-checkout-branding/imin-authenticated-checkout) very similarly to booking for a single attendee.

### Terminology

* **Customer**: The person who is paying for the booking. This is the person who is contacted about changes to the booking (e.g. cancellation) and receives confirmation email
* **Attendee**: A person who will be attending the booked activity.\
  \
  NOTE: Often, the customer will also be an attendee and so their ID will be included twice in the Authenticated Checkout request — once as Customer and once as Attendee.

### Request

**POST** `/api/checkout-sessions`

```json
{
  "@context": ["https://openactive.io/", "https://imin.co/"],
  "type": "imin:CheckoutSession",
  "imin:initialOrder": {
    "type": "OrderQuote",
    "customer": "<< Customer ID >>",
    "broker": {
      "type": "Organization",
      "name": "<< Broker name >>",
      "url": "<< Broker home page URL >>"
    },
    "orderedItem": [
      {
        "type": "OrderItem",
        "orderedItem": {
          "type": "<< Opportunity Type >>",
          "identifier": "<< Opportunity Identifier >>"
        },
        "acceptedOffer": "<< Offer ID >>",
        "attendee": "<< Attendee #1 ID >>"
      },
      {
        "type": "OrderItem",
        "orderedItem": {
          "type": "<< Opportunity Type >>",
          "identifier": "<< Opportunity Identifier >>"
        },
        "acceptedOffer": "<< Offer ID >>",
        "attendee": "<< Attendee #2 ID >>"
      }
    ]
  },
  "imin:navigationLinks": [
    {
      "type": "WebPage",
      "name": "Back to Broker",
      "imin:linkType": "https://imin.co/BackToBrokerLink",
      "url": "<< back to broker URL >>"
    },
    {
      "type": "WebPage",
      "name": "Back to Broker User Profile",
      "imin:linkType": "https://imin.co/BackToBrokerUserProfileLink",
      "url": "<< back to broker user profile URL >>"
    }
  ]
}
```

How this differs from the single-attendee request documented in [the Authenticated Checkout docs](https://docs.imin.co/incorporating-book-and-pay/imin-checkout-branding/imin-authenticated-checkout/..#request):

* `customer` MUST be a Customer Account ID. Customer object is not allowed for Group Booking.
* There are multiple `OrderItem`s. Please include one OrderItem for each Attendee.
* Each OrderItem has a required `attendee` field. Like `customer`, this accepts an imin Customer Account ID (info on Customer Account management [here](https://docs.imin.co/incorporating-book-and-pay/imin-booking-platform/customer-management)). As mentioned above, the ID used in customer may, and often will, also be used as one of the `attendee`s if the person who is booking the activity is also going to attend it.

**Constraints**:

* Only one activity at a time can be booked. In practice, this means that each `OrderItem` must have the same values for `orderedItem` and `acceptedOffer`.
