File

apps/recallassess/recallassess-api/src/api/client/subscription/dto/subscription-preview-response.dto.ts

Index

Properties

Properties

company_country
Type : string | null
Decorators :
@Expose()

Company country (e.g. US, AE); used to mirror checkout VAT (UAE only).

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;
}

results matching ""

    No results matching ""