@@ -56,9 +56,17 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
5656 ///
5757 public var isCustomFieldsTopBannerDismissed : Bool
5858
59- /// Whether the Point of Sale survey notification has been scheduled
59+ /// Whether the Point of Sale survey notification has been scheduled for potential merchants
6060 ///
61- public var isPOSSurveyNotificationScheduled : Bool
61+ public var isPOSSurveyPotentialMerchantNotificationScheduled : Bool
62+
63+ /// Whether the Point of Sale survey notification has been scheduled for current merchants
64+ ///
65+ public var isPOSSurveyCurrentMerchantNotificationScheduled : Bool
66+
67+ /// Whether POS mode has been opened at least once
68+ ///
69+ public var hasPOSBeenOpenedAtLeastOnce : Bool
6270
6371 public init ( installationDate: Date ? ,
6472 feedbacks: [ FeedbackType : FeedbackSettings ] ,
@@ -71,7 +79,9 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
7179 sitesWithAtLeastOneIPPTransactionFinished: Set < Int64 > ,
7280 isEUShippingNoticeDismissed: Bool ,
7381 isCustomFieldsTopBannerDismissed: Bool ,
74- isPOSSurveyNotificationScheduled: Bool ) {
82+ isPOSSurveyPotentialMerchantNotificationScheduled: Bool ,
83+ isPOSSurveyCurrentMerchantNotificationScheduled: Bool ,
84+ hasPOSBeenOpenedAtLeastOnce: Bool ) {
7585 self . installationDate = installationDate
7686 self . feedbacks = feedbacks
7787 self . isViewAddOnsSwitchEnabled = isViewAddOnsSwitchEnabled
@@ -83,7 +93,9 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
8393 self . sitesWithAtLeastOneIPPTransactionFinished = sitesWithAtLeastOneIPPTransactionFinished
8494 self . isEUShippingNoticeDismissed = isEUShippingNoticeDismissed
8595 self . isCustomFieldsTopBannerDismissed = isCustomFieldsTopBannerDismissed
86- self . isPOSSurveyNotificationScheduled = isPOSSurveyNotificationScheduled
96+ self . isPOSSurveyPotentialMerchantNotificationScheduled = isPOSSurveyPotentialMerchantNotificationScheduled
97+ self . isPOSSurveyCurrentMerchantNotificationScheduled = isPOSSurveyCurrentMerchantNotificationScheduled
98+ self . hasPOSBeenOpenedAtLeastOnce = hasPOSBeenOpenedAtLeastOnce
8799 }
88100
89101 public static var `default` : Self {
@@ -97,7 +109,9 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
97109 sitesWithAtLeastOneIPPTransactionFinished: [ ] ,
98110 isEUShippingNoticeDismissed: false ,
99111 isCustomFieldsTopBannerDismissed: false ,
100- isPOSSurveyNotificationScheduled: false )
112+ isPOSSurveyPotentialMerchantNotificationScheduled: false ,
113+ isPOSSurveyCurrentMerchantNotificationScheduled: false ,
114+ hasPOSBeenOpenedAtLeastOnce: false )
101115 }
102116
103117 /// Returns the status of a given feedback type. If the feedback is not stored in the feedback array. it is assumed that it has a pending status.
@@ -128,7 +142,9 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
128142 sitesWithAtLeastOneIPPTransactionFinished: sitesWithAtLeastOneIPPTransactionFinished,
129143 isEUShippingNoticeDismissed: isEUShippingNoticeDismissed,
130144 isCustomFieldsTopBannerDismissed: isCustomFieldsTopBannerDismissed,
131- isPOSSurveyNotificationScheduled: isPOSSurveyNotificationScheduled
145+ isPOSSurveyPotentialMerchantNotificationScheduled: isPOSSurveyPotentialMerchantNotificationScheduled,
146+ isPOSSurveyCurrentMerchantNotificationScheduled: isPOSSurveyCurrentMerchantNotificationScheduled,
147+ hasPOSBeenOpenedAtLeastOnce: hasPOSBeenOpenedAtLeastOnce
132148 )
133149 }
134150
@@ -150,7 +166,9 @@ public struct GeneralAppSettings: Codable, Equatable, GeneratedCopiable {
150166 sitesWithAtLeastOneIPPTransactionFinished: sitesWithAtLeastOneIPPTransactionFinished,
151167 isEUShippingNoticeDismissed: isEUShippingNoticeDismissed,
152168 isCustomFieldsTopBannerDismissed: isCustomFieldsTopBannerDismissed,
153- isPOSSurveyNotificationScheduled: isPOSSurveyNotificationScheduled
169+ isPOSSurveyPotentialMerchantNotificationScheduled: isPOSSurveyPotentialMerchantNotificationScheduled,
170+ isPOSSurveyCurrentMerchantNotificationScheduled: isPOSSurveyCurrentMerchantNotificationScheduled,
171+ hasPOSBeenOpenedAtLeastOnce: hasPOSBeenOpenedAtLeastOnce
154172 )
155173 }
156174}
@@ -176,7 +194,11 @@ extension GeneralAppSettings {
176194 forKey: . sitesWithAtLeastOneIPPTransactionFinished) ?? Set < Int64 > ( [ ] )
177195 self . isEUShippingNoticeDismissed = try container. decodeIfPresent ( Bool . self, forKey: . isEUShippingNoticeDismissed) ?? false
178196 self . isCustomFieldsTopBannerDismissed = try container. decodeIfPresent ( Bool . self, forKey: . isCustomFieldsTopBannerDismissed) ?? false
179- self . isPOSSurveyNotificationScheduled = try container. decodeIfPresent ( Bool . self, forKey: . isPOSSurveyNotificationScheduled) ?? false
197+ //swiftlint:disable:next line_length
198+ self . isPOSSurveyPotentialMerchantNotificationScheduled = try container. decodeIfPresent ( Bool . self, forKey: . isPOSSurveyPotentialMerchantNotificationScheduled) ?? false
199+ //swiftlint:disable:next line_length
200+ self . isPOSSurveyCurrentMerchantNotificationScheduled = try container. decodeIfPresent ( Bool . self, forKey: . isPOSSurveyCurrentMerchantNotificationScheduled) ?? false
201+ self . hasPOSBeenOpenedAtLeastOnce = try container. decodeIfPresent ( Bool . self, forKey: . hasPOSBeenOpenedAtLeastOnce) ?? false
180202 // Decode new properties with `decodeIfPresent` and provide a default value if necessary.
181203 }
182204}
0 commit comments