public struct EncoreAttributes {
// Identity & Basic Info
public let email: String?
public let firstName: String?
public let lastName: String?
public let phoneNumber: String?
// Location
public let postalCode: String?
public let city: String?
public let state: String?
public let countryCode: String?
public let latitude: String?
public let longitude: String?
// Demographics
public let dateOfBirth: String?
public let gender: String?
public let language: String?
// Subscription & Billing
public let subscriptionTier: String?
public let monthsSubscribed: String?
public let billingCycle: String?
public let lastPaymentAmount: String?
// Engagement
public let lastActiveDate: String?
public let totalSessions: String?
// Custom Attributes
public let custom: [String: String]
public init(
email: String? = nil,
firstName: String? = nil,
lastName: String? = nil,
phoneNumber: String? = nil,
postalCode: String? = nil,
city: String? = nil,
state: String? = nil,
countryCode: String? = nil,
latitude: String? = nil,
longitude: String? = nil,
dateOfBirth: String? = nil,
gender: String? = nil,
language: String? = nil,
subscriptionTier: String? = nil,
monthsSubscribed: String? = nil,
billingCycle: String? = nil,
lastPaymentAmount: String? = nil,
lastActiveDate: String? = nil,
totalSessions: String? = nil,
custom: [String: String] = [:]
)
}