Class representing the state of a customer's subscription journey.

@objc public class CustomerJourneyState:NSObject, NSCoding, Codable {
  let formerSubscriber: Bool
  let inGracePeriod: Bool
  let inTrialPeriod: Bool
  let inIntroOfferPeriod: Bool
  let isCancelled : Bool
  let inPause : Bool
  let inAccountHold : Bool
data class CustomerJourneyState(
    val formerSubscriber: Boolean,
    val inGracePeriod: Boolean,
    val inTrialPeriod: Boolean,
    val inIntroOfferPeriod: Boolean,
    val isCancelled: Boolean = false,
    val inPause: Boolean = false,
    val inAccountHold: Boolean = false
class CustomerJourneyState {
  final bool formerSubscriber;
  final bool inGracePeriod;
  final bool inTrialPeriod;
  final bool inIntroOfferPeriod;
  final bool isCancelled;
  final bool inPause;
  final bool inAccountHold;


  • formerSubscriber - Boolean - indicates if the customer had subscribed in the past.
  • inGracePeriod - Boolean - indicates the subscription has lapsed due to a payment failure where the platform is still trying to actively recover the payment method and the granted entitlements should still be active.
  • inTrialPeriod - Boolean - indicates the customer is in a free trial.
  • inIntroOfferPeriod - Boolean - indicates the customer is in an introductory offer subscription, where their current price is less than the eventual full price.
  • isCancelled - Boolean - indicates if the customer used to be a subscriber and cancelled their subscription renewal
  • inPause - Boolean - indicates if the customer's subscription is paused. Android only
  • inAccountHold - Boolean - indicates if the subscription has lapsed due to a payment failure and the granted entitlements are no longer active