gotrip-fx-transaction-form 1.0.196-dev → 1.0.196

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 (176) hide show
  1. package/assets/index.css +1 -1
  2. package/index.js +49571 -39059
  3. package/package.json +1 -1
  4. package/types/components/AddTransaction/Agent.d.ts +3 -2
  5. package/types/components/AddTransaction/FlightInfomation.d.ts +2 -1
  6. package/types/components/AddTransaction/SelectingBankMessageAlerts.d.ts +5 -0
  7. package/types/components/Admin/AgencyUserSelector/AgencyUserSelector.d.ts +7 -0
  8. package/types/components/Admin/AgencyUserSelector/AgencyUserSelectorModal.d.ts +10 -0
  9. package/types/components/ApprovalStatusBadge.d.ts +7 -0
  10. package/types/components/Apps/EmbededIndividualApp.d.ts +3 -1
  11. package/types/components/BankTransferInfo/BankTransferInfoDisplay.d.ts +7 -0
  12. package/types/components/Common/DateDisplay.d.ts +7 -0
  13. package/types/components/Common/MultiTagCombobox.d.ts +14 -0
  14. package/types/components/Common/PrimaryRadioGroup.d.ts +16 -0
  15. package/types/components/Common/TimeRangeSelect.d.ts +17 -0
  16. package/types/components/Insurance/CreateInsuranceTransactionForm.d.ts +29 -5
  17. package/types/components/Insurance/DateRangePicker.d.ts +12 -0
  18. package/types/components/Insurance/InsuranceContentRenderer/DynamicRenderer.d.ts +6 -0
  19. package/types/components/Insurance/InsuranceContentRenderer/blocks/AccordionBlock.d.ts +6 -0
  20. package/types/components/Insurance/InsuranceContentRenderer/blocks/ActionButtonBlock.d.ts +6 -0
  21. package/types/components/Insurance/InsuranceContentRenderer/blocks/ContainerBlock.d.ts +6 -0
  22. package/types/components/Insurance/InsuranceContentRenderer/blocks/DataRowBlock.d.ts +6 -0
  23. package/types/components/Insurance/InsuranceContentRenderer/blocks/DividerBlock.d.ts +6 -0
  24. package/types/components/Insurance/InsuranceContentRenderer/blocks/ListGroupBlock.d.ts +6 -0
  25. package/types/components/Insurance/InsuranceContentRenderer/blocks/TextBlock.d.ts +6 -0
  26. package/types/components/Insurance/InsuranceContentRenderer/types.d.ts +64 -0
  27. package/types/components/Insurance/InsuranceContentRenderer/utils/richText.d.ts +14 -0
  28. package/types/components/Insurance/InsuranceContentRenderer/utils/styleMapper.d.ts +6 -0
  29. package/types/components/Insurance/InsuranceDatePicker.d.ts +9 -0
  30. package/types/components/Insurance/InsurancePlans/InsurancePlanFilter.d.ts +12 -0
  31. package/types/components/Insurance/InsurancePlans/InsurancePlanList.d.ts +1 -1
  32. package/types/components/Insurance/InsurancePlans/QuickCoveragePlanCard.d.ts +16 -0
  33. package/types/components/Insurance/InsurancePlans/QuickRecommendationsSection.d.ts +18 -0
  34. package/types/components/Insurance/InsurancePlans/index.d.ts +1 -0
  35. package/types/components/Insurance/InsuranceSummaryOverview.d.ts +7 -2
  36. package/types/components/Insurance/InsuranceTypeAndPeopleCountFields.d.ts +10 -0
  37. package/types/components/Insurance/InsuredTravelersTable.d.ts +6 -0
  38. package/types/components/Insurance/ProviderApiDebugDialog.d.ts +17 -0
  39. package/types/components/Insurance/SimpleDetail.d.ts +2 -1
  40. package/types/components/Insurance/StepFourPayment.d.ts +31 -5
  41. package/types/components/Insurance/StepOneForm.d.ts +11 -2
  42. package/types/components/Insurance/StepThree.d.ts +29 -0
  43. package/types/components/Insurance/StepThreeBuyerInfo.d.ts +4 -1
  44. package/types/components/Insurance/StepThreeInsuredPeople.d.ts +4 -1
  45. package/types/components/Insurance/StepTwoPlans.d.ts +9 -1
  46. package/types/components/Insurance/documentScanAutofill.d.ts +37 -0
  47. package/types/components/Insurance/insuranceExcelImport.d.ts +13 -0
  48. package/types/components/Insurance/insuredPeopleImport.d.ts +23 -0
  49. package/types/components/Insurance/{FormElements.d.ts → shared/FormElements.d.ts} +13 -3
  50. package/types/components/Insurance/shared/InfoBlockCard.d.ts +10 -0
  51. package/types/components/Insurance/shared/PaymentMethodSelector.d.ts +10 -0
  52. package/types/components/Insurance/shared/SimpleSelect.d.ts +14 -0
  53. package/types/components/Insurance/shared/StepFooter.d.ts +8 -0
  54. package/types/components/Insurance/shared/index.d.ts +5 -0
  55. package/types/components/Insurance/types.d.ts +22 -5
  56. package/types/components/Insurance/validationUtils.d.ts +7 -1
  57. package/types/components/Modal/CancelTransactionModal.d.ts +1 -0
  58. package/types/components/Modal/ESimPurchaseModal.d.ts +4 -1
  59. package/types/components/Modal/EsimBankTransferModal.d.ts +13 -0
  60. package/types/components/Modal/InsurancePaymentModal.d.ts +2 -0
  61. package/types/components/Modal/MotorInsurancePaymentModal.d.ts +13 -0
  62. package/types/components/Modal/ProcessingOrderDialog.d.ts +8 -0
  63. package/types/components/MotorInsurance/Bike/BikePremiumSummary.d.ts +9 -0
  64. package/types/components/MotorInsurance/Bike/BikeStepOneForm.d.ts +30 -0
  65. package/types/components/MotorInsurance/Bike/BikeStepThreePayment.d.ts +26 -0
  66. package/types/components/MotorInsurance/Bike/BikeStepTwoVehicleInfo.d.ts +12 -0
  67. package/types/components/MotorInsurance/Bike/CreateBikeInsuranceForm.d.ts +17 -0
  68. package/types/components/MotorInsurance/Bike/index.d.ts +5 -0
  69. package/types/components/MotorInsurance/Car/CarPremiumSummary.d.ts +8 -0
  70. package/types/components/MotorInsurance/Car/CarStepFourPayment.d.ts +30 -0
  71. package/types/components/MotorInsurance/Car/CarStepOneForm.d.ts +27 -0
  72. package/types/components/MotorInsurance/Car/CarStepThreeInfo.d.ts +11 -0
  73. package/types/components/MotorInsurance/Car/CarStepTwoPlan.d.ts +11 -0
  74. package/types/components/MotorInsurance/Car/CreateCarInsuranceForm.d.ts +17 -0
  75. package/types/components/MotorInsurance/Car/car-form.constants.d.ts +23 -0
  76. package/types/components/MotorInsurance/Car/index.d.ts +6 -0
  77. package/types/components/MotorInsurance/CreateMotorInsuranceTransactionForm.d.ts +17 -0
  78. package/types/components/MotorInsurance/DocumentUploadPreview.d.ts +14 -0
  79. package/types/components/MotorInsurance/image-storage.utils.d.ts +18 -0
  80. package/types/components/MotorInsurance/index.d.ts +4 -0
  81. package/types/components/MotorInsurance/motor-insurance.types.d.ts +335 -0
  82. package/types/components/MotorInsurance/motor-insurance.validation.d.ts +21 -0
  83. package/types/components/Notification/NotificationBell.d.ts +5 -0
  84. package/types/components/Notification/NotificationItem.d.ts +8 -0
  85. package/types/components/Notification/NotificationPanel.d.ts +6 -0
  86. package/types/components/OrderPaymentTypeBadge.d.ts +4 -0
  87. package/types/components/PolicyGroup/InsurancePolicyGroupFormDialog.d.ts +10 -0
  88. package/types/components/StepIndicator/StepIndicatorHorizontal.d.ts +2 -1
  89. package/types/components/TransactionList/PublicIdActionMenu.d.ts +3 -1
  90. package/types/constants/api-urls.d.ts +50 -1
  91. package/types/constants/business-codes.d.ts +2 -1
  92. package/types/constants/env.d.ts +2 -0
  93. package/types/constants/policy-enums.d.ts +11 -0
  94. package/types/constants/regex.d.ts +4 -0
  95. package/types/constants/tenant.d.ts +3 -0
  96. package/types/constants/transaction-status-labels.d.ts +3 -0
  97. package/types/embeded-main.d.ts +2 -0
  98. package/types/hooks/fetchEsimTransaction.d.ts +2 -0
  99. package/types/hooks/transactions/useGroupTransactions.d.ts +10 -10
  100. package/types/hooks/traveller-confirmation/submit-confirmation.util.d.ts +1 -0
  101. package/types/hooks/traveller-confirmation/traveller-confirmation-flow.d.ts +4 -0
  102. package/types/hooks/traveller-confirmation/types.d.ts +22 -0
  103. package/types/hooks/traveller-confirmation/usePurchaseTravellerConfirmation.d.ts +12 -0
  104. package/types/hooks/traveller-confirmation/useTravellerConfirmationFetch.d.ts +2 -0
  105. package/types/hooks/useAdminDashboard.d.ts +19 -0
  106. package/types/hooks/useAutoSelectBankBranchAndDepartment.d.ts +19 -0
  107. package/types/hooks/useBankOutsideWorkingHoursNotice.d.ts +5 -0
  108. package/types/hooks/useConfirmTransaction.d.ts +12 -31
  109. package/types/hooks/useCoupon.d.ts +95 -0
  110. package/types/hooks/useCouponValidation.d.ts +29 -0
  111. package/types/hooks/useGroupCustomers.d.ts +12 -9
  112. package/types/hooks/useInsuranceData.d.ts +3 -11
  113. package/types/hooks/useInsurancePlans.d.ts +13 -1
  114. package/types/hooks/useInsuranceTransaction.d.ts +34 -4
  115. package/types/hooks/useLocationData.d.ts +22 -0
  116. package/types/hooks/useMotorInsurance.d.ts +17 -0
  117. package/types/hooks/useMotorInsuranceTransaction.d.ts +124 -0
  118. package/types/hooks/useMotorQuote.d.ts +15 -0
  119. package/types/hooks/useNotifications.d.ts +10 -0
  120. package/types/hooks/usePolicyGroups.d.ts +1 -0
  121. package/types/hooks/useTenantList.d.ts +3 -4
  122. package/types/hooks/useUserById.d.ts +7 -0
  123. package/types/hooks/useUserSearch.d.ts +10 -0
  124. package/types/hooks/useUsersByTenantTypes.d.ts +11 -0
  125. package/types/hooks/useVehicleRegistrationScan.d.ts +39 -0
  126. package/types/pages/admin/CreateOrderOnBehalfTest.d.ts +3 -0
  127. package/types/pages/admin/coupons/CampaignCouponTable.d.ts +13 -0
  128. package/types/pages/admin/coupons/CampaignDetailPage.d.ts +1 -0
  129. package/types/pages/admin/coupons/CampaignListPage.d.ts +1 -0
  130. package/types/pages/admin/coupons/CouponFormPage.d.ts +1 -0
  131. package/types/pages/admin/insurance/create-insurance-transaction/AdminCreateInsuranceTransactionPage.d.ts +2 -0
  132. package/types/pages/admin/insurance/edit-insurance-transaction/AdminEditInsuranceTransactionPage.d.ts +1 -0
  133. package/types/pages/admin/insurance-policy-management/InsurancePolicyManagement.d.ts +1 -0
  134. package/types/pages/admin/motor-insurance/create-motor-transaction/AdminCreateMotorBikeTransactionPage.d.ts +1 -0
  135. package/types/pages/admin/motor-insurance/create-motor-transaction/AdminCreateMotorCarTransactionPage.d.ts +1 -0
  136. package/types/pages/admin/motor-insurance/edit-motor-transaction/AdminEditMotorTransactionPage.d.ts +1 -0
  137. package/types/pages/admin/motor-insurance-transaction-detail/MotorInsuranceTransactionDetailPage.d.ts +1 -0
  138. package/types/pages/admin/motor-insurance-transaction-list/MotorInsuranceTransactionListPage.d.ts +5 -0
  139. package/types/pages/agency/home/HomePage.d.ts +1 -0
  140. package/types/pages/agency/home/constants.d.ts +16 -0
  141. package/types/pages/agency/insurance/motor-transaction-approval/MotorInsuranceTransactionApprovalPage.d.ts +1 -0
  142. package/types/pages/agency/insurance/motor-transaction-create/CreateCarInsuranceTransactionPage.d.ts +1 -0
  143. package/types/pages/agency/insurance/motor-transaction-create/CreateMotorInsuranceTransactionPage.d.ts +1 -0
  144. package/types/pages/agency/insurance/motor-transaction-detail/MotorInsuranceTransactionDetailPage.d.ts +1 -0
  145. package/types/pages/agency/insurance/motor-transaction-list/MotorInsuranceTransactionListPage.d.ts +6 -0
  146. package/types/pages/agency/insurance/transaction-approval/InsuranceTransactionApprovalPage.d.ts +1 -0
  147. package/types/pages/agency/insurance/transaction-create/CreateInsuranceTransactionPage.d.ts +2 -0
  148. package/types/pages/agency/traveller-confirmation/PurchaseTravellerConfirmation.d.ts +5 -0
  149. package/types/pages/agency/traveller-confirmation/TravellerPurchaseConfirmation.d.ts +2 -0
  150. package/types/pages/guest/insurance-create.d.ts +8 -1
  151. package/types/pages/guest/motor-insurance-create.d.ts +6 -0
  152. package/types/providers/AppSettingsProvider.d.ts +1 -0
  153. package/types/store/useNotificationStore.d.ts +16 -0
  154. package/types/store/useTenantStore.d.ts +12 -0
  155. package/types/store/useTrackingStore.d.ts +10 -0
  156. package/types/types/app-settings.d.ts +13 -1
  157. package/types/types/coupon.d.ts +70 -0
  158. package/types/types/enum.d.ts +15 -2
  159. package/types/types/insurance-transaction.dto.d.ts +22 -1
  160. package/types/types/insurance.d.ts +19 -2
  161. package/types/types/notification.d.ts +23 -0
  162. package/types/types/response.dto.d.ts +53 -5
  163. package/types/types/sdk.d.ts +5 -1
  164. package/types/types/tracking.dto.d.ts +21 -0
  165. package/types/util/booker-display.d.ts +6 -0
  166. package/types/util/couponErrorMessages.d.ts +2 -0
  167. package/types/util/debt-report-display.d.ts +4 -0
  168. package/types/util/formatter.d.ts +6 -0
  169. package/types/util/fx-travelling-messages.d.ts +1 -0
  170. package/types/util/fx.d.ts +15 -0
  171. package/types/util/order-payment-display.d.ts +13 -0
  172. package/types/util/sim-display.d.ts +2 -0
  173. package/types/util/tracking.d.ts +19 -0
  174. package/types/util/transaction.util.d.ts +1 -1
  175. package/types/utils/bank.d.ts +4 -0
  176. package/types/utils/transaction-confirmation-link.d.ts +9 -0
@@ -0,0 +1,124 @@
1
+ import { EOrderPaymentType, TransactionStatus } from '../types/enum';
2
+ import { EMotorProvider, EMotorVehicleType } from '../components/MotorInsurance/motor-insurance.types';
3
+ export interface MotorInsuranceTransactionDetail {
4
+ id: number;
5
+ transactionPublicId: string;
6
+ status: string;
7
+ totalAmount: number;
8
+ tax?: number;
9
+ providerPolicyId?: string | number;
10
+ providerPolicyNumber?: string;
11
+ errorMessage?: string;
12
+ vehicleType?: EMotorVehicleType;
13
+ ownerName?: string;
14
+ licensePlate?: string;
15
+ startDate?: string;
16
+ endDate?: string;
17
+ provider: EMotorProvider;
18
+ chassisNumber?: string;
19
+ engineNumber?: string;
20
+ metadata?: Record<string, unknown>;
21
+ transaction?: {
22
+ status: string;
23
+ publicId: string;
24
+ };
25
+ paymentTypeApplied?: EOrderPaymentType;
26
+ paidAmount?: number;
27
+ unpaidAmount?: number;
28
+ isBypassed?: boolean;
29
+ }
30
+ export interface MotorInsuranceTransactionListItem {
31
+ id: number;
32
+ orderId: number;
33
+ transactionPublicId: string;
34
+ status: TransactionStatus;
35
+ totalAmount: number;
36
+ tax?: number;
37
+ providerPolicyId?: string | number;
38
+ providerPolicyNumber?: string;
39
+ error?: string;
40
+ createdAt?: string;
41
+ vehicleType?: string;
42
+ tenantName?: string;
43
+ ownerName?: string;
44
+ licensePlate?: string;
45
+ provider: EMotorProvider;
46
+ transaction?: {
47
+ status: string;
48
+ publicId: string;
49
+ };
50
+ paymentTypeApplied?: EOrderPaymentType;
51
+ paidAmount?: number;
52
+ unpaidAmount?: number;
53
+ isBypassed?: boolean;
54
+ metadata?: Record<string, unknown>;
55
+ }
56
+ export interface GetMotorInsuranceTransactionListReqDto {
57
+ page?: number;
58
+ limit?: number;
59
+ minValue?: number;
60
+ maxValue?: number;
61
+ startDate?: string;
62
+ endDate?: string;
63
+ sortField?: 'date' | 'value';
64
+ sortDirection?: 'asc' | 'desc';
65
+ status?: TransactionStatus;
66
+ publicId?: string;
67
+ ownerName?: string;
68
+ vehicleType?: string;
69
+ provider?: string;
70
+ approvalStatus?: string;
71
+ approvalBypassed?: boolean;
72
+ }
73
+ export interface GetMotorInsuranceTransactionListRespDto {
74
+ transactions: MotorInsuranceTransactionListItem[];
75
+ total: number;
76
+ page: number;
77
+ limit: number;
78
+ }
79
+ export declare const useMotorInsuranceTransactionDetail: (publicId: string | undefined) => {
80
+ transaction: MotorInsuranceTransactionDetail | null;
81
+ loading: boolean;
82
+ error: string | null;
83
+ refetch: (options?: {
84
+ silent?: boolean;
85
+ }) => Promise<void>;
86
+ retryProviderLoading: boolean;
87
+ retryProviderPolicy: () => Promise<void>;
88
+ };
89
+ export declare const useMotorInsuranceTransaction: (options?: {
90
+ defaultLimit?: number;
91
+ publicId?: string;
92
+ }) => {
93
+ list: {
94
+ transactions: MotorInsuranceTransactionListItem[];
95
+ total: number;
96
+ loading: boolean;
97
+ page: number;
98
+ limit: number;
99
+ filters: Omit<GetMotorInsuranceTransactionListReqDto, "page" | "limit">;
100
+ refetchData: () => void;
101
+ setPage: import('react').Dispatch<import('react').SetStateAction<number>>;
102
+ setLimit: (nextLimit: number) => void;
103
+ updateFilters: (newFilters: Partial<Omit<GetMotorInsuranceTransactionListReqDto, "page" | "limit">>, options?: {
104
+ replace?: boolean;
105
+ }) => void;
106
+ };
107
+ detail: {
108
+ transaction: MotorInsuranceTransactionDetail | null;
109
+ loading: boolean;
110
+ error: string | null;
111
+ refetch: (options?: {
112
+ silent?: boolean;
113
+ }) => Promise<void>;
114
+ retryProviderLoading: boolean;
115
+ retryProviderPolicy: () => Promise<void>;
116
+ };
117
+ checkTransactionStatus: (publicId: string) => Promise<MotorInsuranceTransactionDetail | null>;
118
+ approveTransaction: (publicId: string) => Promise<void>;
119
+ rejectTransaction: (publicId: string, payload: {
120
+ code: string;
121
+ text?: string;
122
+ }) => Promise<void>;
123
+ updateTransaction: (publicId: string, payload: Record<string, unknown>) => Promise<MotorInsuranceTransactionDetail>;
124
+ };
@@ -0,0 +1,15 @@
1
+ import { CarPlanFormValues, CarPremiumSummary, MotorPlanFormValues, MotorPremiumSummary, EVehicleUsageType, EMotorProvider } from '../components/MotorInsurance/motor-insurance.types';
2
+ interface UseCarQuoteResult {
3
+ quoteResult: CarPremiumSummary | null;
4
+ quoteResultRef: React.MutableRefObject<CarPremiumSummary | null>;
5
+ calculateQuote: (planValues: CarPlanFormValues, createQuoteCar: (provider: EMotorProvider, payload: any) => Promise<any>, vehicleUsageType?: EVehicleUsageType) => void;
6
+ resetQuote: () => void;
7
+ }
8
+ export declare const useCarQuote: () => UseCarQuoteResult;
9
+ interface UseBikeQuoteResult {
10
+ quoteResult: MotorPremiumSummary | null;
11
+ calculateQuote: (planValues: MotorPlanFormValues, createQuoteBike: (provider: EMotorProvider, payload: any) => Promise<any>) => void;
12
+ resetQuote: () => void;
13
+ }
14
+ export declare const useBikeQuote: () => UseBikeQuoteResult;
15
+ export {};
@@ -0,0 +1,10 @@
1
+ import { INotification } from '../types/notification';
2
+ export declare const useNotifications: () => {
3
+ fetchNotifications: (page?: number, limit?: number) => Promise<{
4
+ data: INotification[];
5
+ total: number;
6
+ }>;
7
+ fetchUnreadCount: () => Promise<number>;
8
+ markAsRead: (id: number) => Promise<INotification>;
9
+ markAllAsRead: () => Promise<void>;
10
+ };
@@ -3,6 +3,7 @@ export interface PolicyDto {
3
3
  name: string;
4
4
  description?: string;
5
5
  type: string;
6
+ calculatorType?: string;
6
7
  conditions: Record<string, any>;
7
8
  action: {
8
9
  type: EPolicyActionType;
@@ -1,9 +1,8 @@
1
- import { ITenant } from '../types/response.dto';
2
- export declare const useTenantList: (options?: {
1
+ export declare const useTenantList: (tenantTypes?: string[], options?: {
3
2
  skipFetch?: boolean;
4
3
  }) => {
5
- tenants: ITenant[];
4
+ tenants: import('../types/response.dto').ITenant[];
6
5
  loading: boolean;
7
- refetchData: () => void;
6
+ refetchData: () => Promise<void>;
8
7
  removeTenant: (tenantId: number) => Promise<void>;
9
8
  };
@@ -0,0 +1,7 @@
1
+ import { IUser } from '../types/response.dto';
2
+ type UseUserByIdResult = {
3
+ user: IUser | null;
4
+ loading: boolean;
5
+ };
6
+ export declare const useUserById: (userId?: number | null) => UseUserByIdResult;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import { IUser } from '../types/response.dto';
2
+ interface UseUserSearchResult {
3
+ users: IUser[];
4
+ loading: boolean;
5
+ error: string | null;
6
+ search: (query: string) => void;
7
+ membersTenantId: number | null;
8
+ }
9
+ export declare const useUserSearch: (tenantId: number | null, debounceMs?: number) => UseUserSearchResult;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ export type TUserByTenantTypeOption = {
2
+ label: string;
3
+ value: string;
4
+ };
5
+ /**
6
+ * Loads all users in tenants of type standalone_booker / travel_agency.
7
+ */
8
+ export declare function useUsersByTenantTypes(): {
9
+ options: TUserByTenantTypeOption[];
10
+ loading: boolean;
11
+ };
@@ -0,0 +1,39 @@
1
+ export interface CarRegistrationOcrData {
2
+ licensePlate: string;
3
+ chassisNumber: string;
4
+ engineNumber: string;
5
+ manufacturingYear: number | null;
6
+ seatCount: number | null;
7
+ ownerName: string;
8
+ brand: string;
9
+ model: string;
10
+ color: string;
11
+ registrationDate: string;
12
+ isCommercialTransport: boolean;
13
+ gcsUrl?: string;
14
+ filePath?: string;
15
+ }
16
+ export interface BikeRegistrationOcrData {
17
+ licensePlate: string;
18
+ chassisNumber: string;
19
+ engineNumber: string;
20
+ ownerName: string;
21
+ address: string;
22
+ brand: string;
23
+ model: string;
24
+ color: string;
25
+ engineCapacity: number | null;
26
+ registrationDate: string;
27
+ gcsUrl?: string;
28
+ filePath?: string;
29
+ }
30
+ export declare const useCarRegistrationScan: () => {
31
+ scanCarRegistration: (file: File) => Promise<CarRegistrationOcrData | null>;
32
+ isScanning: boolean;
33
+ scanError: string | null;
34
+ };
35
+ export declare const useBikeRegistrationScan: () => {
36
+ scanBikeRegistration: (file: File) => Promise<BikeRegistrationOcrData | null>;
37
+ isScanning: boolean;
38
+ scanError: string | null;
39
+ };
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare const CreateOrderOnBehalfTest: React.FC;
3
+ export default CreateOrderOnBehalfTest;
@@ -0,0 +1,13 @@
1
+ import { TCouponRow } from '../../../types/coupon';
2
+ type Props = {
3
+ loading: boolean;
4
+ rows: TCouponRow[];
5
+ page: number;
6
+ pageSize: number;
7
+ listTotal: number;
8
+ onEdit: (couponId: number) => void;
9
+ onPageChange: (page: number) => void;
10
+ onPageSizeChange: (size: number) => void;
11
+ };
12
+ export declare const CampaignCouponTable: ({ loading, rows, page, pageSize, listTotal, onEdit, onPageChange, onPageSizeChange, }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1 @@
1
+ export declare const CampaignDetailPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CampaignListing: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CouponForm: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare const AdminCreateInternationalInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
2
+ export declare const AdminCreateDomesticInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const AdminEditInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const InsurancePolicyManagement: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const AdminCreateMotorBikeTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const AdminCreateMotorCarTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const AdminEditMotorTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const AdminMotorInsuranceTransactionDetailPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ type Props = {
2
+ defaultLimit?: number;
3
+ };
4
+ export declare const AdminMotorInsuranceTransactionListPage: (props: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1 @@
1
+ export declare const HomePage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ export type AgencyHomeCard = {
2
+ key: string;
3
+ title: string;
4
+ description: string;
5
+ actionLabel: string;
6
+ path?: string;
7
+ disabled?: boolean;
8
+ iconUrl?: string;
9
+ };
10
+ export type AgencyHomeSection = {
11
+ key: string;
12
+ title: string;
13
+ cards: AgencyHomeCard[];
14
+ };
15
+ export declare const TEMP_PRODUCT_IMAGE = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='160' viewBox='0 0 280 160'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23edf2ff'/%3E%3Cstop offset='100%25' stop-color='%23dbeafe'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='280' height='160' rx='18' fill='url(%23g)'/%3E%3Crect x='36' y='38' width='120' height='84' rx='14' fill='%23ffffff' stroke='%239bb4ff' stroke-width='3'/%3E%3Ccircle cx='206' cy='54' r='24' fill='%23bfdbfe'/%3E%3Ccircle cx='230' cy='82' r='20' fill='%2393c5fd'/%3E%3Cpath d='M68 82h56M68 98h70' stroke='%233b82f6' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E";
16
+ export declare const AGENCY_HOME_SECTIONS: AgencyHomeSection[];
@@ -0,0 +1 @@
1
+ export declare const MotorInsuranceTransactionApprovalPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CreateCarInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CreateMotorInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const MotorInsuranceTransactionDetailPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ type Props = {
2
+ defaultLimit?: number;
3
+ };
4
+ export declare const MotorInsuranceTransactionListContent: (props: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const MotorInsuranceTransactionListPage: () => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1 @@
1
+ export declare const InsuranceTransactionApprovalPage: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,3 @@
1
+ export declare const CreateInternationalInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
2
+ export declare const CreateDomesticInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
1
3
  export declare const CreateInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { TravellerConfirmationContext } from '../../../hooks/traveller-confirmation/types';
2
+ type Props = TravellerConfirmationContext;
3
+ /** Màn xác nhận mua — `/confirm-purchase/:id` */
4
+ export declare const PurchaseTravellerConfirmation: ({ transaction, agent, groupTransactions, refetch, }: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ /** Luồng xác nhận mua — `/confirm-purchase/:id` */
2
+ export declare const TravellerPurchaseConfirmation: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1 +1,8 @@
1
- export declare const CreateGuestInsuranceTransactionPage: () => import("react/jsx-runtime").JSX.Element;
1
+ import { ETravelScope } from '../../types/insurance';
2
+ interface CreateGuestInsuranceTransactionPageProps {
3
+ scrollable?: boolean;
4
+ recommendBoxHeight?: string;
5
+ travelScope: ETravelScope;
6
+ }
7
+ export declare const CreateGuestInsuranceTransactionPage: ({ scrollable, recommendBoxHeight, travelScope, }: CreateGuestInsuranceTransactionPageProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { EMotorVehicleType } from '../../components/MotorInsurance/motor-insurance.types';
2
+ export interface CreateGuestMotorInsuranceTransactionPageProps {
3
+ vehicleType: EMotorVehicleType;
4
+ scrollable?: boolean;
5
+ }
6
+ export declare const CreateGuestMotorInsuranceTransactionPage: ({ vehicleType, scrollable, }: CreateGuestMotorInsuranceTransactionPageProps) => import("react/jsx-runtime").JSX.Element;
@@ -16,6 +16,7 @@ type FeatureFlags = {
16
16
  vnptSim: ToggleFeatureFlag;
17
17
  vnptData: ToggleFeatureFlag;
18
18
  insurance: InsuranceFeatureFlag;
19
+ motorInsurance: InsuranceFeatureFlag;
19
20
  };
20
21
  type AppSettings = {
21
22
  featureFlags: FeatureFlags;
@@ -0,0 +1,16 @@
1
+ import { INotification } from '../types/notification';
2
+ interface NotificationStore {
3
+ notifications: INotification[];
4
+ unreadCount: number;
5
+ hasMore: boolean;
6
+ page: number;
7
+ addNotification: (notification: INotification) => void;
8
+ setNotifications: (notifications: INotification[], total: number) => void;
9
+ setUnreadCount: (count: number) => void;
10
+ markAsRead: (id: number) => void;
11
+ markAllAsRead: () => void;
12
+ setPage: (page: number) => void;
13
+ setHasMore: (hasMore: boolean) => void;
14
+ }
15
+ export declare const useNotificationStore: import('zustand').UseBoundStore<import('zustand').StoreApi<NotificationStore>>;
16
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ITenant } from '../types/response.dto';
2
+ interface TenantStoreState {
3
+ tenants: ITenant[];
4
+ loading: boolean;
5
+ isFetching: boolean;
6
+ lastFetched: number | null;
7
+ fetchTenants: () => Promise<void>;
8
+ refetchTenants: () => Promise<void>;
9
+ removeTenant: (tenantId: number) => Promise<void>;
10
+ }
11
+ export declare const useTenantStore: import('zustand').UseBoundStore<import('zustand').StoreApi<TenantStoreState>>;
12
+ export {};
@@ -0,0 +1,10 @@
1
+ import { TrackingDto } from '../types/tracking.dto';
2
+ export type TrackingState = {
3
+ anonymousId: string | null;
4
+ utm: Record<string, string> | null;
5
+ getAnonymousUid: () => string;
6
+ getTrackingData: () => TrackingDto;
7
+ setUtm: (utm: Record<string, string> | null) => void;
8
+ _saveAnonymousUid: (uid: string) => void;
9
+ };
10
+ export declare const useTrackingStore: import('zustand').UseBoundStore<import('zustand').StoreApi<TrackingState>>;
@@ -30,18 +30,30 @@ export interface IAppSettingsResponse {
30
30
  }
31
31
  export interface IBankFxTravellingMessages {
32
32
  invalid_time_range?: string | null;
33
- selecting_bank_message?: string | null;
33
+ selecting_bank_message?: string | string[] | null;
34
34
  singular_form_notes?: string[];
35
35
  currency_notes?: string[];
36
+ currency_notes_by_currency_unit?: Record<string, string[]>;
36
37
  }
37
38
  export interface IBankFxTravellingAgentSetting {
38
39
  enable?: boolean;
40
+ notes?: string[];
41
+ disableNotes?: string[];
39
42
  }
40
43
  export type IBankFxMaxAmount = Record<string, number | null | undefined>;
44
+ /** Single number = same limit for all currencies; object = per-currency limits */
45
+ export type IBankFxMaxAmountByCountryLimit = IBankFxMaxAmount | number | null;
46
+ export interface IBankFxMaxAmountByCountry {
47
+ visa_countries?: string[];
48
+ visa_max_amount?: IBankFxMaxAmountByCountryLimit;
49
+ non_visa_max_amount?: IBankFxMaxAmountByCountryLimit;
50
+ [key: string]: unknown;
51
+ }
41
52
  export interface IBankFxTravellingSetting {
42
53
  minimum_date_before_take_off_date?: number | null;
43
54
  maximum_date_before_take_off_date?: number | null;
44
55
  max_amount?: IBankFxMaxAmount;
56
+ max_amount_by_country?: IBankFxMaxAmountByCountry;
45
57
  agent?: IBankFxTravellingAgentSetting;
46
58
  messages?: IBankFxTravellingMessages;
47
59
  [key: string]: unknown;
@@ -0,0 +1,70 @@
1
+ export declare enum ECouponProductType {
2
+ BIKE_COMPULSORY = "bike_compulsory",
3
+ CAR_COMPULSORY = "car_compulsory",
4
+ TRAVEL_DOMESTIC = "travel_domestic",
5
+ TRAVEL_INTERNATIONAL = "travel_international",
6
+ ESIM = "esim"
7
+ }
8
+ export type TCouponStatus = 'active' | 'inactive';
9
+ export type TCampaignStatus = 'active' | 'inactive';
10
+ export type TCampaignRef = {
11
+ id: number;
12
+ name: string;
13
+ status: TCampaignStatus;
14
+ };
15
+ export type TCouponConditions = {
16
+ minOrderValue: number | null;
17
+ firstOrderOnly: boolean;
18
+ flashSaleStart: string | null;
19
+ flashSaleEnd: string | null;
20
+ };
21
+ export type TCouponRow = {
22
+ id: number;
23
+ code: string;
24
+ name: string | null;
25
+ campaignId?: number | null;
26
+ campaign?: TCampaignRef | null;
27
+ status: string;
28
+ usedCount: number;
29
+ totalUsageLimit: number | null;
30
+ expireAt: string;
31
+ startAt?: string;
32
+ createdAt?: string;
33
+ discountType: string;
34
+ discountValue: number;
35
+ maxDiscountAmount?: number | null;
36
+ productTypes?: string[] | null;
37
+ providers?: string[] | null;
38
+ };
39
+ export type TCampaignRow = {
40
+ id: number;
41
+ name: string;
42
+ status: TCampaignStatus;
43
+ totalCoupons: number;
44
+ usedCoupons: number;
45
+ createdAt: string;
46
+ };
47
+ export type TCouponAdminSummary = {
48
+ totalCoupons: number;
49
+ activeCoupons: number;
50
+ usageToday: number;
51
+ totalDiscountAmountThisMonth: number;
52
+ };
53
+ export type TCouponDetail = {
54
+ campaignId?: number | null;
55
+ code: string;
56
+ name: string | null;
57
+ description?: string | null;
58
+ status?: TCouponStatus;
59
+ startAt: string;
60
+ expireAt: string;
61
+ totalUsageLimit: number | null;
62
+ tenantIds?: number[] | null;
63
+ userIds?: number[] | null;
64
+ discountType: string;
65
+ discountValue: number;
66
+ maxDiscountAmount: number | null;
67
+ conditions?: TCouponConditions;
68
+ productTypes: string[] | null;
69
+ providers: string[] | null;
70
+ };
@@ -7,7 +7,7 @@ export declare enum TransactionStatus {
7
7
  SENT_TO_BANK = "sent_to_bank",
8
8
  SENT_CONFIRMATION = "sent_confirmation_to_customer",
9
9
  CONFIRMED = "confirmed",// customer confirmed transaction request via zns
10
- CUSTOMER_PURCHASE_CONFIRMATION = "customer_purchase_confirmation",// waiting for customer to confirm via ZNS (ABBANK only)
10
+ CUSTOMER_PURCHASE_CONFIRMATION = "customer_purchase_confirmation",// waiting for customer to confirm via ZNS (ABBANK, VPBANK)
11
11
  CANCELED = "cancelled",
12
12
  SUCCESS = "success",
13
13
  PAID = "paid",
@@ -16,6 +16,8 @@ export declare enum TransactionStatus {
16
16
  }
17
17
  export declare enum EsimTransactionStatus {
18
18
  CREATED = "created",
19
+ PENDING_PAYMENT = "pending_payment",
20
+ PAID = "paid",
19
21
  WAITING_FOR_RETURN = "waiting_for_return",
20
22
  RETURNED = "returned",
21
23
  OUT_OF_STOCK = "out_of_stock",
@@ -93,7 +95,18 @@ export declare const E_TOP_UP_VALUES: {
93
95
  export declare enum EPaymentMethod {
94
96
  PRIMARY_BALANCE = "primary_balance",
95
97
  TOPUP_BALANCE = "topup_balance",
96
- BANK_TRANSFER = "bank_transfer"
98
+ BANK_TRANSFER = "bank_transfer",
99
+ ADMIN_PAYMENT = "admin_payment"
100
+ }
101
+ /** Wallet vs bank QR; matches API `EPaymentMode` (eSIM create / list). */
102
+ export declare enum EPaymentMode {
103
+ TOPUP_BALANCE = "topup_balance",
104
+ BANK_TRANSFER = "bank_transfer",
105
+ ADMIN_PAYMENT = "admin_payment"
106
+ }
107
+ export declare enum EOrderPaymentType {
108
+ UP_FRONT = "up_front",
109
+ DEFERRED = "deferred"
97
110
  }
98
111
  export declare enum EInsuranceTransactionStatus {
99
112
  PENDING = "pending",
@@ -1,4 +1,5 @@
1
- import { EGender, EIdType, EInsuranceType, EPersonType, EPolicyStatus, EPolicyType, EQuoteStatus, ERelationToPrimary, ETravelType } from './insurance';
1
+ import { EGender, EIdType, EInsuranceType, EApprovalStatus, EPersonType, EPolicyStatus, EPolicyType, EQuoteStatus, ERelationToPrimary, ETravelScope, ETravelType } from './insurance';
2
+ import { EOrderPaymentType } from './enum';
2
3
  import { ITransaction } from './response.dto';
3
4
  export interface InsuranceQuoteInsured {
4
5
  id: number;
@@ -36,6 +37,8 @@ export interface InsuranceQuote {
36
37
  travelType: ETravelType;
37
38
  destination?: string;
38
39
  destinationId?: number;
40
+ provinceFromId?: number;
41
+ provinceToId?: number;
39
42
  basePremium: number;
40
43
  taxAmount: number;
41
44
  totalPremium: number;
@@ -84,8 +87,13 @@ export interface InsuranceTransaction {
84
87
  type: EInsuranceType;
85
88
  policyType: EPolicyType;
86
89
  travelType: ETravelType;
90
+ travelScope: ETravelScope;
87
91
  status: EPolicyStatus;
88
92
  totalAmount: number;
93
+ premiumBeforeDiscount?: number;
94
+ couponId?: number;
95
+ couponCode?: string;
96
+ couponDiscountAmount?: number;
89
97
  providerPolicyId?: string;
90
98
  providerPolicyNumber?: string;
91
99
  providerData?: Record<string, any>;
@@ -94,8 +102,21 @@ export interface InsuranceTransaction {
94
102
  documents?: InsurancePolicyDocument[];
95
103
  userId?: number;
96
104
  tenantId?: number;
105
+ paymentTypeApplied?: EOrderPaymentType;
106
+ paidAmount?: number;
107
+ unpaidAmount?: number;
108
+ isBypassed?: boolean;
109
+ approvalStatus?: EApprovalStatus | null;
110
+ approvalBypassed?: boolean;
111
+ createdByAdminId?: number | null;
112
+ updatedByAdminId?: number | null;
113
+ approvedAt?: string | null;
114
+ rejectedAt?: string | null;
115
+ rejectionReasonCode?: string | null;
116
+ rejectionReasonText?: string | null;
97
117
  createdAt: string;
98
118
  updatedAt: string;
99
119
  quote?: InsuranceQuote;
100
120
  policyInsureds?: PolicyInsured[];
121
+ utm?: Record<string, string>;
101
122
  }