Skip to content
Last updated

Order prices

When you retrieve an order via GET /orders/{orderUuid}, the response includes detailed pricing information at both the order level and for each individual item. Understanding these price components is essential for accurate invoicing and customer communication.

Price object structure

All price fields in the order response follow a consistent structure:

FieldTypeDescription
currencystringCurrency code (e.g., EUR, USD, GBP)
valuenumberNumeric price value (decimal)
formatted_valuestringHuman-readable formatted price (e.g., $ 21.60)
formatted_iso_valuestringISO formatted price (e.g., $21.60)

Example response

Below is part of an example response from the /orders/{orderUuid} endpoint, showing the various price properties:

{
	"identifier": "MUS0738876",
	"uuid": "8bd6f4a4-ece7-4cf6-a1c4-2455b6f5f514",
	"date": "2024-08-17T15:59:43+0000",
	"status": "OK",
	"items": [
		{
			"uuid": "8b742505-38c7-4bed-9bf5-468a3e7cc731",
			"code": "MOI12345678",
			"quantity": 2,
			"status": "OK",
			"product": {
				"type": "musement",
				"title": "Exclusive skip-the-line guided visit",
				"original_retail_price": {
					"currency": "USD",
					"value": 12.0,
					"formatted_value": "$ 12.00",
					"formatted_iso_value": "$12.00"
				},
				"original_retail_price_without_service_fee": {
					"currency": "USD",
					"value": 10.0,
					"formatted_value": "$ 10.00",
					"formatted_iso_value": "$10.00"
				},
				"retail_price": {
					"currency": "USD",
					"value": 10.8,
					"formatted_value": "$ 10.80",
					"formatted_iso_value": "$10.80"
				},
				"retail_price_without_service_fee": {
					"currency": "USD",
					"value": 8.8,
					"formatted_value": "$ 8.80",
					"formatted_iso_value": "$8.80"
				},
				"discount_amount": {
					"currency": "USD",
					"value": 1.2,
					"formatted_value": "$ 1.20",
					"formatted_iso_value": "$1.20"
				},
				"service_fee": {
					"currency": "USD",
					"value": 2.0,
					"formatted_value": "$ 2.00",
					"formatted_iso_value": "$2.00"
				}
			},
			"retail_price_in_order_currency": {
				"currency": "USD",
				"value": 10.8,
				"formatted_value": "$ 10.80",
				"formatted_iso_value": "$10.80"
			},
			"total_retail_price_in_order_currency": {
				"currency": "USD",
				"value": 21.6,
				"formatted_value": "$ 21.60",
				"formatted_iso_value": "$21.60"
			},
			"vouchers": [
				{
					"url": "https://www.musement.com/voucher/view/abc123?pdf=1"
				}
			]
		}
	],
	"total_price": {
		"currency": "USD",
		"value": 16.85,
		"formatted_value": "$ 16.85",
		"formatted_iso_value": "$16.85"
	},
	"discount_amount": {
		"currency": "USD",
		"value": 7.15,
		"formatted_value": "$ 7.15",
		"formatted_iso_value": "$7.15"
	}
}

Order-level prices

The order contains aggregate price properties that summarize all items:

PropertyDescription
total_priceThe total amount the customer paid for the order. This is the sum of all order items' retail_price values.
discount_amountThe total discount applied to the order, including promo codes and product-level discounts.

Order item prices

Every item in an order corresponds to a cart item from the cart used to create the order. For the most part, the price properties for each order item correspond to the cart item properties. For more information, refer to the cart prices page.

Item-level price properties

PropertyDescription
retail_price_in_order_currencyThe retail_price of a single item's product, regardless of quantity.
total_retail_price_in_order_currencyThe total price for this item: retail_price_in_order_currency × quantity.

Product-level price properties

Each order item's product object contains detailed pricing:

PropertyDescription
original_retail_priceThe original price before any discounts.
original_retail_price_without_service_feeThe original price excluding service fees.
retail_priceThe final price per unit after discounts.
retail_price_without_service_feeThe final price per unit excluding service fees.
discount_amountThe discount applied per unit.
service_feeThe service fee per unit.

Currency handling

The currency for order item prices depends on the payment status:

  • Before payment: The currency matches the original currency of the product.
  • After payment: The currency matches the one used for payment.

This ensures that all prices in a paid order are consistent with the actual transaction currency.

B2B pricing

For B2B partners, order items may include an additional b2b_price field representing the negotiated B2B rate. This field is only present when:

  • The order was placed through a B2B channel
  • A B2B price was configured for the product
{
	"items": [
		{
			"b2b_price": {
				"currency": "EUR",
				"value": 8.5,
				"formatted_value": "€ 8.50",
				"formatted_iso_value": "€8.50"
			}
		}
	]
}

Gift products

When an order item contains a gift product, the pricing structure differs slightly:

{
	"items": [
		{
			"uuid": "gift-item-uuid",
			"product": {
				"type": "gift",
				"original_retail_price": {
					"currency": "EUR",
					"value": 50.0,
					"formatted_value": "€ 50.00",
					"formatted_iso_value": "€50.00"
				},
				"retail_price": {
					"currency": "EUR",
					"value": 50.0,
					"formatted_value": "€ 50.00",
					"formatted_iso_value": "€50.00"
				},
				"discount_amount": {
					"currency": "EUR",
					"value": 0,
					"formatted_value": "€ 0.00",
					"formatted_iso_value": "€0.00"
				},
				"service_fee": {
					"currency": "EUR",
					"value": 0,
					"formatted_value": "€ 0.00",
					"formatted_iso_value": "€0.00"
				}
			},
			"vouchers": [
				{
					"url": "https://www.musement.com/gift/render/xyz789"
				}
			]
		}
	]
}

Price calculation summary

The following formulas summarize how prices are calculated:

LevelCalculation
Item totalretail_price_in_order_currency × quantity = total_retail_price_in_order_currency
Order totalSum of all items' total_retail_price_in_order_currency
Order discountSum of all items' discount_amount × quantity + promo code discounts