---
title: Product.SubscriptionInfo.PricingTerms.PricingModel
framework: StoreKit
role: symbol
role_heading: Enumeration
platforms: [iOS 27.3+, iPadOS 27.3+, Mac Catalyst 27.3+, macOS 27.3+, tvOS 27.3+, visionOS 27.3+, watchOS 27.3+]
path: storekit/product/subscriptioninfo/pricingterms-swift.struct/pricingmodel-swift.enum
---

# Product.SubscriptionInfo.PricingTerms.PricingModel

The pricing models of an auto-renewable subscription, with the pricing details for each model.

## Declaration

```swift
enum PricingModel
```

## Overview

Overview Switch over a pricing model to get a subscription’s pricing details. A subscription that a customer buys individually uses the Product.SubscriptionInfo.PricingTerms.PricingModel.singlePrice(_:) model. A subscription that a customer buys with seats uses the Product.SubscriptionInfo.PricingTerms.PricingModel.seatBased(_:) model, which provides a per-seat price for each price tier. StoreKit might add pricing models in the future, so include an @unknown default case when you switch over a pricing model. The following example builds a price label for single-price terms, and a label for each price tier of seat-based terms: var priceLabel = "" var tierLabels: [String] = []

switch pricingTerms.pricingModel { case .singlePrice(let singlePrice):     priceLabel = singlePrice.billingInfo.displayPrice case .seatBased(let seatBasedPricing):     tierLabels = seatBasedPricing.priceTiers.map { tier in         let seats = tier.maximumSeats.map { "\(tier.minimumSeats)-\($0)" } ?? "\(tier.minimumSeats)+"         return "\(seats) seats: \(tier.billingInfo.displayPrice) per seat"     } @unknown default:     break } For more information, see Supporting multiseat purchases in your app.

## Topics

### Identifying the pricing model

- [Product.SubscriptionInfo.PricingTerms.PricingModel.singlePrice(_:)](storekit/product/subscriptioninfo/pricingterms-swift.struct/pricingmodel-swift.enum/singleprice(_:).md)
- [Product.SubscriptionInfo.PricingTerms.PricingModel.seatBased(_:)](storekit/product/subscriptioninfo/pricingterms-swift.struct/pricingmodel-swift.enum/seatbased(_:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Getting the pricing model

- [pricingModel](storekit/product/subscriptioninfo/pricingterms-swift.struct/pricingmodel-swift.property.md)
- [Product.SubscriptionInfo.PricingTerms.SinglePrice](storekit/product/subscriptioninfo/pricingterms-swift.struct/singleprice.md)
- [Product.SubscriptionInfo.PricingTerms.SeatBasedPricing](storekit/product/subscriptioninfo/pricingterms-swift.struct/seatbasedpricing.md)
