email plus return item statuses
This commit is contained in:
@@ -107,7 +107,15 @@ export interface Rental {
|
||||
// Fee tracking fields
|
||||
platformFee?: number;
|
||||
payoutAmount?: number;
|
||||
status: "pending" | "confirmed" | "active" | "completed" | "cancelled";
|
||||
status:
|
||||
| "pending"
|
||||
| "confirmed"
|
||||
| "active"
|
||||
| "completed"
|
||||
| "cancelled"
|
||||
| "returned_late"
|
||||
| "damaged"
|
||||
| "lost";
|
||||
paymentStatus: "pending" | "paid" | "refunded";
|
||||
// Refund tracking fields
|
||||
refundAmount?: number;
|
||||
@@ -140,6 +148,13 @@ export interface Rental {
|
||||
// Private messages
|
||||
itemPrivateMessage?: string;
|
||||
renterPrivateMessage?: string;
|
||||
// New condition check and dispute fields
|
||||
actualReturnDateTime?: string;
|
||||
lateFees?: number;
|
||||
damageFees?: number;
|
||||
replacementFees?: number;
|
||||
itemLostReportedAt?: string;
|
||||
damageAssessment?: any;
|
||||
item?: Item;
|
||||
renter?: User;
|
||||
owner?: User;
|
||||
@@ -147,6 +162,82 @@ export interface Rental {
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface ConditionCheck {
|
||||
id: string;
|
||||
rentalId: string;
|
||||
checkType:
|
||||
| "pre_rental_owner"
|
||||
| "rental_start_renter"
|
||||
| "rental_end_renter"
|
||||
| "post_rental_owner";
|
||||
photos: string[];
|
||||
notes?: string;
|
||||
submittedBy: string;
|
||||
submittedAt: string;
|
||||
metadata: any;
|
||||
submittedByUser?: User;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface LateReturnCalculation {
|
||||
lateHours: number;
|
||||
lateFee: number;
|
||||
isLate: boolean;
|
||||
gracePeriodUsed?: boolean;
|
||||
billableHours?: number;
|
||||
pricingType?: "hourly" | "daily";
|
||||
}
|
||||
|
||||
export interface DamageAssessment {
|
||||
description: string;
|
||||
canBeFixed: boolean;
|
||||
repairCost?: number;
|
||||
needsReplacement: boolean;
|
||||
replacementCost?: number;
|
||||
proofOfOwnership?: string[];
|
||||
photos?: string[];
|
||||
assessedAt: string;
|
||||
assessedBy: string;
|
||||
feeCalculation: {
|
||||
type: "repair" | "replacement" | "assessment";
|
||||
amount: number;
|
||||
originalCost?: number;
|
||||
repairCost?: number;
|
||||
percentage?: number;
|
||||
baseAmount?: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ConditionCheckTimeline {
|
||||
rental: {
|
||||
id: string;
|
||||
startDateTime: string;
|
||||
endDateTime: string;
|
||||
status: string;
|
||||
};
|
||||
timeline: {
|
||||
[key: string]: {
|
||||
status:
|
||||
| "completed"
|
||||
| "available"
|
||||
| "pending"
|
||||
| "expired"
|
||||
| "not_available";
|
||||
submittedAt?: string;
|
||||
submittedBy?: User;
|
||||
photoCount?: number;
|
||||
hasNotes?: boolean;
|
||||
timeWindow?: {
|
||||
start: string;
|
||||
end: string;
|
||||
};
|
||||
availableFrom?: string;
|
||||
availableUntil?: string;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export interface ItemRequest {
|
||||
id: string;
|
||||
title: string;
|
||||
|
||||
Reference in New Issue
Block a user