/**
 * Represents a visa category or product
 */
export interface VisaCategory {
  /** Unique identifier (usually DB ID) */
  id: number;

  /** Display name of the visa category */
  name: string;

  /** Status flag (1 = active, 0 = inactive) */
  status: string;
}

/**
 * List of supported visa products
 * Used for dropdowns, filtering, and business logic
 */
export const VISA_PRODUCTS: VisaCategory[] = [
  { id: 7, name: 'Visa Events', status: '1' },
  { id: 8, name: 'Study Visa', status: '1' },
  { id: 9, name: 'Visitor Visa', status: '1' },
  { id: 10, name: 'Work Visa', status: '1' },
  { id: 11, name: 'Dependent Visa', status: '1' },
  { id: 12, name: 'Spouse Visa', status: '1' },
  { id: 13, name: 'Permanent Residency', status: '1' },
];

/**
 * Associate types eligible for visa commission
 */
export const VC_ASSOCIATE_TYPES = [
  { id: 1, name: 'Institute', status: '1' },
  { id: 2, name: 'Master Agent', status: '1' },
  { id: 3, name: 'Sub-Agent', status: '1' },
];

/**
 * Student condition classification
 * Used mainly in study visa workflows
 */
export const STUDENT_CONDITION_LIST = [
  { id: 1, name: 'Fresh', status: '1' },
  { id: 2, name: 'Old', status: '1' },
];

/**
 * Supported commission calculation types
 */
export const VC_COMMISSION_TYPE = [
  { id: 1, name: 'Fixed', label: 'Fixed', status: '1' },
  { id: 2, name: 'Percentage', label: 'Percentage', status: '1' },
];

/**
 * Visa product lookup map
 * Key = visa product ID
 * Value = visa product name
 *
 * Useful for fast ID → label transformation
 */
export const VisaProducts: Record<string, string> = {
  '7': 'Visa Events',
  '8': 'Study Visa',
  '9': 'Visitor Visa',
  '10': 'Work Visa',
  '11': 'Spouse Visa',
  '12': 'Spouse Visa',
  '13': 'Permanent Residency',
};

/**
 * Commission associate type lookup map
 */
export const VisaCommissionAssociateTypes: Record<string, string> = {
  '1': 'Institute',
  '2': 'Master Agent',
  '3': 'Sub-Agent',
};

/**
 * Student condition lookup map
 */
export const StudentConditionsList: Record<string, string> = {
  '1': 'Fresh',
  '2': 'Old',
};

/**
 * Commission type lookup map
 */
export const CommissionTypes: Record<string, string> = {
  '1': 'Fixed',
  '2': 'Percentage',
};
