Concession pricing
Default concession pricing
Each concession item a default price which can be configured by the standard price card structures in Vista. This pricing is available on the GetConcessions or GetConcessionsByTab end-points.
GET: /RESTData.svc/concession-items?cinemaId=0001
{
"ConcessionItems": [
{
"Description": "Large Popcorn",
"Id": "37",
"PriceInCents": 500
},
{
"Description": "Small Popcorn",
"Id": "35",
"PriceInCents": 300
},
{
"Description": "Vanilla Choc-Top",
"Id": "42",
"PriceInCents": 450
},
{
"Description": "Skittles",
"Id": "12",
"PriceInCents": 290
},
{
"Description": "Jumbo Lolly Mix",
"Id": "15",
"PriceInCents": 290
}]
}
Purchasing a concession for the default price is the default behaviour when calling AddConcessions and not specifying the price.
POST: /RESTTicketing.svc/order/concessions
{
"UserSessionId": "a53ac319775849499dd04fd23a6c867b",
"CinemaId": "0001",
"Concessions": [
{
"ItemId": "42",
}
],
"ReturnOrder": true
}
Variable price concessions
A concession may be set up as a variable price concession, which means customers can purchase the item at varying prices within a particular price range. This differs from ticketing in which ability to set price is determined by Connect permissions rather than the ticket data itself.
When getting concessions via the GetConcessionItems or GetConcessionItemsGroupedByTabs endpoints, variable price concessions will contain the following properties:
IsVariablePriceItem
set to trueMinimumVariablePriceInCents
, with some price valueMaximumVariablePriceInCents
with some price value
GET: /RESTData.svc/concession-items?cinemaId=0001
{
"ConcessionItems": [
{
"Description": "Jumbo Lolly Mix",
"Id": "15",
"PriceInCents": 290,
"IsVariablePriceItem": true,
"MinimumVariablePriceInCents": 500,
"MaximumVariablePriceInCents": 1000
}
{
"Description": "Large Popcorn",
"Id": "37",
"PriceInCents": 500,
"IsVariablePriceItem": false,
},
{
"Description": "Small Popcorn",
"Id": "35",
"PriceInCents": 300,
"IsVariablePriceItem": false,
}]
}
To set a price for a variable price concession, you can pass a value into the VariablePriceInCents
property for a Concession
object.
{
"UserSessionId": "string",
"CinemaId": "string",
"Concessions": [
{
"ItemId": "15",
"VariablePriceInCents": 100,
}
],
}
Note: The price value must fall within the allowed price range - the following error will be thrown if the value falls outside the allowed price range:
{
"ErrorDescription": "Invalid Concession or Promo Code : VariablePriceInCents must be between MinimumVariablePriceInCents(<value>) and MaximumVariablePriceInCents(<value>)",
"Result": 4
}
If a VariablePriceInCents
isn't specified for a variable price concession, the price for that concession will be set using the value in PriceInCents
, similar to how prices are set for other concessions.
Other pricing factors
- Concession promotions may reduce the price of a concession if the custoemr provides an appropriate promo code
- If a deal exists for a concession the price may also be reduced
- Concession items that feature modifiers may have their overall price changed as modifiers are added. These additional modifiers are on top of the base price and are not affected by promotions and deals.
Concession price modifier order
The following table describes the order in which price modification/rules are applied to the original price of a concession.
Order | Modification | Example | Modification | Resulting Price |
---|---|---|---|---|
1 | Original Price | 10 dollars | $10.00 | $10.00 |
2 | Deal | 50% off | -$5.00 | $5.00 |
3 | Promotion | 2 dollars off | -$2.00 | $3.00 |
- Not any promotion/deal which sets a price (rather than applying discount) cannot be combined and the best of these will be applied