cloud-ide-lms-model
Version:
Package for Model management of Cloud IDEsys LMS
54 lines (53 loc) • 2.28 kB
TypeScript
/**
* Fee Discount Rule Schema
* Rule-based discount configuration (e.g., sibling discount, staff child discount)
*/
declare class FeeDiscountRule {
/** Mongo document id (string representation). */
_id?: string;
/** Rule name (human-friendly). */
feedr_name?: string;
/** Unique rule code (for identification/import). */
feedr_code?: string;
/** Optional description/details about the rule. */
feedr_description?: string;
/** Scope type: where the rule applies (ENTITY/CLASS_PROGRAM/SECTION). */
feedr_scope_type?: 'ENTITY' | 'CLASS_PROGRAM' | 'SECTION';
/** Scope id (entity/class/section id depending on scope type). */
feedr_scope_id?: string;
/** Criteria logic/config stored as JSON string. */
feedr_criteria_json?: string;
/** Discount type: percentage or fixed amount. */
feedr_discount_type?: 'PERCENTAGE' | 'FIXED_AMOUNT';
/** Discount value (percentage 0-100, or fixed amount). */
feedr_discount_value?: number;
/** How the discount is applied: automatic or manual selection. */
feedr_mode?: 'AUTOMATIC' | 'MANUAL';
/** Target fee heads/categories ids this rule applies to. */
feedr_target_heads?: string[];
/** Whether approval is required to apply this discount. */
feedr_approval_req?: boolean;
/** Stacking behavior with other discounts. */
feedr_stacking?: 'EXCLUSIVE' | 'STACKABLE' | 'MAX_OF';
/** Priority order when multiple rules apply. */
feedr_priority?: number;
/** Deprecated: prefer `feedr_mode` (kept for backward compatibility). */
feedr_auto_apply?: boolean;
/** Valid-from date/time (optional). */
feedr_valid_from?: Date;
/** Valid-to date/time (optional). */
feedr_valid_to?: Date;
/** Academic year reference id (`aca_academic_year`). */
feedr_academic_year_id_acayr?: string;
/** Entity/organization reference id (`core_system_entity`). */
feedr_entity_id_syen?: string;
/** Current rule status. */
feedr_status?: 'ACTIVE' | 'INACTIVE' | 'EXPIRED';
/** Created by user id (`auth_user_mst`). */
feedr_created_by_user?: string;
/** Created timestamp. */
feedr_created_at?: Date;
/** Updated timestamp. */
feedr_updated_at?: Date;
}
export { FeeDiscountRule };