apps/recallassess/recallassess-api/src/api/client/subscription/dto/subscription-preview-response.dto.ts
| company_country |
Type : string | null
|
Decorators :
@Expose()
|
|
Company |
| current_billing_cycle |
Type : string | null
|
Decorators :
@Expose()
|
| current_license_count |
Type : number
|
Decorators :
@Expose()
|
| current_monthly_subtotal |
Type : number
|
Decorators :
@Expose()
|
| current_next_billing_date |
Type : string | null
|
Decorators :
@Expose()
|
| current_package_features |
Type : string | null
|
Decorators :
@Expose()
|
| current_package_name |
Type : string | null
|
Decorators :
@Expose()
|
|
Current subscription package display name (mid-cycle “Current” line). |
| current_subscription_start_date |
Type : string | null
|
Decorators :
@Expose()
|
| difference_amount |
Type : number
|
Decorators :
@Expose()
|
| difference_type |
Type : "UPGRADE" | "DOWNGRADE" | "NO_CHANGE"
|
Decorators :
@Expose()
|
| discount_breakdown |
Type : string | null
|
Decorators :
@Expose()
|
| gross_new_term_amount |
Type : number | null
|
Decorators :
@Expose()
|
|
Full new-term charge before mid-cycle credit (same package + more licenses). |
| is_private_vip_trial_upgrade |
Type : boolean
|
Decorators :
@Expose()
|
| is_same_plan |
Type : boolean
|
Decorators :
@Expose()
|
| is_trial_upgrade_before_end |
Type : boolean
|
Decorators :
@Expose()
|
| mid_cycle_old_term_amount |
Type : number | null
|
Decorators :
@Expose()
|
|
Paid old-term merchandise (old license count × cycle); paired with period date range. |
| mid_cycle_period_end_inclusive_iso |
Type : string | null
|
Decorators :
@Expose()
|
|
Last day of paid access in the current term (inclusive). |
| mid_cycle_period_start_iso |
Type : string | null
|
Decorators :
@Expose()
|
| mid_cycle_pricing_detail |
Type : string | null
|
Decorators :
@Expose()
|
|
Short explanation of gross, credit, and net for mid-cycle seat increases. |
| mid_cycle_upgrade_date_iso |
Type : string | null
|
Decorators :
@Expose()
|
|
Upgrade / new-term start day (UTC calendar day). |
| mid_cycle_used_value_amount |
Type : number | null
|
Decorators :
@Expose()
|
|
Value treated as “used” on the old term before upgrade (= old term − credit). |
| new_billing_cycle |
Type : string | null
|
Decorators :
@Expose()
|
| new_license_count |
Type : number
|
Decorators :
@Expose()
|
| new_monthly_subtotal |
Type : number
|
Decorators :
@Expose()
|
| new_next_billing_date |
Type : string | null
|
Decorators :
@Expose()
|
| new_package_features |
Type : string | null
|
Decorators :
@Expose()
|
| remainder_credit_amount |
Type : number | null
|
Decorators :
@Expose()
|
|
Credit for unused portion of current paid period (old seat count). |
import { Exclude, Expose } from "class-transformer";
@Exclude()
export class SubscriptionPreviewResponseDto {
@Expose()
current_monthly_subtotal!: number;
@Expose()
new_monthly_subtotal!: number;
@Expose()
difference_amount!: number;
@Expose()
difference_type!: "UPGRADE" | "DOWNGRADE" | "NO_CHANGE";
@Expose()
is_same_plan!: boolean; // true if same package_id, only license count changed
/** Current subscription package display name (mid-cycle “Current” line). */
@Expose()
current_package_name!: string | null;
@Expose()
current_package_features!: string | null; // Features of current package
@Expose()
new_package_features!: string | null; // Features of new package
@Expose()
current_next_billing_date!: string | null; // Current subscription's next billing date
@Expose()
current_subscription_start_date!: string | null; // Current subscription's start/created date
@Expose()
new_next_billing_date!: string | null; // New subscription's next billing date
@Expose()
current_license_count!: number; // Current license count
@Expose()
new_license_count!: number; // New license count
@Expose()
current_billing_cycle!: string | null; // Current billing cycle
@Expose()
new_billing_cycle!: string | null; // New billing cycle
@Expose()
is_private_vip_trial_upgrade!: boolean; // True if upgrading from PRIVATE_VIP_TRIAL
@Expose()
is_trial_upgrade_before_end!: boolean; // True if upgrading from a trial package before trial end
@Expose()
discount_breakdown!: string | null; // Human-readable discount breakdown (e.g., "Month 1: FREE, Months 2&3: 50% off")
/** Full new-term charge before mid-cycle credit (same package + more licenses). */
@Expose()
gross_new_term_amount!: number | null;
/** Credit for unused portion of current paid period (old seat count). */
@Expose()
remainder_credit_amount!: number | null;
/** Short explanation of gross, credit, and net for mid-cycle seat increases. */
@Expose()
mid_cycle_pricing_detail!: string | null;
/** Paid old-term merchandise (old license count × cycle); paired with period date range. */
@Expose()
mid_cycle_old_term_amount!: number | null;
/** Value treated as “used” on the old term before upgrade (= old term − credit). */
@Expose()
mid_cycle_used_value_amount!: number | null;
@Expose()
mid_cycle_period_start_iso!: string | null;
/** Last day of paid access in the current term (inclusive). */
@Expose()
mid_cycle_period_end_inclusive_iso!: string | null;
/** Upgrade / new-term start day (UTC calendar day). */
@Expose()
mid_cycle_upgrade_date_iso!: string | null;
/** Company `country` (e.g. US, AE); used to mirror checkout VAT (UAE only). */
@Expose()
company_country!: string | null;
}