75 lines
1.7 KiB
TypeScript
75 lines
1.7 KiB
TypeScript
export { ensureDatabaseUrl } from './runtime-config'
|
|
|
|
export type AdminRole = 'SUPER_ADMIN' | 'ADMIN' | 'SUPPORT' | 'FINANCE' | 'VIEWER'
|
|
export type EmployeeRole = 'OWNER' | 'MANAGER' | 'AGENT'
|
|
export type LicenseStatus = 'PENDING' | 'VALID' | 'EXPIRING' | 'APPROVED' | 'DENIED' | 'EXPIRED'
|
|
export type NotificationType =
|
|
| 'ACCOUNT_CREATED'
|
|
| 'NEW_BOOKING'
|
|
| 'BOOKING_CANCELLED'
|
|
| 'PAYMENT_RECEIVED'
|
|
| 'PAYMENT_FAILED'
|
|
| 'SUBSCRIPTION_TRIAL_ENDING'
|
|
| 'SUBSCRIPTION_SUSPENDED'
|
|
| 'VEHICLE_MAINTENANCE_DUE'
|
|
| 'OFFER_EXPIRING'
|
|
| 'NEW_REVIEW_RECEIVED'
|
|
| 'BOOKING_CONFIRMED'
|
|
| 'PICKUP_REMINDER_24H'
|
|
| 'PICKUP_REMINDER_2H'
|
|
| 'VEHICLE_READY'
|
|
| 'RETURN_REMINDER'
|
|
| 'BOOKING_CANCELLED_BY_COMPANY'
|
|
| 'REFUND_PROCESSED'
|
|
| 'NEW_OFFER_FROM_SAVED_COMPANY'
|
|
| 'REVIEW_REQUEST'
|
|
|
|
export type NotificationChannel = 'EMAIL' | 'SMS' | 'WHATSAPP' | 'IN_APP' | 'PUSH'
|
|
|
|
export interface Company {
|
|
id: string
|
|
name: string
|
|
slug: string
|
|
email: string
|
|
phone: string | null
|
|
status: string
|
|
apiKey: string
|
|
}
|
|
|
|
export interface Employee {
|
|
id: string
|
|
companyId: string
|
|
clerkUserId: string
|
|
firstName: string
|
|
lastName: string
|
|
email: string
|
|
phone: string | null
|
|
role: EmployeeRole
|
|
isActive: boolean
|
|
company?: Company
|
|
}
|
|
|
|
export interface AdminUser {
|
|
id: string
|
|
email: string
|
|
firstName: string
|
|
lastName: string
|
|
role: AdminRole
|
|
isActive: boolean
|
|
totpEnabled?: boolean
|
|
totpSecret?: string | null
|
|
}
|
|
|
|
export interface InsurancePolicy {
|
|
id: string
|
|
companyId: string
|
|
name: string
|
|
description?: string | null
|
|
type: string
|
|
chargeType: 'PER_DAY' | 'PER_RENTAL' | 'PERCENTAGE_OF_RENTAL'
|
|
chargeValue: number
|
|
isRequired: boolean
|
|
isActive: boolean
|
|
sortOrder: number
|
|
}
|