reach-api-sdk 1.0.206 → 1.0.208

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/reach-sdk.d.ts +16293 -14979
  2. package/dist/reach-sdk.js +1373 -417
  3. package/package.json +1 -1
  4. package/src/apiClient.ts +6 -0
  5. package/src/definition/swagger.yaml +3611 -267
  6. package/src/index.ts +18 -0
  7. package/src/models/Attendee.ts +9 -4
  8. package/src/models/AttendeePatch.ts +13 -0
  9. package/src/models/AttendeePost.ts +14 -1
  10. package/src/models/AttendeeWalletDeductionPreview.ts +51 -0
  11. package/src/models/CoursePatch.ts +2 -0
  12. package/src/models/CoursePost.ts +2 -0
  13. package/src/models/Customer.ts +6 -6
  14. package/src/models/CustomerAccountInvitePatch.ts +26 -0
  15. package/src/models/CustomerPatch.ts +2 -2
  16. package/src/models/CustomerPost.ts +2 -2
  17. package/src/models/CustomerWalletDeductionPreview.ts +36 -0
  18. package/src/models/EndUserIdentity.ts +4 -0
  19. package/src/models/Order.ts +6 -0
  20. package/src/models/RecentOrderActivityReport.ts +4 -0
  21. package/src/models/SessionPatch.ts +2 -0
  22. package/src/models/SessionPost.ts +2 -0
  23. package/src/models/SurveySubmitAttendee.ts +4 -0
  24. package/src/models/TenantSetting.ts +8 -0
  25. package/src/models/TotalRevenueReport.ts +4 -0
  26. package/src/models/VenuePatch.ts +2 -0
  27. package/src/models/VenuePost.ts +3 -0
  28. package/src/models/Wallet.ts +60 -0
  29. package/src/models/WalletDeductionPreview.ts +44 -0
  30. package/src/models/WalletPage.ts +12 -0
  31. package/src/models/WalletPatch.ts +23 -0
  32. package/src/models/WalletPost.ts +29 -0
  33. package/src/models/WalletRemoveCreditPost.ts +19 -0
  34. package/src/models/WalletTopUpPost.ts +19 -0
  35. package/src/models/WalletTrackingLevel.ts +12 -0
  36. package/src/models/WalletTransaction.ts +61 -0
  37. package/src/models/WalletTransactionPage.ts +12 -0
  38. package/src/models/WalletTransactionPatch.ts +22 -0
  39. package/src/models/WalletTransactionPost.ts +33 -0
  40. package/src/models/WalletTransactionType.ts +14 -0
  41. package/src/services/AttendeesService.ts +0 -30
  42. package/src/services/CustomersService.ts +35 -0
  43. package/src/services/WalletTransactionsService.ts +755 -0
  44. package/src/services/WalletsService.ts +901 -0
package/src/index.ts CHANGED
@@ -26,6 +26,7 @@ export type { Attendee } from './models/Attendee';
26
26
  export type { AttendeePage } from './models/AttendeePage';
27
27
  export type { AttendeePatch } from './models/AttendeePatch';
28
28
  export type { AttendeePost } from './models/AttendeePost';
29
+ export type { AttendeeWalletDeductionPreview } from './models/AttendeeWalletDeductionPreview';
29
30
  export type { AutoCompleteResponseModel } from './models/AutoCompleteResponseModel';
30
31
  export { AvailabilityIndicator } from './models/AvailabilityIndicator';
31
32
  export { BookingStatus } from './models/BookingStatus';
@@ -68,6 +69,7 @@ export type { CreateVenue } from './models/CreateVenue';
68
69
  export { CustomDateRange } from './models/CustomDateRange';
69
70
  export type { CustomDateRangeOption } from './models/CustomDateRangeOption';
70
71
  export type { Customer } from './models/Customer';
72
+ export type { CustomerAccountInvitePatch } from './models/CustomerAccountInvitePatch';
71
73
  export { CustomerCancellationOption } from './models/CustomerCancellationOption';
72
74
  export type { CustomerEmailPatch } from './models/CustomerEmailPatch';
73
75
  export type { CustomerPage } from './models/CustomerPage';
@@ -75,6 +77,7 @@ export type { CustomerPatch } from './models/CustomerPatch';
75
77
  export type { CustomerPost } from './models/CustomerPost';
76
78
  export type { CustomerStats } from './models/CustomerStats';
77
79
  export { CustomerType } from './models/CustomerType';
80
+ export type { CustomerWalletDeductionPreview } from './models/CustomerWalletDeductionPreview';
78
81
  export { CustomFieldDataType } from './models/CustomFieldDataType';
79
82
  export type { CustomFieldDefinition } from './models/CustomFieldDefinition';
80
83
  export type { CustomFieldDefinitionPage } from './models/CustomFieldDefinitionPage';
@@ -469,6 +472,19 @@ export type { WaitlistOpportunityReport } from './models/WaitlistOpportunityRepo
469
472
  export type { WaitlistOpportunityReportPage } from './models/WaitlistOpportunityReportPage';
470
473
  export type { WaitlistOpportunityReportPatch } from './models/WaitlistOpportunityReportPatch';
471
474
  export type { WaitlistOpportunityReportPost } from './models/WaitlistOpportunityReportPost';
475
+ export type { Wallet } from './models/Wallet';
476
+ export type { WalletDeductionPreview } from './models/WalletDeductionPreview';
477
+ export type { WalletPage } from './models/WalletPage';
478
+ export type { WalletPatch } from './models/WalletPatch';
479
+ export type { WalletPost } from './models/WalletPost';
480
+ export type { WalletRemoveCreditPost } from './models/WalletRemoveCreditPost';
481
+ export type { WalletTopUpPost } from './models/WalletTopUpPost';
482
+ export { WalletTrackingLevel } from './models/WalletTrackingLevel';
483
+ export type { WalletTransaction } from './models/WalletTransaction';
484
+ export type { WalletTransactionPage } from './models/WalletTransactionPage';
485
+ export type { WalletTransactionPatch } from './models/WalletTransactionPatch';
486
+ export type { WalletTransactionPost } from './models/WalletTransactionPost';
487
+ export { WalletTransactionType } from './models/WalletTransactionType';
472
488
 
473
489
  export { ActivityService } from './services/ActivityService';
474
490
  export { ActivityPerformanceService } from './services/ActivityPerformanceService';
@@ -590,3 +606,5 @@ export { WaitlistActivityService } from './services/WaitlistActivityService';
590
606
  export { WaitlistActivityReportService } from './services/WaitlistActivityReportService';
591
607
  export { WaitlistOpportunityService } from './services/WaitlistOpportunityService';
592
608
  export { WaitlistOpportunityReportService } from './services/WaitlistOpportunityReportService';
609
+ export { WalletsService } from './services/WalletsService';
610
+ export { WalletTransactionsService } from './services/WalletTransactionsService';
@@ -3,6 +3,9 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { EndUserIdentity } from './EndUserIdentity';
7
+ import type { Wallet } from './Wallet';
8
+
6
9
  /**
7
10
  * Represents a Attendee within the Reach application.
8
11
  */
@@ -31,14 +34,14 @@ export type Attendee = {
31
34
  * Gets or sets a value indicating whether the record is live and available for use within the application.
32
35
  */
33
36
  isLive: boolean;
34
- /**
35
- * Gets or sets the venue id.
36
- */
37
- venueId: string;
38
37
  /**
39
38
  * Gets or sets the customer id.
40
39
  */
41
40
  customerId: string;
41
+ /**
42
+ * Gets or sets the end user identity id.
43
+ */
44
+ endUserIdentityId?: string | null;
42
45
  /**
43
46
  * Gets or sets the first name.
44
47
  */
@@ -55,4 +58,6 @@ export type Attendee = {
55
58
  * Gets the attendees full name.
56
59
  */
57
60
  readonly fullName?: string | null;
61
+ wallet?: Wallet;
62
+ endUserIdentity?: EndUserIdentity;
58
63
  };
@@ -15,4 +15,17 @@ export type AttendeePatch = {
15
15
  * Gets or sets the Id.
16
16
  */
17
17
  id: string;
18
+ /**
19
+ * Gets or sets the attendee first name.
20
+ */
21
+ firstName?: string | null;
22
+ /**
23
+ * Gets or sets the attendee last name.
24
+ */
25
+ lastName?: string | null;
26
+ /**
27
+ * Gets or sets the attendee date of birth.
28
+ * This updates the linked end_user_identity record, not the attendee directly.
29
+ */
30
+ dateOfBirth?: string | null;
18
31
  };
@@ -20,7 +20,20 @@ export type AttendeePost = {
20
20
  */
21
21
  lastName: string;
22
22
  /**
23
- * Gets or sets the attendee last name.
23
+ * Gets or sets the customer id that the attendee belongs to.
24
24
  */
25
25
  customerId: string;
26
+ /**
27
+ * Gets or sets the initial wallet balance for the attendee.
28
+ * This is only applicable when wallet tracking level is set to Attendee.
29
+ * When wallet tracking level is Attendee, a wallet is always created for the attendee.
30
+ * If InitialWalletBalance is provided and greater than 0, the wallet will be topped up with this amount.
31
+ * If not provided or set to 0, the wallet will be created with a balance of 0.
32
+ */
33
+ initialWalletBalance?: number | null;
34
+ /**
35
+ * Gets or sets the attendee date of birth.
36
+ * This is used to resolve or create the linked end_user_identity record for person-level identity tracking.
37
+ */
38
+ dateOfBirth?: string | null;
26
39
  };
@@ -0,0 +1,51 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { Attendee } from './Attendee';
7
+
8
+ /**
9
+ * Represents attendee-level wallet deduction preview information.
10
+ */
11
+ export type AttendeeWalletDeductionPreview = {
12
+ /**
13
+ * Gets or sets the attendee id.
14
+ */
15
+ attendeeId?: string;
16
+ attendee?: Attendee;
17
+ /**
18
+ * Gets or sets the attendee's first name.
19
+ */
20
+ firstName?: string | null;
21
+ /**
22
+ * Gets or sets the attendee's last name.
23
+ */
24
+ lastName?: string | null;
25
+ /**
26
+ * Gets or sets the attendee's current wallet balance.
27
+ */
28
+ currentBalance?: number;
29
+ /**
30
+ * Gets or sets the amount that will be deducted from the attendee's wallet.
31
+ */
32
+ amountToDeduct?: number;
33
+ /**
34
+ * Gets or sets the wallet balance after deduction.
35
+ */
36
+ balanceAfterDeduction?: number;
37
+ /**
38
+ * Gets or sets the attendee's payment amount (their portion of the order total).
39
+ */
40
+ paymentAmount?: number;
41
+ /**
42
+ * Gets or sets a value indicating whether this attendee's wallet balance is sufficient to cover their payment amount.
43
+ * This is only relevant when wallet-only payments are enabled.
44
+ */
45
+ isWalletBalanceSufficient?: boolean;
46
+ /**
47
+ * Gets or sets a value indicating whether this attendee's portion of the order can be processed based on wallet-only payment requirements.
48
+ * Returns false if wallet-only payments are enabled and this attendee's wallet balance is insufficient.
49
+ */
50
+ canProcessAttendeeOrder?: boolean;
51
+ };
@@ -5,6 +5,7 @@
5
5
 
6
6
  import type { CheckoutPlatform } from './CheckoutPlatform';
7
7
  import type { CourseBookingCutoff } from './CourseBookingCutoff';
8
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
8
9
  import type { Gender } from './Gender';
9
10
  import type { UpdateEmailSettings } from './UpdateEmailSettings';
10
11
  import type { UpdateOffer } from './UpdateOffer';
@@ -157,4 +158,5 @@ export type CoursePatch = {
157
158
  * Gets or sets the course offers.
158
159
  */
159
160
  offers?: Array<UpdateOffer> | null;
161
+ customFields?: CustomFieldsBulkUpdate;
160
162
  };
@@ -3,6 +3,7 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
6
7
  import type { UpdateEmailSettings } from './UpdateEmailSettings';
7
8
 
8
9
  /**
@@ -14,4 +15,5 @@ export type CoursePost = {
14
15
  */
15
16
  tenantId: string;
16
17
  emailSettings?: UpdateEmailSettings;
18
+ customFields?: CustomFieldsBulkUpdate;
17
19
  };
@@ -4,8 +4,10 @@
4
4
  /* eslint-disable */
5
5
 
6
6
  import type { Attendee } from './Attendee';
7
+ import type { Country } from './Country';
7
8
  import type { CustomerStats } from './CustomerStats';
8
9
  import type { CustomerType } from './CustomerType';
10
+ import type { Wallet } from './Wallet';
9
11
 
10
12
  /**
11
13
  * Represents an organisation within the Reach application.
@@ -39,10 +41,6 @@ export type Customer = {
39
41
  * Gets or sets the customer provider id.
40
42
  */
41
43
  providerId?: string | null;
42
- /**
43
- * Gets or sets the venue id.
44
- */
45
- venueId?: string | null;
46
44
  type?: CustomerType;
47
45
  /**
48
46
  * Gets or sets the first name.
@@ -85,13 +83,14 @@ export type Customer = {
85
83
  */
86
84
  addressPostalcode?: string | null;
87
85
  /**
88
- * Gets or sets the customer locality.
86
+ * Gets or sets the customer country id.
89
87
  */
90
- addressCountry?: string | null;
88
+ countryId?: number | null;
91
89
  /**
92
90
  * Gets or sets a value indicating whether the customer is opted into marketing.
93
91
  */
94
92
  marketingOptIn?: boolean;
93
+ country?: Country;
95
94
  /**
96
95
  * Gets or sets a value indicating whether the customer is an active customer, that is, they have completed at least 1 order through to the 'Booked' stage.
97
96
  */
@@ -109,4 +108,5 @@ export type Customer = {
109
108
  * Gets or sets the attendees registered by the customer.
110
109
  */
111
110
  attendees?: Array<Attendee> | null;
111
+ wallet?: Wallet;
112
112
  };
@@ -0,0 +1,26 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Patch model for sending account invite email to the customer.
8
+ */
9
+ export type CustomerAccountInvitePatch = {
10
+ /**
11
+ * Gets or sets the tenant Id.
12
+ */
13
+ tenantId: string;
14
+ /**
15
+ * Gets or sets the Id.
16
+ */
17
+ id: string;
18
+ /**
19
+ * Gets or sets the acceptance code for the account invite.
20
+ */
21
+ acceptanceCode?: string | null;
22
+ /**
23
+ * Gets or sets the base domain for the invite link. If not provided, will use configuration value.
24
+ */
25
+ baseDomain?: string | null;
26
+ };
@@ -55,9 +55,9 @@ export type CustomerPatch = {
55
55
  */
56
56
  addressPostalcode?: string | null;
57
57
  /**
58
- * Gets or sets the customer country.
58
+ * Gets or sets the customer country id.
59
59
  */
60
- addressCountry?: string | null;
60
+ countryId?: number | null;
61
61
  /**
62
62
  * Gets or sets a value indicating whether the customer is opted into marketing.
63
63
  */
@@ -55,9 +55,9 @@ export type CustomerPost = {
55
55
  */
56
56
  addressPostalcode?: string | null;
57
57
  /**
58
- * Gets or sets the customer country.
58
+ * Gets or sets the customer country id.
59
59
  */
60
- addressCountry?: string | null;
60
+ countryId?: number | null;
61
61
  /**
62
62
  * Gets or sets a value indicating whether the customer is opted into marketing.
63
63
  */
@@ -0,0 +1,36 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Represents customer-level wallet deduction preview information.
8
+ */
9
+ export type CustomerWalletDeductionPreview = {
10
+ /**
11
+ * Gets or sets the customer id.
12
+ */
13
+ customerId?: string;
14
+ /**
15
+ * Gets or sets the customer's current wallet balance.
16
+ */
17
+ currentBalance?: number;
18
+ /**
19
+ * Gets or sets the amount that will be deducted from the customer's wallet.
20
+ */
21
+ amountToDeduct?: number;
22
+ /**
23
+ * Gets or sets the wallet balance after deduction.
24
+ */
25
+ balanceAfterDeduction?: number;
26
+ /**
27
+ * Gets or sets a value indicating whether the customer's wallet balance is sufficient to cover the full order amount.
28
+ * This is only relevant when wallet-only payments are enabled.
29
+ */
30
+ isWalletBalanceSufficient?: boolean;
31
+ /**
32
+ * Gets or sets a value indicating whether the order can be processed based on wallet-only payment requirements.
33
+ * Returns false if wallet-only payments are enabled and the customer's wallet balance is insufficient.
34
+ */
35
+ canProcessOrder?: boolean;
36
+ };
@@ -23,6 +23,10 @@ export type EndUserIdentity = {
23
23
  * Gets or sets the last name.
24
24
  */
25
25
  lastName?: string | null;
26
+ /**
27
+ * Gets or sets the date of birth.
28
+ */
29
+ dateOfBirth?: string | null;
26
30
  /**
27
31
  * Gets or sets the date created.
28
32
  */
@@ -15,6 +15,7 @@ import type { Payment } from './Payment';
15
15
  import type { PaymentMethod } from './PaymentMethod';
16
16
  import type { RefundStatus } from './RefundStatus';
17
17
  import type { Venue } from './Venue';
18
+ import type { WalletDeductionPreview } from './WalletDeductionPreview';
18
19
 
19
20
  /**
20
21
  * Represents an organisation within the Reach application.
@@ -144,6 +145,10 @@ export type Order = {
144
145
  * Gets or sets the payment policy transfer fee (used to transfer an amount to the enterprise tenant in enterprise setups).
145
146
  */
146
147
  paymentPolicyXferFee?: number | null;
148
+ /**
149
+ * Gets or sets the amount deducted from wallet for this order.
150
+ */
151
+ walletAmountUsed?: number | null;
147
152
  /**
148
153
  * Gets or sets the provided customer order reference.
149
154
  */
@@ -233,6 +238,7 @@ export type Order = {
233
238
  * Gets or sets the orders stripe payment intent client secret.
234
239
  */
235
240
  paymentIntentClientSecret?: string | null;
241
+ walletDeductionPreview?: WalletDeductionPreview;
236
242
  venue?: Venue;
237
243
  country?: Country;
238
244
  customer?: Customer;
@@ -51,6 +51,10 @@ export type RecentOrderActivityReport = {
51
51
  * Gets or sets the total revenue value.
52
52
  */
53
53
  totalRevenue?: string | null;
54
+ /**
55
+ * Gets or sets the total wallet amount used value.
56
+ */
57
+ totalWalletAmountUsed?: string | null;
54
58
  /**
55
59
  * Gets or sets the total orders value.
56
60
  */
@@ -4,6 +4,7 @@
4
4
  /* eslint-disable */
5
5
 
6
6
  import type { CheckoutPlatform } from './CheckoutPlatform';
7
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
7
8
  import type { Gender } from './Gender';
8
9
  import type { UpdateEmailSettings } from './UpdateEmailSettings';
9
10
  import type { UpdateOffer } from './UpdateOffer';
@@ -155,4 +156,5 @@ export type SessionPatch = {
155
156
  * Gets or sets the session offers.
156
157
  */
157
158
  offers?: Array<UpdateOffer> | null;
159
+ customFields?: CustomFieldsBulkUpdate;
158
160
  };
@@ -3,6 +3,7 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
6
7
  import type { UpdateEmailSettings } from './UpdateEmailSettings';
7
8
 
8
9
  /**
@@ -14,4 +15,5 @@ export type SessionPost = {
14
15
  */
15
16
  tenantId: string;
16
17
  emailSettings?: UpdateEmailSettings;
18
+ customFields?: CustomFieldsBulkUpdate;
17
19
  };
@@ -21,6 +21,10 @@ export type SurveySubmitAttendee = {
21
21
  * Gets or sets the attendee last name.
22
22
  */
23
23
  lastName?: string | null;
24
+ /**
25
+ * Gets or sets the attendee date of birth.
26
+ */
27
+ dateOfBirth?: string | null;
24
28
  /**
25
29
  * Gets or sets the attendee number.
26
30
  */
@@ -3,6 +3,8 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { WalletTrackingLevel } from './WalletTrackingLevel';
7
+
6
8
  /**
7
9
  * Represents an organisation within the Reach application.
8
10
  */
@@ -51,6 +53,12 @@ export type TenantSetting = {
51
53
  * Gets or sets a value indicating whether providers are enabled for the tenant (only applicable to enterprise tenants).
52
54
  */
53
55
  enableProviders?: boolean;
56
+ walletTrackingLevel?: WalletTrackingLevel;
57
+ /**
58
+ * Gets or sets a value indicating whether customers are only allowed to use wallet transactions (no card payments).
59
+ * When enabled, prices will be displayed as 'credits' rather than currency.
60
+ */
61
+ walletOnlyPayments?: boolean;
54
62
  /**
55
63
  * Gets the next order number in the sequence.
56
64
  */
@@ -66,4 +66,8 @@ export type TotalRevenueReport = {
66
66
  * Gets or sets the total revenue.
67
67
  */
68
68
  totalRevenue?: number;
69
+ /**
70
+ * Gets or sets the total wallet amount used.
71
+ */
72
+ totalWalletAmountUsed?: number;
69
73
  };
@@ -3,6 +3,7 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
6
7
  import type { UpcomingLayout } from './UpcomingLayout';
7
8
  import type { UpdateEmailSettings } from './UpdateEmailSettings';
8
9
  import type { VenueOpeningHourUpdate } from './VenueOpeningHourUpdate';
@@ -101,4 +102,5 @@ export type VenuePatch = {
101
102
  * Gets or sets the venue amenities.
102
103
  */
103
104
  openingHours?: Array<VenueOpeningHourUpdate> | null;
105
+ customFields?: CustomFieldsBulkUpdate;
104
106
  };
@@ -3,6 +3,8 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
 
6
+ import type { CustomFieldsBulkUpdate } from './CustomFieldsBulkUpdate';
7
+
6
8
  /**
7
9
  * Post model for venue inserts.
8
10
  */
@@ -67,4 +69,5 @@ export type VenuePost = {
67
69
  * Gets or sets the amenity ids.
68
70
  */
69
71
  amenityIds?: Array<number> | null;
72
+ customFields?: CustomFieldsBulkUpdate;
70
73
  };
@@ -0,0 +1,60 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { Attendee } from './Attendee';
7
+ import type { Customer } from './Customer';
8
+ import type { WalletTransaction } from './WalletTransaction';
9
+
10
+ /**
11
+ * Represents a wallet within the Reach application.
12
+ */
13
+ export type Wallet = {
14
+ /**
15
+ * Gets or sets the entities Id.
16
+ */
17
+ id?: string;
18
+ /**
19
+ * Gets or sets the tenant Id.
20
+ */
21
+ tenantId: string;
22
+ /**
23
+ * Gets or sets the created date of this entity.
24
+ */
25
+ dateCreated: string;
26
+ /**
27
+ * Gets or sets the last modified date of this entity.
28
+ */
29
+ dateModified: string;
30
+ /**
31
+ * Gets or sets the modified by Id.
32
+ */
33
+ modifiedById?: string | null;
34
+ /**
35
+ * Gets or sets a value indicating whether the record is live and available for use within the application.
36
+ */
37
+ isLive: boolean;
38
+ /**
39
+ * Gets or sets the customer id. This is set when wallet tracking is at customer level.
40
+ */
41
+ customerId?: string | null;
42
+ /**
43
+ * Gets or sets the attendee id. This is set when wallet tracking is at attendee level.
44
+ */
45
+ attendeeId?: string | null;
46
+ /**
47
+ * Gets or sets the wallet balance.
48
+ */
49
+ balance: number;
50
+ /**
51
+ * Gets or sets the wallet currency.
52
+ */
53
+ currency?: string | null;
54
+ customer?: Customer;
55
+ attendee?: Attendee;
56
+ /**
57
+ * Gets or sets the wallet transactions.
58
+ */
59
+ transactions?: Array<WalletTransaction> | null;
60
+ };
@@ -0,0 +1,44 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { AttendeeWalletDeductionPreview } from './AttendeeWalletDeductionPreview';
7
+ import type { CustomerWalletDeductionPreview } from './CustomerWalletDeductionPreview';
8
+
9
+ /**
10
+ * Represents wallet deduction preview information for an order.
11
+ */
12
+ export type WalletDeductionPreview = {
13
+ /**
14
+ * Gets or sets the total amount that will be deducted from wallets.
15
+ */
16
+ totalWalletAmountToDeduct?: number;
17
+ /**
18
+ * Gets or sets the remaining amount that will need to be paid after wallet deductions.
19
+ */
20
+ remainingAmountToPay?: number;
21
+ /**
22
+ * Gets or sets the currency code.
23
+ */
24
+ currency?: string | null;
25
+ customerWallet?: CustomerWalletDeductionPreview;
26
+ /**
27
+ * Gets or sets the attendee-level wallet deduction information (when tracking at attendee level).
28
+ */
29
+ attendeeWallets?: Array<AttendeeWalletDeductionPreview> | null;
30
+ /**
31
+ * Gets or sets a value indicating whether wallet-only payments are enabled for this tenant.
32
+ */
33
+ isWalletOnlyPayments?: boolean;
34
+ /**
35
+ * Gets or sets a value indicating whether the wallet balance is sufficient to cover the full order amount.
36
+ * This is only relevant when wallet-only payments are enabled.
37
+ */
38
+ isWalletBalanceSufficient?: boolean;
39
+ /**
40
+ * Gets or sets a value indicating whether the order can be processed based on wallet-only payment requirements.
41
+ * Returns false if wallet-only payments are enabled and wallet balance is insufficient.
42
+ */
43
+ canProcessOrder?: boolean;
44
+ };
@@ -0,0 +1,12 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { Pagination } from './Pagination';
7
+ import type { Wallet } from './Wallet';
8
+
9
+ export type WalletPage = {
10
+ pagination: Pagination;
11
+ readonly items: Array<Wallet>;
12
+ };
@@ -0,0 +1,23 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Patch model for wallet updates.
8
+ */
9
+ export type WalletPatch = {
10
+ /**
11
+ * Gets or sets the tenant Id.
12
+ */
13
+ tenantId: string;
14
+ /**
15
+ * Gets or sets the Id.
16
+ */
17
+ id: string;
18
+ /**
19
+ * Gets or sets the wallet currency (e.g., "GBP", "USD", "EUR").
20
+ * Note: Balance cannot be updated directly through this model. Use top-up or transaction operations instead.
21
+ */
22
+ currency?: string | null;
23
+ };
@@ -0,0 +1,29 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Post model for wallet creation.
8
+ */
9
+ export type WalletPost = {
10
+ /**
11
+ * Gets or sets the tenant Id.
12
+ */
13
+ tenantId: string;
14
+ /**
15
+ * Gets or sets the customer id. This is set when wallet tracking is at customer level.
16
+ * Either CustomerId or AttendeeId must be provided, but not both.
17
+ */
18
+ customerId?: string | null;
19
+ /**
20
+ * Gets or sets the attendee id. This is set when wallet tracking is at attendee level.
21
+ * Either CustomerId or AttendeeId must be provided, but not both.
22
+ */
23
+ attendeeId?: string | null;
24
+ /**
25
+ * Gets or sets the wallet currency (e.g., "GBP", "USD", "EUR").
26
+ * If not provided, will default to the tenant's currency.
27
+ */
28
+ currency?: string | null;
29
+ };