export interface ShippingOrderDetails {
  orderId: string;
  pickupLocation: string;
  weight: number; // in Kg
  length: number; // in cm
  width: number;
  height: number;
  recipientName: string;
  recipientAddress: string;
  recipientCity: string;
  recipientState: string;
  recipientPincode: string;
  recipientPhone: string;
}

export interface ShippingOrderResult {
  success: boolean;
  shipmentId?: string;
  awbNumber?: string;
  courierName?: string;
  status: string;
  estimatedDelivery?: Date;
  rawResponse?: any;
  errorDetails?: string;
}

export interface TrackingTimelineEvent {
  status: string; // Ordered, Packed, Shipped, OutForDelivery, Delivered, etc.
  location?: string;
  eventDetails?: string;
  eventTime: Date;
}

export interface ShipmentTrackingResult {
  success: boolean;
  awbNumber: string;
  status: string;
  currentLocation?: string;
  estimatedDelivery?: Date;
  timeline: TrackingTimelineEvent[];
}
