export interface ContactPerson {
    id: string;
    lastname: string;
    firstname: string;
    phone: string;
    email: string;
}

export interface Address {
    id: string; // ID of the address
    address: string; // Full address
}

export interface ReturnAddress {
    id: string; // ID of the return address
    address: string; // Full address
    // Add other fields as necessary
}

export interface Proposal {
    id: number; // ID of the proposal
    number: string; // Proposal number
}

export interface Dewar {
    id: string; // Add this line
    dewar_name: string;
    tracking_number: string;
    number_of_pucks: number;
    number_of_samples: number;
    return_address: ReturnAddress[];
    contact_person: ContactPerson[];
    status: string;
    ready_date?: string;  // Make sure this is included
    shipping_date?: string;  // Make sure this is included
    arrival_date?: string;  // Make sure this is included
    shippingStatus: string;
    arrivalStatus: string;
    qrcode: string;
}

export interface Shipment {
    shipment_id: string;
    shipment_name: string;
    shipment_date: string;
    number_of_dewars: number;
    shipment_status: string;
    contact_person: ContactPerson[] | null; // Change to an array to accommodate multiple contacts
    proposal_number?: string;
    return_address: Address[]; // Change to an array of Address
    comments?: string;
    dewars: Dewar[];
}