Files
Rental-operations-platform/contracts/phase9/interaction/demo-form-contract_v1.0.ts
T

24 lines
699 B
TypeScript

export const fleetSizeValues = ['1-9', '10-24', '25-49', '50-99', '100-249', '250+'] as const;
export type FleetSize = (typeof fleetSizeValues)[number];
export interface DemoRequest {
fullName: string;
workEmail: string;
company: string;
fleetSize: FleetSize;
market?: string;
preferredLanguage?: 'en' | 'fr' | 'ar';
message?: string;
idempotencyKey: string;
source: string;
}
export interface DemoSuccess {
requestId: string;
acceptedAt: string;
nextStepCode: 'sales_followup' | 'manual_review';
}
export interface DemoFailure {
code: 'validation' | 'rate_limited' | 'duplicate' | 'unavailable' | 'unknown';
retryable: boolean;
fieldErrors?: Record<string, string>;
}