Event Catalog

Source of truth: src/app/core/pyb/enums/event-types.enum.ts. Emitted through EventLoggerService.

Advance Line

export enum AdvanceLineEventTypes {
    OFFER_ACCEPTED        = 'AdvanceLineOfferAccepted',
    OFFER_DECLINED        = 'AdvanceLineOfferDeclined',
    OFFER_SAVED_FOR_LATER = 'AdvanceLineOfferSavedForLater',
    DOCUSIGN_VERIFIED     = 'AdvanceLineDocusignVerified',
    FUNDS_WITHDRAWN       = 'AdvanceLineFundsWithdrawn',
    ADVANCE_REPORT_LINK   = 'ClickedOnAdvanceReportLink',
}
Event Properties Fires when

AdvanceLineOfferAccepted

—

An Advance Line offer is accepted.

AdvanceLineOfferDeclined

—

An offer is declined.

AdvanceLineOfferSavedForLater

—

An offer is saved for later.

AdvanceLineDocusignVerified

—

confirmAdvanceLineDocuSignRequest succeeds.

AdvanceLineFundsWithdrawn

{ offerType, amount }

A withdrawal completes, in reloadCurrentState().

ClickedOnAdvanceReportLink

—

The advance report link is clicked.

Instant Advance

export enum InstantAdvanceEventTypes {
    ADVANCE_REPORT_LINK = 'ClickedOnAdvanceReportLink',
}

This resolves to the same Segment event name as AdvanceLineEventTypes.ADVANCE_REPORT_LINK. Segment cannot tell which product a report-link click came from.

Long Term Contract

export enum LongTermContractEventType {
    OfferAccepted      = 'LongTermContractOfferAccepted',
    OfferSavedForLater = 'LongTermContractOfferSaveForLater',
    OfferDeclined      = 'LongTermContractOfferDeclined',
    DocusignVerified   = 'LongTermContractDocusignVerified',
}

OfferSavedForLater maps to LongTermContractOfferSaveForLater — "Save", not "Saved", unlike the Advance Line equivalent. Both spellings are live.

Airwallex cards

export enum AirwallexCardEventTypes {
    CARD_DETAILS_VIEWED = 'AirwallexCardDetailsViewed',
    CARD_BLOCKED        = 'AirwallexCardBlocked',
    CARD_UNBLOCKED      = 'AirwallexCardUnblocked',
    TERMS_ACCEPTED      = 'AirwallexTermsAccepted',
}

Emitted by AirwallexCardViewService, AirwallexCardBlockService, AirwallexCardUnblockService and the terms modal.

Card ordering

export enum CardOrderEventTypes {
    ORDER_STARTED = 'CardOrderStarted',
    CARD_ORDERED  = 'CardOrdered',
}

Emitted from the /newcard funnel.

Identity verification

export enum IdentityVerificationEventType {
    VerificationStarted   = 'IdentityVerificationStarted',
    VerificationCompleted = 'IdentityVerificationCompleted',
    VerificationFailed    = 'IdentityVerificationFailed',
}

VerificationFailed fires only when session creation fails. Abandonment or a rejected document produces VerificationStarted with no terminal event.

Marketplace lifecycle

export enum MarketplaceEventType {
    Completed = 'Marketplace_Access_Completed',
    Updated   = 'Marketplace_Access_Updated',
    Deleted   = 'marketplace_deleted',
    Remove    = 'Removed_Marketplace',
    Added     = 'new_marketplace_added',
}

Naming is inconsistent across this enum — Marketplace_Access_Completed is Title_Snake, marketplace_deleted is lowercase snake, Removed_Marketplace is Title_Snake with reversed word order. All three are in use and cannot be normalised without breaking dashboards.

Deleted and Remove are separate events for what appear to be the same user action; check the call site before relying on either.

Marketplace linking (onboarding)

export enum LinkMarketplaceEventType {
    Loaded                    = 'Loaded Manage Marketplaces',
    ShowMoreClicked           = 'Clicked_Onboarding_ChooseMarketplace_ShowMore',
    ShowLessClicked           = 'Clicked_Onboarding_ChooseMarketplace_ShowLess',
    ConnectAPIAmazonClicked   = 'Clicked_Onboarding_ConnectAPI_Amazon',
    ManualAmazonClicked       = 'Clicked_Onboarding_ManualLink_Amazon',
    AutoconnectWalmartClicked = 'Clicked_Onboarding_AutoConnect_Walmart',
    ManualWalmartClicked      = 'Clicked_Onboarding_ManualLink_Walmart',
    MarketplaceSubmitted      = 'Submitted Marketplace',
    Completed                 = 'Completed_ChooseMarketplace',
    chooseMarketplace         = 'Added Additional Marketplace',
    ProductClicked            = 'Product Clicked',
    ProductAdded              = 'Product Added',
}

Loaded Manage Marketplaces

The marketplace-linking step loads.

Clicked_Onboarding_ChooseMarketplace_ShowMore / _ShowLess

The catalog is expanded or collapsed.

Clicked_Onboarding_ConnectAPI_Amazon

API connection chosen for Amazon.

Clicked_Onboarding_ManualLink_Amazon

Manual link chosen for Amazon.

Clicked_Onboarding_AutoConnect_Walmart

Auto-connect chosen for Walmart.

Clicked_Onboarding_ManualLink_Walmart

Manual link chosen for Walmart.

Submitted Marketplace

A marketplace is added.

Completed_ChooseMarketplace

The linking step is completed.

Added Additional Marketplace

A further marketplace is added later.

Product Clicked / Product Added

Generic e-commerce-style events.

Invite Payability (onboarding)

export enum InviteMarketplaceEventType {
    Loaded                     = 'Loaded_InvitePayability',
    SkipClicked                = 'Clicked_Onboarding_InvitePayability_Skip',
    ConfirmClicked             = 'Clicked_Onboarding_InvitePayability_MarketplaceLogin_Confirm',
    GoToMarketplaceClicked     = 'Clicked_Onboarding_InvitePayability_GoToMarketplace_Link',
    InviteSentClicked          = 'Clicked_Onboarding_InvitePayability_InviteSent_Confirm',
    GrantPermissionClicked     = 'Clicked_Onboarding_InvitePayability_GrantPermissions_Confirm',
    GrantPermissionFailClicked = 'Clicked_Onboarding_InvitePayability_GrantPermissions_Fail',
    WalmartAPIClicked          = 'Clicked_Onboarding_InvitePayability_WalmartAPI',
    PayoneerClicked            = 'Clicked_Onboarding_InvitePayability_Payoneer',
    Completed                  = 'Completed_InvitePayability',
}

This is the most fully instrumented funnel in the application — it has a load event, a skip event, per-step confirmations, an explicit failure event and a completion event.

Onboarding

export enum OnboardingEventType {
    SubmittedApplication    = 'Submitted Application',
    LoadedApplicationStatus = 'Loaded Application Status',
}

Cancellation workflow

export enum CancellationWorkflowEventType {
    DeactivateAccountStartBtnClicked    = 'Clicked_Deactivate_Account_Button',
    ReactivateAccountStartBtnClicked    = 'Clicked_Reactivate_Account_Button',
    ReactivateAccountConfirmBtnClicked  = 'Clicked_Reactivate_Account_Confirm_Button',
    SubmittingTheCancellationSurvey     = 'Submitting_The_Cancellation_Survey',
}

Reactivation has both a start and a confirm event; deactivation has only a start event. Use Submitting_The_Cancellation_Survey as the completion proxy for deactivation.

Cross-sell

export enum CrossSellEventType {
    ClickedSellerCardSignUpOnProductOfferings               = 'Clicked Seller Card Sign Up on Product Offerings',
    ClickedInstantTransferSignUpOnProductOfferings          = 'Clicked Instant Transfer Sign Up on Product Offerings',
    ClickedInstantAdvanceCrossSellAppliedOnProductOfferings = 'Instant Advance on Product Cross-Sell Page Applied',
}
export enum RouterNavigationEvents {
    HelpCenterLinkClicked = 'Clicked_Help_Center_Link',
}

Emitted by HelpCenterRedirectGuard with additionalProperties: { userId } — one of the few events that carries the user id explicitly, since it fires as the user leaves the application.

Blog

export enum BlogEvents {
    CustomerBlogPostNavigate = 'Customer_Blog_Post_Navigate',
}

Emitted from the trackBlogNavigate action in the blog slice.

Naming conventions in practice

There is no single convention. Four styles coexist:

PascalCase, no separator

AdvanceLineFundsWithdrawn, AirwallexCardBlocked

Title_Snake_Case

Clicked_Onboarding_ConnectAPI_Amazon, Completed_InvitePayability

Title Case With Spaces

Submitted Application, Added Additional Marketplace

lowercase_snake_case

marketplace_deleted, new_marketplace_added

Match the style of the enum you are adding to rather than introducing a fifth.

Events with properties

Only two events carry properties today:

AdvanceLineFundsWithdrawn

{ offerType, amount }

Clicked_Help_Center_Link

{ userId }

Everything else relies on the identify traits — which do not include product state. See Event Logger.