# 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: | Field | Type | Description | | --- | --- | --- | | `currency` | string | Currency code (e.g., `EUR`, `USD`, `GBP`) | | `value` | number | Numeric price value (decimal) | | `formatted_value` | string | Human-readable formatted price (e.g., `$ 21.60`) | | `formatted_iso_value` | string | ISO 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: ```json { "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: | Property | Description | | --- | --- | | `total_price` | The total amount the customer paid for the order. This is the sum of all order items' `retail_price` values. | | `discount_amount` | The 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](/api/booking-flow/cart/prices). ### Item-level price properties | Property | Description | | --- | --- | | `retail_price_in_order_currency` | The `retail_price` of a single item's product, regardless of quantity. | | `total_retail_price_in_order_currency` | The total price for this item: `retail_price_in_order_currency × quantity`. | ### Product-level price properties Each order item's `product` object contains detailed pricing: | Property | Description | | --- | --- | | `original_retail_price` | The original price before any discounts. | | `original_retail_price_without_service_fee` | The original price excluding service fees. | | `retail_price` | The final price per unit after discounts. | | `retail_price_without_service_fee` | The final price per unit excluding service fees. | | `discount_amount` | The discount applied per unit. | | `service_fee` | The 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 ```json { "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: ```json { "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: | Level | Calculation | | --- | --- | | **Item total** | `retail_price_in_order_currency × quantity = total_retail_price_in_order_currency` | | **Order total** | Sum of all items' `total_retail_price_in_order_currency` | | **Order discount** | Sum of all items' `discount_amount × quantity` + promo code discounts |