2026-07-01 09:55:55 +05:30

86 lines
1.5 KiB
TypeScript

export interface User {
id: string;
mobileNumber: string;
name?: string;
email?: string;
locationLabels?: string[];
}
export interface Location {
latitude: number;
longitude: number;
address: string;
city: string;
pincode: string;
label?: string;
}
export interface Provider {
id: string;
imageUrl: string;
name: string;
rating: number;
deliveryTime: string;
tag: string;
discountText?: string;
serviceType: string;
}
export interface CatalogItem {
id: string;
imageUrl: string;
title: string;
description: string;
price: number;
category: string;
}
export interface CartItem {
id: string;
providerId: string;
providerName: string;
item: CatalogItem;
quantity: number;
}
export type OrderStatus = 'placed' | 'confirmed' | 'dispatched' | 'delivered' | 'cancelled';
export interface Order {
id: string;
providerId: string;
providerName: string;
providerImage: string;
items: CartItem[];
status: OrderStatus;
total: number;
deliveryFee: number;
platformFee: number;
discount: number;
couponCode?: string;
createdAt: string;
estimatedDelivery: string;
deliveryAddress: Location;
}
export interface TrackingStep {
key: OrderStatus;
label: string;
timestamp?: string;
isCompleted: boolean;
isActive: boolean;
}
export interface DeliveryAgent {
name: string;
rating: number;
vehicleDetails: string;
phoneNumber: string;
}
export interface PaymentMethod {
id: string;
type: 'UPI' | 'Card' | 'Wallet' | 'COD';
label: string;
icon?: string;
}