@rentbase/common 1.0.5
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.
- package/build/errors/bad-request-error.d.ts +9 -0
- package/build/errors/bad-request-error.js +16 -0
- package/build/errors/custom-error.d.ts +8 -0
- package/build/errors/custom-error.js +10 -0
- package/build/errors/database-connection-error.d.ts +9 -0
- package/build/errors/database-connection-error.js +16 -0
- package/build/errors/not-authorized-error.d.ts +8 -0
- package/build/errors/not-authorized-error.js +15 -0
- package/build/errors/not-found-error.d.ts +8 -0
- package/build/errors/not-found-error.js +15 -0
- package/build/errors/request-validation-error.d.ts +11 -0
- package/build/errors/request-validation-error.js +19 -0
- package/build/events/consumer.d.ts +2 -0
- package/build/events/consumer.js +30 -0
- package/build/events/producer.d.ts +3 -0
- package/build/events/producer.js +42 -0
- package/build/events/publishers/call-answered-publisher.d.ts +2 -0
- package/build/events/publishers/call-answered-publisher.js +17 -0
- package/build/events/publishers/call-ended-publisher.d.ts +2 -0
- package/build/events/publishers/call-ended-publisher.js +17 -0
- package/build/events/publishers/call-failed-publisher.d.ts +2 -0
- package/build/events/publishers/call-failed-publisher.js +17 -0
- package/build/events/publishers/call-initiated-publisher.d.ts +2 -0
- package/build/events/publishers/call-initiated-publisher.js +17 -0
- package/build/events/publishers/call-missed-publisher.d.ts +2 -0
- package/build/events/publishers/call-missed-publisher.js +17 -0
- package/build/events/publishers/call-provider-status-update-publisher.d.ts +2 -0
- package/build/events/publishers/call-provider-status-update-publisher.js +17 -0
- package/build/events/publishers/call-rated-publisher.d.ts +2 -0
- package/build/events/publishers/call-rated-publisher.js +17 -0
- package/build/events/publishers/call-rejected-publisher.d.ts +2 -0
- package/build/events/publishers/call-rejected-publisher.js +17 -0
- package/build/events/publishers/call-ringing-publisher.d.ts +2 -0
- package/build/events/publishers/call-ringing-publisher.js +17 -0
- package/build/events/publishers/campaign-activated-publisher.d.ts +2 -0
- package/build/events/publishers/campaign-activated-publisher.js +17 -0
- package/build/events/publishers/campaign-created-publisher.d.ts +2 -0
- package/build/events/publishers/campaign-created-publisher.js +17 -0
- package/build/events/publishers/campaign-expired-publisher.d.ts +2 -0
- package/build/events/publishers/campaign-expired-publisher.js +17 -0
- package/build/events/publishers/campaign-redemption-publisher.d.ts +2 -0
- package/build/events/publishers/campaign-redemption-publisher.js +17 -0
- package/build/events/publishers/campaign-status-changed-publisher.d.ts +2 -0
- package/build/events/publishers/campaign-status-changed-publisher.js +17 -0
- package/build/events/publishers/chat-participant-muted-publisher.d.ts +2 -0
- package/build/events/publishers/chat-participant-muted-publisher.js +17 -0
- package/build/events/publishers/chat-session-closed-publisher.d.ts +2 -0
- package/build/events/publishers/chat-session-closed-publisher.js +17 -0
- package/build/events/publishers/chat-session-created-publisher.d.ts +2 -0
- package/build/events/publishers/chat-session-created-publisher.js +17 -0
- package/build/events/publishers/city-created-publisher.d.ts +6 -0
- package/build/events/publishers/city-created-publisher.js +21 -0
- package/build/events/publishers/city-status-changed-publisher.d.ts +6 -0
- package/build/events/publishers/city-status-changed-publisher.js +21 -0
- package/build/events/publishers/city-updated-publisher.d.ts +6 -0
- package/build/events/publishers/city-updated-publisher.js +21 -0
- package/build/events/publishers/country-created-publisher.d.ts +6 -0
- package/build/events/publishers/country-created-publisher.js +21 -0
- package/build/events/publishers/country-status-changed-publisher.d.ts +6 -0
- package/build/events/publishers/country-status-changed-publisher.js +21 -0
- package/build/events/publishers/country-updated-publisher.d.ts +6 -0
- package/build/events/publishers/country-updated-publisher.js +21 -0
- package/build/events/publishers/disciplinary-action-activated-publisher.d.ts +2 -0
- package/build/events/publishers/disciplinary-action-activated-publisher.js +17 -0
- package/build/events/publishers/disciplinary-action-created-publisher.d.ts +2 -0
- package/build/events/publishers/disciplinary-action-created-publisher.js +17 -0
- package/build/events/publishers/disciplinary-action-revoked-publisher.d.ts +2 -0
- package/build/events/publishers/disciplinary-action-revoked-publisher.js +17 -0
- package/build/events/publishers/discount-applied-publisher.d.ts +2 -0
- package/build/events/publishers/discount-applied-publisher.js +17 -0
- package/build/events/publishers/discount-calculated-publisher.d.ts +2 -0
- package/build/events/publishers/discount-calculated-publisher.js +17 -0
- package/build/events/publishers/incident-created-publisher.d.ts +2 -0
- package/build/events/publishers/incident-created-publisher.js +17 -0
- package/build/events/publishers/incident-resolved-publisher.d.ts +2 -0
- package/build/events/publishers/incident-resolved-publisher.js +17 -0
- package/build/events/publishers/incident-updated-publisher.d.ts +2 -0
- package/build/events/publishers/incident-updated-publisher.js +17 -0
- package/build/events/publishers/message-delivered-publisher.d.ts +2 -0
- package/build/events/publishers/message-delivered-publisher.js +17 -0
- package/build/events/publishers/message-read-publisher.d.ts +2 -0
- package/build/events/publishers/message-read-publisher.js +17 -0
- package/build/events/publishers/message-sent-publisher.d.ts +2 -0
- package/build/events/publishers/message-sent-publisher.js +17 -0
- package/build/events/publishers/notification-bulk-send-completed-publisher.d.ts +6 -0
- package/build/events/publishers/notification-bulk-send-completed-publisher.js +21 -0
- package/build/events/publishers/notification-bulk-send-initiated-publisher.d.ts +6 -0
- package/build/events/publishers/notification-bulk-send-initiated-publisher.js +21 -0
- package/build/events/publishers/notification-created-publisher.d.ts +6 -0
- package/build/events/publishers/notification-created-publisher.js +21 -0
- package/build/events/publishers/notification-delivered-publisher.d.ts +6 -0
- package/build/events/publishers/notification-delivered-publisher.js +21 -0
- package/build/events/publishers/notification-failed-publisher.d.ts +6 -0
- package/build/events/publishers/notification-failed-publisher.js +21 -0
- package/build/events/publishers/notification-preferences-updated-publisher.d.ts +6 -0
- package/build/events/publishers/notification-preferences-updated-publisher.js +21 -0
- package/build/events/publishers/notification-read-publisher.d.ts +6 -0
- package/build/events/publishers/notification-read-publisher.js +21 -0
- package/build/events/publishers/notification-sent-publisher.d.ts +6 -0
- package/build/events/publishers/notification-sent-publisher.js +21 -0
- package/build/events/publishers/notification-template-created-publisher.d.ts +6 -0
- package/build/events/publishers/notification-template-created-publisher.js +21 -0
- package/build/events/publishers/notification-template-updated-publisher.d.ts +6 -0
- package/build/events/publishers/notification-template-updated-publisher.js +21 -0
- package/build/events/publishers/payment-charge-refunded-publisher.d.ts +2 -0
- package/build/events/publishers/payment-charge-refunded-publisher.js +17 -0
- package/build/events/publishers/payment-intent-cancelled-publisher.d.ts +2 -0
- package/build/events/publishers/payment-intent-cancelled-publisher.js +17 -0
- package/build/events/publishers/payment-intent-created-publisher.d.ts +2 -0
- package/build/events/publishers/payment-intent-created-publisher.js +17 -0
- package/build/events/publishers/payment-intent-failed-publisher.d.ts +2 -0
- package/build/events/publishers/payment-intent-failed-publisher.js +17 -0
- package/build/events/publishers/payment-intent-succeeded-publisher.d.ts +2 -0
- package/build/events/publishers/payment-intent-succeeded-publisher.js +17 -0
- package/build/events/publishers/payout-approved-publisher.d.ts +2 -0
- package/build/events/publishers/payout-approved-publisher.js +17 -0
- package/build/events/publishers/payout-cancelled-publisher.d.ts +2 -0
- package/build/events/publishers/payout-cancelled-publisher.js +17 -0
- package/build/events/publishers/payout-failed-publisher.d.ts +2 -0
- package/build/events/publishers/payout-failed-publisher.js +17 -0
- package/build/events/publishers/payout-processing-publisher.d.ts +2 -0
- package/build/events/publishers/payout-processing-publisher.js +17 -0
- package/build/events/publishers/payout-requested-publisher.d.ts +2 -0
- package/build/events/publishers/payout-requested-publisher.js +17 -0
- package/build/events/publishers/payout-succeeded-publisher.d.ts +2 -0
- package/build/events/publishers/payout-succeeded-publisher.js +17 -0
- package/build/events/publishers/promo-code-applied-publisher.d.ts +2 -0
- package/build/events/publishers/promo-code-applied-publisher.js +17 -0
- package/build/events/publishers/promo-code-bulk-created-publisher.d.ts +2 -0
- package/build/events/publishers/promo-code-bulk-created-publisher.js +17 -0
- package/build/events/publishers/promo-code-created-publisher.d.ts +2 -0
- package/build/events/publishers/promo-code-created-publisher.js +17 -0
- package/build/events/publishers/promo-code-status-changed-publisher.d.ts +2 -0
- package/build/events/publishers/promo-code-status-changed-publisher.js +17 -0
- package/build/events/publishers/property-created-publisher.d.ts +6 -0
- package/build/events/publishers/property-created-publisher.js +21 -0
- package/build/events/publishers/property-deleted-publisher.d.ts +6 -0
- package/build/events/publishers/property-deleted-publisher.js +21 -0
- package/build/events/publishers/property-offer-accepted-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-accepted-publisher.js +21 -0
- package/build/events/publishers/property-offer-created-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-created-publisher.js +21 -0
- package/build/events/publishers/property-offer-expired-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-expired-publisher.js +21 -0
- package/build/events/publishers/property-offer-rejected-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-rejected-publisher.js +21 -0
- package/build/events/publishers/property-offer-updated-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-updated-publisher.js +21 -0
- package/build/events/publishers/property-offer-withdrawn-publisher.d.ts +6 -0
- package/build/events/publishers/property-offer-withdrawn-publisher.js +21 -0
- package/build/events/publishers/property-rating-submitted-publisher.d.ts +6 -0
- package/build/events/publishers/property-rating-submitted-publisher.js +21 -0
- package/build/events/publishers/property-rating-updated-publisher.d.ts +6 -0
- package/build/events/publishers/property-rating-updated-publisher.js +21 -0
- package/build/events/publishers/property-report-created-publisher.d.ts +6 -0
- package/build/events/publishers/property-report-created-publisher.js +21 -0
- package/build/events/publishers/property-report-resolved-publisher.d.ts +6 -0
- package/build/events/publishers/property-report-resolved-publisher.js +21 -0
- package/build/events/publishers/property-report-updated-publisher.d.ts +6 -0
- package/build/events/publishers/property-report-updated-publisher.js +21 -0
- package/build/events/publishers/property-status-changed-publisher.d.ts +6 -0
- package/build/events/publishers/property-status-changed-publisher.js +21 -0
- package/build/events/publishers/property-updated-publisher.d.ts +6 -0
- package/build/events/publishers/property-updated-publisher.js +21 -0
- package/build/events/publishers/property-viewed-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewed-publisher.js +21 -0
- package/build/events/publishers/property-viewing-cancelled-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewing-cancelled-publisher.js +21 -0
- package/build/events/publishers/property-viewing-completed-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewing-completed-publisher.js +21 -0
- package/build/events/publishers/property-viewing-confirmed-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewing-confirmed-publisher.js +21 -0
- package/build/events/publishers/property-viewing-no-show-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewing-no-show-publisher.js +21 -0
- package/build/events/publishers/property-viewing-scheduled-publisher.d.ts +6 -0
- package/build/events/publishers/property-viewing-scheduled-publisher.js +21 -0
- package/build/events/publishers/referral-claimed-publisher.d.ts +2 -0
- package/build/events/publishers/referral-claimed-publisher.js +17 -0
- package/build/events/publishers/referral-code-generated-publisher.d.ts +2 -0
- package/build/events/publishers/referral-code-generated-publisher.js +17 -0
- package/build/events/publishers/referral-conversion-publisher.d.ts +2 -0
- package/build/events/publishers/referral-conversion-publisher.js +17 -0
- package/build/events/publishers/referral-qualified-publisher.d.ts +2 -0
- package/build/events/publishers/referral-qualified-publisher.js +17 -0
- package/build/events/publishers/referral-rewards-granted-publisher.d.ts +2 -0
- package/build/events/publishers/referral-rewards-granted-publisher.js +17 -0
- package/build/events/publishers/referral-status-changed-publisher.d.ts +2 -0
- package/build/events/publishers/referral-status-changed-publisher.js +17 -0
- package/build/events/publishers/rental-agreement-activated-publisher.d.ts +6 -0
- package/build/events/publishers/rental-agreement-activated-publisher.js +21 -0
- package/build/events/publishers/rental-agreement-created-publisher.d.ts +6 -0
- package/build/events/publishers/rental-agreement-created-publisher.js +21 -0
- package/build/events/publishers/rental-agreement-expired-publisher.d.ts +6 -0
- package/build/events/publishers/rental-agreement-expired-publisher.js +21 -0
- package/build/events/publishers/rental-agreement-signed-publisher.d.ts +6 -0
- package/build/events/publishers/rental-agreement-signed-publisher.js +21 -0
- package/build/events/publishers/rental-agreement-terminated-publisher.d.ts +6 -0
- package/build/events/publishers/rental-agreement-terminated-publisher.js +21 -0
- package/build/events/publishers/reward-credit-cancelled-publisher.d.ts +2 -0
- package/build/events/publishers/reward-credit-cancelled-publisher.js +17 -0
- package/build/events/publishers/reward-credit-expired-publisher.d.ts +2 -0
- package/build/events/publishers/reward-credit-expired-publisher.js +17 -0
- package/build/events/publishers/reward-credit-issued-publisher.d.ts +2 -0
- package/build/events/publishers/reward-credit-issued-publisher.js +17 -0
- package/build/events/publishers/reward-credit-used-publisher.d.ts +2 -0
- package/build/events/publishers/reward-credit-used-publisher.js +17 -0
- package/build/events/publishers/safety-audit-log-created-publisher.d.ts +2 -0
- package/build/events/publishers/safety-audit-log-created-publisher.js +17 -0
- package/build/events/publishers/safety-note-created-publisher.d.ts +2 -0
- package/build/events/publishers/safety-note-created-publisher.js +17 -0
- package/build/events/publishers/sos-acknowledged-publisher.d.ts +2 -0
- package/build/events/publishers/sos-acknowledged-publisher.js +17 -0
- package/build/events/publishers/sos-resolved-publisher.d.ts +2 -0
- package/build/events/publishers/sos-resolved-publisher.js +17 -0
- package/build/events/publishers/sos-responding-publisher.d.ts +2 -0
- package/build/events/publishers/sos-responding-publisher.js +17 -0
- package/build/events/publishers/sos-triggered-publisher.d.ts +2 -0
- package/build/events/publishers/sos-triggered-publisher.js +17 -0
- package/build/events/publishers/system-message-added-publisher.d.ts +2 -0
- package/build/events/publishers/system-message-added-publisher.js +17 -0
- package/build/events/publishers/transaction-status-changed-publisher.d.ts +2 -0
- package/build/events/publishers/transaction-status-changed-publisher.js +17 -0
- package/build/events/publishers/wallet-adjusted-publisher.d.ts +2 -0
- package/build/events/publishers/wallet-adjusted-publisher.js +17 -0
- package/build/events/publishers/wallet-balance-updated-publisher.d.ts +2 -0
- package/build/events/publishers/wallet-balance-updated-publisher.js +17 -0
- package/build/events/publishers/wallet-created-publisher.d.ts +2 -0
- package/build/events/publishers/wallet-created-publisher.js +17 -0
- package/build/events/publishers/wallet-status-changed-publisher.d.ts +2 -0
- package/build/events/publishers/wallet-status-changed-publisher.js +17 -0
- package/build/events/publishers/wallet-transaction-created-publisher.d.ts +2 -0
- package/build/events/publishers/wallet-transaction-created-publisher.js +17 -0
- package/build/events/publishers/webhook-processed-publisher.d.ts +2 -0
- package/build/events/publishers/webhook-processed-publisher.js +17 -0
- package/build/events/publishers/webhook-received-publisher.d.ts +2 -0
- package/build/events/publishers/webhook-received-publisher.js +17 -0
- package/build/events/types/chat-events.d.ts +145 -0
- package/build/events/types/chat-events.js +6 -0
- package/build/events/types/geo-config-events.d.ts +84 -0
- package/build/events/types/geo-config-events.js +2 -0
- package/build/events/types/index.d.ts +134 -0
- package/build/events/types/index.js +22 -0
- package/build/events/types/notification-events.d.ts +138 -0
- package/build/events/types/notification-events.js +6 -0
- package/build/events/types/payment-events.d.ts +287 -0
- package/build/events/types/payment-events.js +6 -0
- package/build/events/types/promotion-events.d.ts +236 -0
- package/build/events/types/promotion-events.js +6 -0
- package/build/events/types/property-events.d.ts +354 -0
- package/build/events/types/property-events.js +60 -0
- package/build/events/types/request-events.d.ts +60 -0
- package/build/events/types/request-events.js +18 -0
- package/build/events/types/safety-events.d.ts +143 -0
- package/build/events/types/safety-events.js +6 -0
- package/build/events/types/user-events.d.ts +131 -0
- package/build/events/types/user-events.js +6 -0
- package/build/index.d.ts +133 -0
- package/build/index.js +167 -0
- package/build/middlewares/current-user.d.ts +2 -0
- package/build/middlewares/current-user.js +20 -0
- package/build/middlewares/error-handler.d.ts +2 -0
- package/build/middlewares/error-handler.js +14 -0
- package/build/middlewares/require-auth.d.ts +12 -0
- package/build/middlewares/require-auth.js +83 -0
- package/build/middlewares/system-logger.d.ts +0 -0
- package/build/middlewares/system-logger.js +1 -0
- package/build/middlewares/validate-request.d.ts +2 -0
- package/build/middlewares/validate-request.js +13 -0
- package/build/types/auth.d.ts +22 -0
- package/build/types/auth.js +5 -0
- package/package.json +40 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payment Events
|
|
3
|
+
* Published by payments-wallets-service for payment lifecycle events
|
|
4
|
+
*/
|
|
5
|
+
export interface WalletCreatedEvent {
|
|
6
|
+
id: string;
|
|
7
|
+
owner_auth_user_id: string;
|
|
8
|
+
owner_profile_user_id?: string;
|
|
9
|
+
owner_type: "rider" | "driver" | "fleet" | "corporate" | "platform";
|
|
10
|
+
currency: string;
|
|
11
|
+
balance_available: number;
|
|
12
|
+
balance_pending: number;
|
|
13
|
+
balance_reserved: number;
|
|
14
|
+
status: "active" | "frozen" | "closed";
|
|
15
|
+
fleet_id?: string;
|
|
16
|
+
corporate_id?: string;
|
|
17
|
+
label?: string;
|
|
18
|
+
created_at: Date;
|
|
19
|
+
}
|
|
20
|
+
export interface WalletAdjustedEvent {
|
|
21
|
+
id: string;
|
|
22
|
+
wallet_id: string;
|
|
23
|
+
owner_auth_user_id: string;
|
|
24
|
+
type: "credit" | "debit";
|
|
25
|
+
reason: "adjustment_manual" | "promo_credit" | "fee" | "other";
|
|
26
|
+
amount: number;
|
|
27
|
+
currency: string;
|
|
28
|
+
balance_available_before: number;
|
|
29
|
+
balance_available_after: number;
|
|
30
|
+
description: string;
|
|
31
|
+
admin_auth_user_id?: string;
|
|
32
|
+
adjusted_at: Date;
|
|
33
|
+
}
|
|
34
|
+
export interface WalletBalanceUpdatedEvent {
|
|
35
|
+
wallet_id: string;
|
|
36
|
+
owner_auth_user_id: string;
|
|
37
|
+
currency: string;
|
|
38
|
+
balance_available: number;
|
|
39
|
+
balance_pending: number;
|
|
40
|
+
balance_reserved: number;
|
|
41
|
+
previous_balance_available: number;
|
|
42
|
+
updated_at: Date;
|
|
43
|
+
}
|
|
44
|
+
export interface WalletStatusChangedEvent {
|
|
45
|
+
wallet_id: string;
|
|
46
|
+
owner_auth_user_id: string;
|
|
47
|
+
previous_status: "active" | "frozen" | "closed";
|
|
48
|
+
new_status: "active" | "frozen" | "closed";
|
|
49
|
+
reason?: string;
|
|
50
|
+
changed_by_auth_user_id?: string;
|
|
51
|
+
changed_at: Date;
|
|
52
|
+
}
|
|
53
|
+
export interface WalletTransactionCreatedEvent {
|
|
54
|
+
id: string;
|
|
55
|
+
wallet_id: string;
|
|
56
|
+
owner_auth_user_id: string;
|
|
57
|
+
owner_type: "rider" | "driver" | "fleet" | "corporate" | "platform";
|
|
58
|
+
type: "credit" | "debit";
|
|
59
|
+
reason: "trip_fare_charge" | "trip_fare_refund" | "driver_earnings" | "platform_commission" | "topup_card" | "topup_mobile_money" | "withdraw_payout" | "adjustment_manual" | "promo_credit" | "fee" | "other";
|
|
60
|
+
amount: number;
|
|
61
|
+
currency: string;
|
|
62
|
+
balance_available_after: number;
|
|
63
|
+
balance_pending_after: number;
|
|
64
|
+
balance_reserved_after: number;
|
|
65
|
+
status: "pending" | "completed" | "failed" | "reversed";
|
|
66
|
+
trip_id?: string;
|
|
67
|
+
seat_booking_id?: string;
|
|
68
|
+
payout_id?: string;
|
|
69
|
+
payment_intent_id?: string;
|
|
70
|
+
external_reference?: string;
|
|
71
|
+
provider_name?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
created_at: Date;
|
|
74
|
+
}
|
|
75
|
+
export interface TransactionStatusChangedEvent {
|
|
76
|
+
transaction_id: string;
|
|
77
|
+
wallet_id: string;
|
|
78
|
+
owner_auth_user_id: string;
|
|
79
|
+
previous_status: "pending" | "completed" | "failed" | "reversed";
|
|
80
|
+
new_status: "pending" | "completed" | "failed" | "reversed";
|
|
81
|
+
reason?: string;
|
|
82
|
+
changed_at: Date;
|
|
83
|
+
}
|
|
84
|
+
export interface TripRiderChargedEvent {
|
|
85
|
+
trip_id: string;
|
|
86
|
+
transaction_id: string;
|
|
87
|
+
wallet_id: string;
|
|
88
|
+
rider_auth_user_id: string;
|
|
89
|
+
amount: number;
|
|
90
|
+
currency: string;
|
|
91
|
+
payment_method: "wallet" | "cash" | "card" | "mobile_money";
|
|
92
|
+
payment_intent_id?: string;
|
|
93
|
+
seat_booking_id?: string;
|
|
94
|
+
status: "pending" | "completed";
|
|
95
|
+
charged_at: Date;
|
|
96
|
+
}
|
|
97
|
+
export interface TripRiderRefundedEvent {
|
|
98
|
+
trip_id: string;
|
|
99
|
+
transaction_id: string;
|
|
100
|
+
wallet_id: string;
|
|
101
|
+
rider_auth_user_id: string;
|
|
102
|
+
amount: number;
|
|
103
|
+
currency: string;
|
|
104
|
+
reason: string;
|
|
105
|
+
original_transaction_id?: string;
|
|
106
|
+
refunded_at: Date;
|
|
107
|
+
}
|
|
108
|
+
export interface TripDriverSettledEvent {
|
|
109
|
+
trip_id: string;
|
|
110
|
+
driver_transaction_id: string;
|
|
111
|
+
driver_wallet_id: string;
|
|
112
|
+
driver_auth_user_id: string;
|
|
113
|
+
driver_amount: number;
|
|
114
|
+
currency: string;
|
|
115
|
+
fleet_id?: string;
|
|
116
|
+
fleet_transaction_id?: string;
|
|
117
|
+
fleet_amount?: number;
|
|
118
|
+
settled_at: Date;
|
|
119
|
+
}
|
|
120
|
+
export interface TripCommissionAppliedEvent {
|
|
121
|
+
trip_id: string;
|
|
122
|
+
transaction_id: string;
|
|
123
|
+
platform_wallet_id: string;
|
|
124
|
+
amount: number;
|
|
125
|
+
currency: string;
|
|
126
|
+
details?: {
|
|
127
|
+
base_fare?: number;
|
|
128
|
+
commission_rate?: number;
|
|
129
|
+
driver_earnings?: number;
|
|
130
|
+
};
|
|
131
|
+
applied_at: Date;
|
|
132
|
+
}
|
|
133
|
+
export interface PaymentIntentCreatedEvent {
|
|
134
|
+
id: string;
|
|
135
|
+
auth_user_id: string;
|
|
136
|
+
profile_user_id?: string;
|
|
137
|
+
purpose: "trip_fare" | "wallet_topup" | "seat_booking" | "subscription" | "other";
|
|
138
|
+
amount: number;
|
|
139
|
+
currency: string;
|
|
140
|
+
payment_method_type: "card" | "mobile_money" | "bank_transfer" | "cash" | "wallet";
|
|
141
|
+
payment_provider: string;
|
|
142
|
+
provider_intent_id?: string;
|
|
143
|
+
status: "created" | "pending" | "requires_action" | "succeeded" | "failed" | "cancelled" | "expired";
|
|
144
|
+
trip_id?: string;
|
|
145
|
+
seat_booking_id?: string;
|
|
146
|
+
wallet_id?: string;
|
|
147
|
+
created_at: Date;
|
|
148
|
+
}
|
|
149
|
+
export interface PaymentIntentSucceededEvent {
|
|
150
|
+
payment_intent_id: string;
|
|
151
|
+
auth_user_id: string;
|
|
152
|
+
purpose: "trip_fare" | "wallet_topup" | "seat_booking" | "subscription" | "other";
|
|
153
|
+
amount: number;
|
|
154
|
+
currency: string;
|
|
155
|
+
payment_provider: string;
|
|
156
|
+
provider_intent_id?: string;
|
|
157
|
+
wallet_id?: string;
|
|
158
|
+
wallet_transaction_id?: string;
|
|
159
|
+
trip_id?: string;
|
|
160
|
+
seat_booking_id?: string;
|
|
161
|
+
succeeded_at: Date;
|
|
162
|
+
}
|
|
163
|
+
export interface PaymentIntentFailedEvent {
|
|
164
|
+
payment_intent_id: string;
|
|
165
|
+
auth_user_id: string;
|
|
166
|
+
purpose: "trip_fare" | "wallet_topup" | "seat_booking" | "subscription" | "other";
|
|
167
|
+
amount: number;
|
|
168
|
+
currency: string;
|
|
169
|
+
payment_provider: string;
|
|
170
|
+
provider_intent_id?: string;
|
|
171
|
+
failure_code?: string;
|
|
172
|
+
failure_message?: string;
|
|
173
|
+
failed_at: Date;
|
|
174
|
+
}
|
|
175
|
+
export interface PaymentIntentCancelledEvent {
|
|
176
|
+
payment_intent_id: string;
|
|
177
|
+
auth_user_id: string;
|
|
178
|
+
amount: number;
|
|
179
|
+
currency: string;
|
|
180
|
+
reason?: string;
|
|
181
|
+
cancelled_at: Date;
|
|
182
|
+
}
|
|
183
|
+
export interface PaymentChargeRefundedEvent {
|
|
184
|
+
payment_intent_id: string;
|
|
185
|
+
auth_user_id: string;
|
|
186
|
+
wallet_id: string;
|
|
187
|
+
original_amount: number;
|
|
188
|
+
refund_amount: number;
|
|
189
|
+
currency: string;
|
|
190
|
+
payment_provider: string;
|
|
191
|
+
provider_charge_id?: string;
|
|
192
|
+
provider_refund_id?: string;
|
|
193
|
+
transaction_id: string;
|
|
194
|
+
refunded_at: Date;
|
|
195
|
+
}
|
|
196
|
+
export interface PayoutRequestedEvent {
|
|
197
|
+
id: string;
|
|
198
|
+
wallet_id: string;
|
|
199
|
+
owner_auth_user_id: string;
|
|
200
|
+
owner_type: "driver" | "fleet" | "corporate";
|
|
201
|
+
amount: number;
|
|
202
|
+
currency: string;
|
|
203
|
+
destination: {
|
|
204
|
+
method_type: "mobile_money" | "bank_transfer" | "card_refund" | "cash_manual";
|
|
205
|
+
provider: string;
|
|
206
|
+
account_name?: string;
|
|
207
|
+
account_number?: string;
|
|
208
|
+
mobile_number?: string;
|
|
209
|
+
};
|
|
210
|
+
provider_name: string;
|
|
211
|
+
status: "created" | "pending" | "processing" | "succeeded" | "failed" | "cancelled";
|
|
212
|
+
requested_by_auth_user_id: string;
|
|
213
|
+
requested_at: Date;
|
|
214
|
+
}
|
|
215
|
+
export interface PayoutApprovedEvent {
|
|
216
|
+
payout_id: string;
|
|
217
|
+
wallet_id: string;
|
|
218
|
+
owner_auth_user_id: string;
|
|
219
|
+
amount: number;
|
|
220
|
+
currency: string;
|
|
221
|
+
approved_by_auth_user_id: string;
|
|
222
|
+
notes?: string;
|
|
223
|
+
approved_at: Date;
|
|
224
|
+
}
|
|
225
|
+
export interface PayoutProcessingEvent {
|
|
226
|
+
payout_id: string;
|
|
227
|
+
wallet_id: string;
|
|
228
|
+
owner_auth_user_id: string;
|
|
229
|
+
amount: number;
|
|
230
|
+
currency: string;
|
|
231
|
+
provider_name: string;
|
|
232
|
+
provider_payout_id?: string;
|
|
233
|
+
provider_batch_id?: string;
|
|
234
|
+
processing_at: Date;
|
|
235
|
+
}
|
|
236
|
+
export interface PayoutSucceededEvent {
|
|
237
|
+
payout_id: string;
|
|
238
|
+
wallet_id: string;
|
|
239
|
+
owner_auth_user_id: string;
|
|
240
|
+
amount: number;
|
|
241
|
+
currency: string;
|
|
242
|
+
provider_name: string;
|
|
243
|
+
provider_payout_id?: string;
|
|
244
|
+
provider_status?: string;
|
|
245
|
+
debit_transaction_id?: string;
|
|
246
|
+
succeeded_at: Date;
|
|
247
|
+
}
|
|
248
|
+
export interface PayoutFailedEvent {
|
|
249
|
+
payout_id: string;
|
|
250
|
+
wallet_id: string;
|
|
251
|
+
owner_auth_user_id: string;
|
|
252
|
+
amount: number;
|
|
253
|
+
currency: string;
|
|
254
|
+
provider_name: string;
|
|
255
|
+
provider_error_code?: string;
|
|
256
|
+
provider_error_message?: string;
|
|
257
|
+
failed_at: Date;
|
|
258
|
+
}
|
|
259
|
+
export interface PayoutCancelledEvent {
|
|
260
|
+
payout_id: string;
|
|
261
|
+
wallet_id: string;
|
|
262
|
+
owner_auth_user_id: string;
|
|
263
|
+
amount: number;
|
|
264
|
+
currency: string;
|
|
265
|
+
reason?: string;
|
|
266
|
+
cancelled_by_auth_user_id?: string;
|
|
267
|
+
cancelled_at: Date;
|
|
268
|
+
}
|
|
269
|
+
export interface WebhookReceivedEvent {
|
|
270
|
+
provider: string;
|
|
271
|
+
event_type: string;
|
|
272
|
+
provider_event_id?: string;
|
|
273
|
+
payment_intent_id?: string;
|
|
274
|
+
payout_id?: string;
|
|
275
|
+
status: "processing" | "succeeded" | "failed";
|
|
276
|
+
received_at: Date;
|
|
277
|
+
}
|
|
278
|
+
export interface WebhookProcessedEvent {
|
|
279
|
+
provider: string;
|
|
280
|
+
event_type: string;
|
|
281
|
+
provider_event_id?: string;
|
|
282
|
+
payment_intent_id?: string;
|
|
283
|
+
payout_id?: string;
|
|
284
|
+
processing_result: "success" | "failed" | "skipped";
|
|
285
|
+
error_message?: string;
|
|
286
|
+
processed_at: Date;
|
|
287
|
+
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promotions & Referrals Events
|
|
3
|
+
* Published by promotions-referrals-service for promotion lifecycle events
|
|
4
|
+
*/
|
|
5
|
+
export interface CampaignCreatedEvent {
|
|
6
|
+
campaign_id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: "generic_promo" | "referral_program" | "welcome_bonus" | "retention_offer" | "fleet_promo" | "other";
|
|
9
|
+
status: "draft" | "active" | "paused" | "expired";
|
|
10
|
+
discount_type: "flat" | "percentage";
|
|
11
|
+
discount_value: number;
|
|
12
|
+
max_discount_amount?: number;
|
|
13
|
+
starts_at?: string;
|
|
14
|
+
ends_at?: string;
|
|
15
|
+
max_total_redemptions?: number;
|
|
16
|
+
max_per_user_redemptions?: number;
|
|
17
|
+
fleet_id?: string;
|
|
18
|
+
created_by_auth_user_id?: string;
|
|
19
|
+
created_at: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CampaignActivatedEvent {
|
|
22
|
+
campaign_id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
type: string;
|
|
25
|
+
discount_type: "flat" | "percentage";
|
|
26
|
+
discount_value: number;
|
|
27
|
+
starts_at?: string;
|
|
28
|
+
ends_at?: string;
|
|
29
|
+
max_total_redemptions?: number;
|
|
30
|
+
activated_at: string;
|
|
31
|
+
}
|
|
32
|
+
export interface CampaignStatusChangedEvent {
|
|
33
|
+
campaign_id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
previous_status: "draft" | "active" | "paused" | "expired";
|
|
36
|
+
new_status: "draft" | "active" | "paused" | "expired";
|
|
37
|
+
changed_by_auth_user_id?: string;
|
|
38
|
+
changed_at: string;
|
|
39
|
+
}
|
|
40
|
+
export interface CampaignExpiredEvent {
|
|
41
|
+
campaign_id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
type: string;
|
|
44
|
+
total_redemptions: number;
|
|
45
|
+
max_total_redemptions?: number;
|
|
46
|
+
expired_at: string;
|
|
47
|
+
}
|
|
48
|
+
export interface PromoCodeCreatedEvent {
|
|
49
|
+
promo_code_id: string;
|
|
50
|
+
code: string;
|
|
51
|
+
campaign_id?: string;
|
|
52
|
+
status: "active" | "inactive" | "expired" | "exhausted";
|
|
53
|
+
max_total_redemptions?: number;
|
|
54
|
+
max_per_user_redemptions?: number;
|
|
55
|
+
owner_auth_user_id?: string;
|
|
56
|
+
owner_role?: "rider" | "driver";
|
|
57
|
+
valid_from?: string;
|
|
58
|
+
valid_until?: string;
|
|
59
|
+
is_referral_code: boolean;
|
|
60
|
+
created_by_auth_user_id?: string;
|
|
61
|
+
created_at: string;
|
|
62
|
+
}
|
|
63
|
+
export interface PromoCodeBulkCreatedEvent {
|
|
64
|
+
campaign_id: string;
|
|
65
|
+
count: number;
|
|
66
|
+
prefix: string;
|
|
67
|
+
codes_generated: string[];
|
|
68
|
+
created_by_auth_user_id?: string;
|
|
69
|
+
created_at: string;
|
|
70
|
+
}
|
|
71
|
+
export interface PromoCodeAppliedEvent {
|
|
72
|
+
promo_code_id: string;
|
|
73
|
+
code: string;
|
|
74
|
+
campaign_id?: string;
|
|
75
|
+
auth_user_id: string;
|
|
76
|
+
trip_estimate_amount?: number;
|
|
77
|
+
discount_amount: number;
|
|
78
|
+
currency: string;
|
|
79
|
+
applied_at: string;
|
|
80
|
+
}
|
|
81
|
+
export interface PromoCodeStatusChangedEvent {
|
|
82
|
+
promo_code_id: string;
|
|
83
|
+
code: string;
|
|
84
|
+
previous_status: "active" | "inactive" | "expired" | "exhausted";
|
|
85
|
+
new_status: "active" | "inactive" | "expired" | "exhausted";
|
|
86
|
+
current_redemptions: number;
|
|
87
|
+
max_total_redemptions?: number;
|
|
88
|
+
changed_by_auth_user_id?: string;
|
|
89
|
+
changed_at: string;
|
|
90
|
+
}
|
|
91
|
+
export interface ReferralCodeGeneratedEvent {
|
|
92
|
+
promo_code_id: string;
|
|
93
|
+
code: string;
|
|
94
|
+
referrer_auth_user_id: string;
|
|
95
|
+
referrer_role?: "rider" | "driver";
|
|
96
|
+
campaign_id?: string;
|
|
97
|
+
generated_at: string;
|
|
98
|
+
}
|
|
99
|
+
export interface ReferralClaimedEvent {
|
|
100
|
+
referral_id: string;
|
|
101
|
+
promo_code_id: string;
|
|
102
|
+
code: string;
|
|
103
|
+
campaign_id?: string;
|
|
104
|
+
referrer_auth_user_id: string;
|
|
105
|
+
referrer_role?: "rider" | "driver";
|
|
106
|
+
referee_auth_user_id: string;
|
|
107
|
+
referee_role?: "rider" | "driver";
|
|
108
|
+
status: "pending";
|
|
109
|
+
created_from_ip?: string;
|
|
110
|
+
created_from_device_id?: string;
|
|
111
|
+
claimed_at: string;
|
|
112
|
+
}
|
|
113
|
+
export interface ReferralQualifiedEvent {
|
|
114
|
+
referral_id: string;
|
|
115
|
+
campaign_id?: string;
|
|
116
|
+
referrer_auth_user_id: string;
|
|
117
|
+
referee_auth_user_id: string;
|
|
118
|
+
qualification_reason: "trip_completed" | "multiple_trips_completed" | "wallet_topped_up" | "other";
|
|
119
|
+
required_trips?: number;
|
|
120
|
+
completed_trips: number;
|
|
121
|
+
qualified_at: string;
|
|
122
|
+
}
|
|
123
|
+
export interface ReferralRewardsGrantedEvent {
|
|
124
|
+
referral_id: string;
|
|
125
|
+
campaign_id?: string;
|
|
126
|
+
referrer_auth_user_id: string;
|
|
127
|
+
referee_auth_user_id: string;
|
|
128
|
+
referrer_reward_credit_id: string;
|
|
129
|
+
referee_reward_credit_id: string;
|
|
130
|
+
reward_amount: number;
|
|
131
|
+
currency: string;
|
|
132
|
+
granted_at: string;
|
|
133
|
+
}
|
|
134
|
+
export interface ReferralStatusChangedEvent {
|
|
135
|
+
referral_id: string;
|
|
136
|
+
referrer_auth_user_id: string;
|
|
137
|
+
referee_auth_user_id: string;
|
|
138
|
+
previous_status: "pending" | "qualified" | "rewards_granted" | "expired" | "cancelled";
|
|
139
|
+
new_status: "pending" | "qualified" | "rewards_granted" | "expired" | "cancelled";
|
|
140
|
+
changed_by_auth_user_id?: string;
|
|
141
|
+
changed_at: string;
|
|
142
|
+
}
|
|
143
|
+
export interface RewardCreditIssuedEvent {
|
|
144
|
+
reward_credit_id: string;
|
|
145
|
+
auth_user_id: string;
|
|
146
|
+
role?: "rider" | "driver";
|
|
147
|
+
amount: number;
|
|
148
|
+
currency: string;
|
|
149
|
+
is_percentage: boolean;
|
|
150
|
+
percentage_value?: number;
|
|
151
|
+
max_discount_amount?: number;
|
|
152
|
+
source_type: "promo_code" | "referral_referrer" | "referral_referee" | "welcome_bonus" | "retention_offer" | "manual_adjustment" | "other";
|
|
153
|
+
campaign_id?: string;
|
|
154
|
+
promo_code_id?: string;
|
|
155
|
+
referral_id?: string;
|
|
156
|
+
valid_from?: string;
|
|
157
|
+
valid_until?: string;
|
|
158
|
+
issued_by_auth_user_id?: string;
|
|
159
|
+
issued_at: string;
|
|
160
|
+
}
|
|
161
|
+
export interface RewardCreditUsedEvent {
|
|
162
|
+
reward_credit_id: string;
|
|
163
|
+
auth_user_id: string;
|
|
164
|
+
amount: number;
|
|
165
|
+
currency: string;
|
|
166
|
+
source_type: string;
|
|
167
|
+
trip_id: string;
|
|
168
|
+
payment_intent_id: string;
|
|
169
|
+
discount_applied: number;
|
|
170
|
+
used_at: string;
|
|
171
|
+
}
|
|
172
|
+
export interface RewardCreditExpiredEvent {
|
|
173
|
+
reward_credit_id: string;
|
|
174
|
+
auth_user_id: string;
|
|
175
|
+
amount: number;
|
|
176
|
+
currency: string;
|
|
177
|
+
source_type: string;
|
|
178
|
+
valid_until: string;
|
|
179
|
+
expired_at: string;
|
|
180
|
+
}
|
|
181
|
+
export interface RewardCreditCancelledEvent {
|
|
182
|
+
reward_credit_id: string;
|
|
183
|
+
auth_user_id: string;
|
|
184
|
+
amount: number;
|
|
185
|
+
currency: string;
|
|
186
|
+
source_type: string;
|
|
187
|
+
reason?: string;
|
|
188
|
+
cancelled_by_auth_user_id?: string;
|
|
189
|
+
cancelled_at: string;
|
|
190
|
+
}
|
|
191
|
+
export interface DiscountCalculatedEvent {
|
|
192
|
+
auth_user_id: string;
|
|
193
|
+
trip_estimate_amount: number;
|
|
194
|
+
currency: string;
|
|
195
|
+
discount_type: "reward" | "promo" | "none";
|
|
196
|
+
discount_amount: number;
|
|
197
|
+
final_amount: number;
|
|
198
|
+
applied_reward_credit_id?: string;
|
|
199
|
+
applied_promo_code?: string;
|
|
200
|
+
calculated_at: string;
|
|
201
|
+
}
|
|
202
|
+
export interface DiscountAppliedEvent {
|
|
203
|
+
auth_user_id: string;
|
|
204
|
+
trip_id: string;
|
|
205
|
+
payment_intent_id: string;
|
|
206
|
+
original_amount: number;
|
|
207
|
+
discount_amount: number;
|
|
208
|
+
final_amount: number;
|
|
209
|
+
currency: string;
|
|
210
|
+
discount_source: "reward_credit" | "promo_code";
|
|
211
|
+
reward_credit_id?: string;
|
|
212
|
+
promo_code_id?: string;
|
|
213
|
+
promo_code?: string;
|
|
214
|
+
applied_at: string;
|
|
215
|
+
}
|
|
216
|
+
export interface CampaignRedemptionEvent {
|
|
217
|
+
campaign_id: string;
|
|
218
|
+
campaign_name: string;
|
|
219
|
+
campaign_type: string;
|
|
220
|
+
auth_user_id: string;
|
|
221
|
+
promo_code_id?: string;
|
|
222
|
+
promo_code?: string;
|
|
223
|
+
discount_amount: number;
|
|
224
|
+
currency: string;
|
|
225
|
+
trip_id?: string;
|
|
226
|
+
redeemed_at: string;
|
|
227
|
+
}
|
|
228
|
+
export interface ReferralConversionEvent {
|
|
229
|
+
referral_id: string;
|
|
230
|
+
campaign_id?: string;
|
|
231
|
+
referrer_auth_user_id: string;
|
|
232
|
+
referee_auth_user_id: string;
|
|
233
|
+
conversion_type: "signup" | "first_trip" | "qualified" | "rewards_granted";
|
|
234
|
+
days_to_convert: number;
|
|
235
|
+
converted_at: string;
|
|
236
|
+
}
|