---
title: "Calculate price for a `ReservationOrder`."
method: POST
path: "/providers/Microsoft.Capacity/calculatePrice"
tags: ["Reservation, Calculate"]
---

# Calculate price for a `ReservationOrder`.

`POST /providers/Microsoft.Capacity/calculatePrice`

Calculate price for placing a `ReservationOrder`.

## Query parameters

- `api-version` string, required

## Request body

- PurchaseRequest
  - `sku` SkuName
    - `name` string
  - `location` string — The Azure Region where the reserved resource lives.
  - `properties` PurchaseRequestProperties
    - `reservedResourceType` 'VirtualMachines' | 'SqlDatabases' | 'SuseLinux' | 'CosmosDb' | 'RedHat' | 'SqlDataWarehouse' | 'VMwareCloudSimple' | 'RedHatOsa' | 'Databricks' | 'AppService' | 'ManagedDisk' | 'BlockBlob' | 'RedisCache' | 'AzureDataExplorer' | 'MySql' | 'MariaDb' | 'PostgreSql' | 'DedicatedHost' | 'SapHana' | 'SqlAzureHybridBenefit' | 'AVS' | 'DataFactory' | 'NetAppStorage' | 'AzureFiles' | 'SqlEdge' | 'VirtualMachineSoftware' — The type of the resource that is being reserved.
    - `billingScopeId` string — Subscription that will be charged for purchasing Reservation
    - `term` 'P1Y' | 'P3Y' | 'P5Y' — Represent the term of Reservation.
    - `billingPlan` 'Upfront' | 'Monthly' — Represent the billing plans.
    - `quantity` integer — Quantity of the SKUs that are part of the Reservation. Must be greater than zero.
    - `displayName` string — Friendly name of the Reservation
    - `appliedScopeType` 'Single' | 'Shared' — Type of the Applied Scope.
    - `appliedScopes` string[] — List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.
    - `renew` boolean — Setting this to true will automatically purchase a new reservation on the expiration date time.
    - `reservedResourceProperties` object — Properties specific to each reserved resource type. Not required if not applicable.
      - `instanceFlexibility` 'On' | 'Off' — Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type.

## Response `200`

Detailed price info for purchasing `ReservationOrder`

- CalculatePriceResponse
  - `properties` CalculatePriceResponseProperties
    - `billingCurrencyTotal` object — Currency and amount that customer will be charged in customer's local currency. Tax is not included.
      - `currencyCode` string — The ISO 4217 3-letter currency code for the currency used by this purchase record.
      - `amount` number, double — Amount in pricing currency. Tax is not included.
    - `netTotal` number, double — Net total amount in pricing currency.
    - `taxTotal` number, double — Tax amount in pricing currency.
    - `grandTotal` number, double — Total amount in pricing currency.
    - `isTaxIncluded` boolean — Whether or not tax is included in grand total
    - `isBillingPartnerManaged` boolean — True if billing is managed by Microsoft Partner. Used only for CSP accounts.
    - `reservationOrderId` string — GUID that represents reservation order that can be placed after calculating price.
    - `skuTitle` string — Title of SKU that is being purchased.
    - `skuDescription` string — Description of SKU that is being purchased.
    - `pricingCurrencyTotal` object — Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included.
      - `currencyCode` string — The ISO 4217 3-letter currency code for the currency used by this purchase record.
      - `amount` number
    - `paymentSchedule` PaymentDetail[]
      - `dueDate` string, date — Date when the payment needs to be done.
      - `paymentDate` string, date — Date when the transaction is completed. Is null when it is scheduled.
      - `pricingCurrencyTotal` Price
        - `currencyCode` string — The ISO 4217 3-letter currency code for the currency used by this purchase record.
        - `amount` number, double
      - `billingCurrencyTotal` Price
        - `currencyCode` string — The ISO 4217 3-letter currency code for the currency used by this purchase record.
        - `amount` number, double
      - `billingAccount` string — Shows the Account that is charged for this payment.
      - `status` 'Succeeded' | 'Failed' | 'Scheduled' | 'Cancelled' — Describes whether the payment is completed, failed, cancelled or scheduled in the future.
      - `extendedStatusInfo` ExtendedStatusInfo
        - `statusCode` 'None' | 'Pending' | 'Processing' | 'Active' | 'PurchaseError' | 'PaymentInstrumentError' | 'Split' | 'Merged' | 'Expired' | 'Succeeded'
        - `message` string — The message giving detailed information about the status code.

## Other responses

- `default` — Unexpected error

---

[API](https://skmtc.net/azure/apis/reservations-microsoft-capacity-reservations.md) · [All operations](https://skmtc.net/azure/apis/reservations-microsoft-capacity-reservations/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/reservations-microsoft-capacity-reservations/revisions/1d4481f1bd1e/schema)
