App Purchases & Analytics

AppPricing, AppPurchase, and AppInstallCount — the three entities handling pricing models, transaction records, and daily install-metric snapshots.

Purchases and analytics form the commercial backbone of the Marketplace. AppPricing defines how an app is monetized; AppPurchase records each transaction; AppInstallCount provides daily snapshots for developer analytics dashboards.

AppPricing Entity

Defines the pricing configuration for an app listing. One AppPricing record exists per listing (one-to-one relationship). Supports six pricing models.

FieldTypeDescription
IdGuidPrimary key
AppListingIdGuidFK to the app listing this pricing belongs to
ModelPricingModelThe pricing model (Free, PaidOnce, Subscription, Freemium, PerSeat, UsageBased)
PricedecimalBase price in the specified currency (0 for free apps)
CurrencystringISO 4217 currency code for the price (e.g. "USD")
TrialDaysintNumber of trial days before payment is required (0 = no trial)

AppPurchase Entity

Records a purchase transaction when a tenant buys or installs a paid app. Tracks the amount paid, currency, and transaction status for financial reporting and developer payout calculations.

FieldTypeDescription
IdGuidPrimary key
AppListingIdGuidFK to the purchased app listing
TenantIdGuidTenant that made the purchase
PurchaseDateDateTimeUTC date and time when the purchase was completed
AmountPaiddecimalTotal amount charged (after any discounts or trials)
CurrencystringISO 4217 currency code (e.g. "USD", "EUR")
StatusstringPayment status (Completed, Refunded, Pending)

AppInstallCount Entity

Daily snapshot of installation metrics for an app listing. Used by the analytics dashboard to display install trend charts and calculate growth rates over time.

FieldTypeDescription
IdGuidPrimary key
AppListingIdGuidFK to the app listing being tracked
DateDateTimeThe date this snapshot represents (UTC, time component = 00:00:00)
NetInstallsintNet new installs on this date (installs minus uninstalls)
TotalActiveInstallsintTotal number of active installations as of end-of-day

Purchase Flow

The end-to-end flow from browsing the catalog to a plugin being installed and analytics being updated.

Browse Catalog
free trial
Start Trial
trial expires
Checkout
payment success
Purchase Recorded
triggers install
Plugin Installed
daily snapshot
Install Count Updated