import { DamageType as DamageCause, WindshieldDamage, ServiceLocation, EndorsementType, VehicleLookupType, PartQuestionType, PaymentType, AppointmentType  } from "./Enums";
import { IAddress } from "./IAddress";

export interface ICustomerDetails {
    firstName: string,
    lastName: string,
    email: string,
    phoneNumber: string,
    notes: string,
    address: IAddress,
    apptDate?: string,
    packagePrice?: string
}

export interface IVehicleDetails {
    year: string,
    make: string,
    model: string,
    style?: string,
    vin?: string,
    licensePlateNumber?: string,
    licensePlateState?: string,
    vehicleLookupType: VehicleLookupType,
}

export interface IAppointmentDetails {
    serviceLocation: AppointmentType,
    appointmentDate?: Date,
    shopAddress?: string,          // Used for in-shop
    serviceAddress?: IAddress,    // Used for mobile
    isVehicleProtected?: boolean    // Used for mobile
}

export interface IEndorsementDetails {
    endorsementType: EndorsementType,
    isOnPolicy: boolean,    // Should we expect this endorsement to appear?
    isClickYes: boolean       // Should we click Yes or No?
}

export interface IPartQuestion {
    isOnPage: boolean,
    optionToSelect: string,
    partQuestionType: PartQuestionType,
    secondaryQuestionOptionToSelect?: string
}

export interface IPaymentDetails {
    paymentType?: PaymentType,
    username?: string,
    password?: string,
    cardNumber?: string,
    expirationMonth?: string,
    expirationYear?: string,
    cvv?: string,
    billingAddress?: IAddress,
}

export interface IClaimDetails {
    client: string,
    policyNumber: string,
    policyDeductible: number,
    policyZip?: string
    damageDate: string,
    damageCause: DamageCause
}

