feat: add Staff, Subscription, ClinicServices, SmsWallet pages (TASK-10,11,13,14)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
7ea3523830
commit
ed18c260ca
@@ -308,3 +308,101 @@ export interface Specialty {
|
||||
name: string;
|
||||
slug?: string;
|
||||
}
|
||||
|
||||
export interface ClinicStaff {
|
||||
uuid: string;
|
||||
full_name: string;
|
||||
phone: string | null;
|
||||
job_title: string | null;
|
||||
address: string | null;
|
||||
national_code: string | null;
|
||||
active: boolean;
|
||||
created_at: number;
|
||||
}
|
||||
|
||||
export interface SubscriptionPlan {
|
||||
uuid: string;
|
||||
name: string;
|
||||
level: number;
|
||||
max_secretaries: number;
|
||||
features: Record<string, boolean>;
|
||||
periods: SubscriptionPeriod[];
|
||||
}
|
||||
|
||||
export interface SubscriptionPeriod {
|
||||
uuid: string;
|
||||
label: string;
|
||||
duration_months: number;
|
||||
price_rials: number;
|
||||
is_trial: boolean;
|
||||
}
|
||||
|
||||
export interface MySubscription {
|
||||
plan: { name: string; level: number; features: Record<string, boolean> };
|
||||
period?: { label: string; duration_months: number };
|
||||
is_trial: boolean;
|
||||
starts_at?: number;
|
||||
expires_at?: number | null;
|
||||
used_trial: boolean;
|
||||
days_remaining?: number;
|
||||
}
|
||||
|
||||
export interface ServiceSection {
|
||||
uuid: string;
|
||||
name: string;
|
||||
active: boolean;
|
||||
}
|
||||
|
||||
export interface ServiceItem {
|
||||
uuid: string;
|
||||
name: string;
|
||||
price_rials: number;
|
||||
staff: { uuid: string; full_name: string } | null;
|
||||
active: boolean;
|
||||
}
|
||||
|
||||
export interface SmsWalletBalance {
|
||||
balance_rials: number;
|
||||
sms_price_rials: number;
|
||||
estimated_sms_count: number;
|
||||
}
|
||||
|
||||
export interface SmsWalletLog {
|
||||
uuid: string;
|
||||
type: 'credit' | 'debit';
|
||||
amount_rials: number;
|
||||
description: string;
|
||||
created_at: number;
|
||||
}
|
||||
|
||||
export interface SmsSettings {
|
||||
reminder_enabled: boolean;
|
||||
reminder_hours_before: number;
|
||||
post_visit_enabled: boolean;
|
||||
post_visit_text: string | null;
|
||||
}
|
||||
|
||||
export interface PatientRecord {
|
||||
uuid: string;
|
||||
entity_type: string;
|
||||
entity_id: number;
|
||||
user: { uuid: string; fullName: string; phone: string };
|
||||
created_at: number;
|
||||
}
|
||||
|
||||
export interface PatientSession {
|
||||
uuid: string;
|
||||
record_uuid: string;
|
||||
appointment_uuid: string | null;
|
||||
insurance_base_id: number | null;
|
||||
insurance_supplementary_id: number | null;
|
||||
visit_price_rials: number;
|
||||
base_insurance_discount_percent: string;
|
||||
supplementary_discount_percent: string;
|
||||
services_total_rials: number;
|
||||
final_price_rials: number;
|
||||
payment_method: string;
|
||||
notes: string | null;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user