Pricing Type in Package
Pricing type
Usually we get the value from pricing_type_sym or pricing_type attribute , we have 3 types of pricing types :
- per_pack
- per_person
- per_set Each pricing type has different rules and mechanisms for determining price and how to order the packages, below is a list of packages and each pricing type
| Package name | Type code | Pricing type symbol |
|---|---|---|
| Party pack | pp | per_pack |
| Xperience | xp | per_pack |
| All You Can Eat | ayce | per_person |
| Hungry@home | hah | per_set |
Rules Object :
| Attribute | Data Type |
|---|---|
| duration | number |
| kids_price_rate | number |
| max_seat | number |
| min_seat | number |
| per_pack | number |
| price | string |
| price_description | string |
How to Calculate Price for each pricing type
1. Per person
This type can only select one package and cannot combined even with the same type_code package, the calculation is based on the party size quantity. There are 3 cases how to calculate the price
- Adult price = uses the last array
rules.priceattribute value - Kids Price = get higest kids price in array
kids_price_v2.price_value
- Adult only total price = adult price * adult quantity example :
| qty | price | total | |
|---|---|---|---|
| adult | 2 | 400 | 800 |
| total price | 800 |
- Adult + kid with no kids price (use_kids_price = false)
total price = ( adult quantity * adult price ) + (kids quantity * adult price)
example :
| qty | price | total | |
|---|---|---|---|
| adult | 2 | 500 | 1000 |
| kid | 2 | 500 | 1000 |
| total price | 2000 |
- Adult + kid with kids price (use_kids_price = true)
total price = ( adult quantity * adult price ) + (kids quantity * kids price)
example :
| qty | price | total | |
|---|---|---|---|
| adult | 1 | 500 | 500 |
| kid | 2 | 200 | 400 |
| Total Price | 900 |
2. Per Pack
Can select more than one package with the same type_code , different from per_person the calculation is based on package quantity not party size quantity
package price = uses the last array rules.price attribute value
total price = =sum(package price * package quantity)
example :
| qty | price | total | |
|---|---|---|---|
| party pack a | 2 | 200 | 400 |
| party pack b | 2 | 100 | 200 |
| party pack c | 2 | 50 | 100 |
| total price | 700 |
3. Per Set
Can select more than one package with the same type_code , the calculation is based on package menu
package price = uses the last array rules.price attribute value
total price = =sum(package price * package quantity ) + delivery Price
example :
| qty | price | total | |
|---|---|---|---|
| menu 1 | 1 | 250 | 250 |
| menu 2 | 2 | 100 | 200 |
| delivery fee | 10 | ||
| Total price | 460 |