Booking fees

A booking fee is an additional cost to the patron for making bookings through a sales channel; for example, a patron purchasing tickets online will get a booking fee added to his overall order.

  • Booking fees can be calculated as either:
    • Fixed fee per ticket (e.g. $1 per ticket)
    • Percentage fee per ticket (e.g. 10% of ticket price per ticket)
  • A maximum booking fee can be configured (e.g. $1 per ticket up to a maximum of $5)
  • Booking fees can vary by session, client and booking mode
  • Booking fees are not accrued on concession purchases

Default booking fees

Booking fees are calculated whenever tickets are added/removed to an order and returned with the order itself.

GET: /orders/

{
    "Order": {
        "UserSessionId": "b47e5287860b9c906125343c8dab09c2",
        "CinemaId": "004",
        "TotalValueCents": 2200,
        "BookingFeeValueCents": 200,
        "Sessions": [
            {
                "CinemaId": "004",
                "SessionId": 3107,
                "Tickets": [
                    {
                        "Id": "1",
                        "TicketTypeCode": "0191",
                        "PriceCents": 750,
                        "Description": "Adult",
                        "SeatNumber": "10",
                        "SeatRowId": "P",
                        "DealPriceCents": 1000
                    },
                    {
                        "Id": "2",
                        "TicketTypeCode": "0191",
                        "PriceCents": 750,
                        "Description": "Adult",
                        "SeatNumber": "11",
                        "SeatRowId": "P",
                        "DealPriceCents": 1000
                    }
                ],
                "FilmTitle": "Casablanca",
                "ShowingRealDateTimeOffset": "2018-11-16T16:05:00.0000000+12:00"
            }
        ]
    }
}

Overriding booking fees

If the calling client has suitable permissions the default booking fees can be overriden in AddTickets or SetTickets either per ticket:

POST: /orders//sessions//set-tickets

{
  "tickets": [
        {
            "ticketDetails": {
                "ticketTypeCode": "0001",
                "priceInCents": 1000,
                "bookingFeeOverride": 100
            }
        },
        {
            "ticketDetails": {
                "ticketTypeCode": "0001",
                "priceInCents": 1000,
                "bookingFeeOverride": 50
            }
        }
    ],
  "bookingMode": 0
}

Or as a total for the order:

POST: /orders//sessions//set-tickets

{
    "tickets": [
        {
            "ticketDetails": {
                "ticketTypeCode": "0001",
                "priceInCents": 1000
            }
        },
        {
            "ticketDetails": {
                "ticketTypeCode": "0001",
                "priceInCents": 1000
            }
        }
    ],
    "bookingFeeOverride": 150,
    "bookingMode": 0
}

Booking fee override value is in cents. It is not possible to mix per-ticket and order-level booking fee overrides.

Booking fees & booking mode

The Booking Mode of the order may affect how booking fees are calcualted, as Booking Fee behaviour can differ per booking mode based on Cinema configuration.