reach-api-sdk 1.0.205 → 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 (64) hide show
  1. package/dist/reach-sdk.d.ts +6254 -3934
  2. package/dist/reach-sdk.js +2737 -1127
  3. package/package.json +1 -1
  4. package/src/apiClient.ts +9 -0
  5. package/src/definition/swagger.yaml +9648 -3833
  6. package/src/index.ts +32 -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/CustomFieldDataType.ts +22 -0
  14. package/src/models/CustomFieldDefinition.ts +100 -0
  15. package/src/models/CustomFieldDefinitionPage.ts +12 -0
  16. package/src/models/CustomFieldDefinitionPatch.ts +84 -0
  17. package/src/models/CustomFieldDefinitionPost.ts +80 -0
  18. package/src/models/CustomFieldDefinitionWithValue.ts +82 -0
  19. package/src/models/CustomFieldOption.ts +50 -0
  20. package/src/models/CustomFieldOptionDto.ts +14 -0
  21. package/src/models/CustomFieldOptionPost.ts +18 -0
  22. package/src/models/CustomFieldValueEntityType.ts +13 -0
  23. package/src/models/CustomFieldValueUpdate.ts +18 -0
  24. package/src/models/CustomFieldsBulkUpdate.ts +16 -0
  25. package/src/models/Customer.ts +6 -6
  26. package/src/models/CustomerAccountInvitePatch.ts +26 -0
  27. package/src/models/CustomerPatch.ts +2 -2
  28. package/src/models/CustomerPost.ts +2 -2
  29. package/src/models/CustomerWalletDeductionPreview.ts +36 -0
  30. package/src/models/EndUserIdentity.ts +4 -0
  31. package/src/models/Order.ts +6 -0
  32. package/src/models/RecentOrderActivityReport.ts +4 -0
  33. package/src/models/SessionPatch.ts +2 -0
  34. package/src/models/SessionPost.ts +2 -0
  35. package/src/models/SurveySubmitAttendee.ts +4 -0
  36. package/src/models/TenantSetting.ts +8 -0
  37. package/src/models/TotalRevenueReport.ts +4 -0
  38. package/src/models/UpdateCustomFieldOption.ts +26 -0
  39. package/src/models/VenuePatch.ts +2 -0
  40. package/src/models/VenuePost.ts +3 -0
  41. package/src/models/Wallet.ts +60 -0
  42. package/src/models/WalletDeductionPreview.ts +44 -0
  43. package/src/models/WalletPage.ts +12 -0
  44. package/src/models/WalletPatch.ts +23 -0
  45. package/src/models/WalletPost.ts +29 -0
  46. package/src/models/WalletRemoveCreditPost.ts +19 -0
  47. package/src/models/WalletTopUpPost.ts +19 -0
  48. package/src/models/WalletTrackingLevel.ts +12 -0
  49. package/src/models/WalletTransaction.ts +61 -0
  50. package/src/models/WalletTransactionPage.ts +12 -0
  51. package/src/models/WalletTransactionPatch.ts +22 -0
  52. package/src/models/WalletTransactionPost.ts +33 -0
  53. package/src/models/WalletTransactionType.ts +14 -0
  54. package/src/services/AttendeesService.ts +0 -30
  55. package/src/services/CoursesService.ts +63 -0
  56. package/src/services/CustomFieldsService.ts +780 -0
  57. package/src/services/CustomersService.ts +35 -0
  58. package/src/services/PublicCoursesService.ts +36 -0
  59. package/src/services/PublicSessionsService.ts +36 -0
  60. package/src/services/PublicVenuesService.ts +36 -0
  61. package/src/services/SessionsService.ts +63 -0
  62. package/src/services/VenuesService.ts +63 -0
  63. package/src/services/WalletTransactionsService.ts +755 -0
  64. package/src/services/WalletsService.ts +901 -0
@@ -0,0 +1,18 @@
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 the custom field option.
8
+ */
9
+ export type CustomFieldOptionPost = {
10
+ /**
11
+ * Gets or sets the option label.
12
+ */
13
+ label?: string | null;
14
+ /**
15
+ * Gets or sets the display order.
16
+ */
17
+ displayOrder?: number | null;
18
+ };
@@ -0,0 +1,13 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Controls the entity type for custom field values.
8
+ */
9
+ export enum CustomFieldValueEntityType {
10
+ VENUE = 'Venue',
11
+ COURSE = 'Course',
12
+ SESSION = 'Session',
13
+ }
@@ -0,0 +1,18 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ /**
7
+ * Represents a single custom field value update.
8
+ */
9
+ export type CustomFieldValueUpdate = {
10
+ /**
11
+ * Gets or sets the custom field definition id.
12
+ */
13
+ definitionId?: string;
14
+ /**
15
+ * Gets or sets the value to set.
16
+ */
17
+ value?: any;
18
+ };
@@ -0,0 +1,16 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { CustomFieldValueUpdate } from './CustomFieldValueUpdate';
7
+
8
+ /**
9
+ * Represents a bulk update request for custom fields.
10
+ */
11
+ export type CustomFieldsBulkUpdate = {
12
+ /**
13
+ * Gets or sets the list of custom field values to update.
14
+ */
15
+ values?: Array<CustomFieldValueUpdate> | null;
16
+ };
@@ -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
  };
@@ -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 custom field options.
8
+ */
9
+ export type UpdateCustomFieldOption = {
10
+ /**
11
+ * Gets or sets the option id.
12
+ */
13
+ id?: string | null;
14
+ /**
15
+ * Gets or sets the option label.
16
+ */
17
+ label?: string | null;
18
+ /**
19
+ * Gets or sets the display order.
20
+ */
21
+ displayOrder?: number | null;
22
+ /**
23
+ * Gets or sets a value indicating whether the option is archived.
24
+ */
25
+ archived?: boolean | null;
26
+ };
@@ -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
+ };
@@ -0,0 +1,19 @@
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 credit removal operations.
8
+ */
9
+ export type WalletRemoveCreditPost = {
10
+ /**
11
+ * Gets or sets the amount to remove from the wallet. Must be greater than zero and cannot exceed the wallet balance.
12
+ */
13
+ amount: number;
14
+ /**
15
+ * Gets or sets the optional description for the transaction.
16
+ * If not provided, a default description will be generated.
17
+ */
18
+ description?: string | null;
19
+ };
@@ -0,0 +1,19 @@
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 top-up operations.
8
+ */
9
+ export type WalletTopUpPost = {
10
+ /**
11
+ * Gets or sets the amount to add to the wallet. Must be greater than zero.
12
+ */
13
+ amount: number;
14
+ /**
15
+ * Gets or sets the optional description for the transaction.
16
+ * If not provided, a default description will be generated.
17
+ */
18
+ description?: string | null;
19
+ };
@@ -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
+ /**
7
+ * Controls the wallet tracking level (customer or attendee).
8
+ */
9
+ export enum WalletTrackingLevel {
10
+ CUSTOMER = 'Customer',
11
+ ATTENDEE = 'Attendee',
12
+ }
@@ -0,0 +1,61 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+
6
+ import type { Order } from './Order';
7
+ import type { Wallet } from './Wallet';
8
+ import type { WalletTransactionType } from './WalletTransactionType';
9
+
10
+ /**
11
+ * Represents a wallet transaction within the Reach application.
12
+ */
13
+ export type WalletTransaction = {
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 wallet id.
40
+ */
41
+ walletId: string;
42
+ /**
43
+ * Gets or sets the order id. This is set when the transaction is related to an order (payment or refund).
44
+ */
45
+ orderId?: string | null;
46
+ /**
47
+ * Gets or sets the transaction amount. Positive for credits (top-ups, refunds), negative for debits (payments).
48
+ */
49
+ amount: number;
50
+ transactionType: WalletTransactionType;
51
+ /**
52
+ * Gets or sets the transaction description.
53
+ */
54
+ description?: string | null;
55
+ /**
56
+ * Gets or sets the wallet balance after this transaction was applied.
57
+ */
58
+ balanceAfter: number;
59
+ wallet?: Wallet;
60
+ order?: Order;
61
+ };