UNPKG

@alba-cars/common-modules

Version:

A package containing DTOs, validation classes and common modules and interfaces for Alba Cars

107 lines (106 loc) 3.61 kB
import { FinanceType } from "../enums/finance-type"; import { ReservationStatus } from "../enums/reservation-type"; import { Vehicle } from "../../../vehicle/data"; import { DateFilter, PaginationOptions } from "../../../../global"; import { LeadCreateDTO, LeadDTO } from "../../../lead/data/dto/lead_dto"; import { MarketingData } from "../../../../core"; export declare class CreateVehicleReservationDto { leadId?: string; newLead?: LeadCreateDTO; vehicleId: string; financeType: FinanceType; depositAmount?: number; depositPaymentMethod?: string; totalAmount?: number; notes?: string; assignedSalesRepId?: string; bankName?: string; loanAmount?: number; loanTenureMonths?: number; interestRate?: number; marketing?: MarketingData; validate(): string[]; static fromPlain(plain: Record<string, unknown>): CreateVehicleReservationDto; toPlain(): Record<string, unknown>; } export declare class VehicleReservationDto { id: string; leadId: LeadDTO; vehicleId: string; financeType: FinanceType; depositAmount?: number; depositPaymentMethod?: string; totalAmount?: number; notes?: string; assignedSalesRepId?: string; bankName?: string; loanAmount?: number; loanTenureMonths?: number; interestRate?: number; marketing?: MarketingData; validate(): string[]; static fromPlain(plain: Record<string, unknown>): CreateVehicleReservationDto; toPlain(): Record<string, unknown>; } export declare class VehicleReservationResponseDto { id: string; leadId: string; vehicle: Vehicle; status: ReservationStatus; financeType: FinanceType; depositAmount: number; isDepositPaid: boolean; totalAmount?: number; createdAt: Date; updatedAt: Date; marketing?: MarketingData; } export declare class UpdateVehicleReservationDto { status?: ReservationStatus; depositAmount?: number; depositPaymentMethod?: string; isDepositPaid?: boolean; totalAmount?: number; bankName?: string; loanAmount?: number; loanTenureMonths?: number; notes?: string; cancellationReason?: string; assignedSalesRepId?: string; financeRejectionReason?: string; financeApprovedAt?: Date; financeRejectedAt?: Date; cancelledAt?: Date; isActive?: boolean; validate(): string[]; static fromPlain(plain: Record<string, unknown>): UpdateVehicleReservationDto; toPlain(): Record<string, unknown>; } export declare class VehicleReservationsOptions extends PaginationOptions { sort?: { field: string; direction: "asc" | "desc"; }; static fromPlain(plain: Record<string, unknown>): GetVehicleReservationsFilterDto; toPlain(): Record<string, unknown>; } export declare class GetVehicleReservationsDTO { filter: GetVehicleReservationsFilterDto; options: VehicleReservationsOptions; static fromPlain(plain: Record<string, unknown>): GetVehicleReservationsDTO; toPlain(): Record<string, unknown>; } export declare class GetVehicleReservationsFilterDto { search?: string; status?: ReservationStatus; exceptStatus?: ReservationStatus; financeTypes?: FinanceType[]; financeType?: FinanceType; vehicleId?: string; createdAt?: DateFilter; leadId?: string; isActive?: boolean; validate(): string[]; static fromPlain(plain: Record<string, unknown>): GetVehicleReservationsFilterDto; toPlain(): Record<string, unknown>; }