src/main/java/seedu/address/model/parcel/Parcel.java
@Override
    public int compareTo(Object o) {
        Parcel other = (Parcel) o;
        if (other == this) { // short circuit if same object
            return 0;
        } else if (this.getDeliveryDate().compareTo(other.getDeliveryDate()) == 0) { // delivery dates are equal
            if (this.getName().compareTo(other.getName()) == 0) { // names are equal
                return this.getTrackingNumber().compareTo(other.getTrackingNumber()); // compare tracking numbers
            } else {
                return this.getName().compareTo(other.getName()); // compare names
            }
        } else {
            return this.getDeliveryDate().compareTo(other.getDeliveryDate()); // compare delivery dates
        }
    }
/**
     * We choose to order parcels first by delivery date, next by tracking number if the delivery dates
     * are the same, and lastly by name if the tracking numbers are the same as well.
     */
We choose to order parcels first by delivery date, next by tracking number if the delivery dates
are the same, and lastly by name if the tracking numbers are the same as well.
We choose to order parcels first by delivery date next by tracking number if the delivery dates are the same and lastly by name if the tracking numbers are the same as well .
@Override
    public int compareTo(Object o) {
        Parcel other = (Parcel) o;
        if (other == this) { 
            return 0;
        } else if (this.getDeliveryDate().compareTo(other.getDeliveryDate()) == 0) { 
            if (this.getName().compareTo(other.getName()) == 0) { 
                return this.getTrackingNumber().compareTo(other.getTrackingNumber()); 
            } else {
                return this.getName().compareTo(other.getName()); 
            }
        } else {
            return this.getDeliveryDate().compareTo(other.getDeliveryDate()); 
        }
    }
@ Override public int compareTo ( Object o ) { Parcel other = ( Parcel ) o ; if ( other == this ) { return 0 ; } else if ( this . getDeliveryDate ( ) . compareTo ( other . getDeliveryDate ( ) ) == 0 ) { if ( this . getName ( ) . compareTo ( other . getName ( ) ) == 0 ) { return this . getTrackingNumber ( ) . compareTo ( other . getTrackingNumber ( ) ) ; } else { return this . getName ( ) . compareTo ( other . getName ( ) ) ; } } else { return this . getDeliveryDate ( ) . compareTo ( other . getDeliveryDate ( ) ) ; } }
We choose to order parcels first by delivery date, next by tracking number if the delivery dates
 are the same, and lastly by name if the tracking numbers are the same as well.
We choose to order parcels first by delivery date next by tracking number if the delivery dates are the same and lastly by name if the tracking numbers are the same as well .
// short circuit if same object // delivery dates are equal // names are equal // compare tracking numbers // compare names // compare delivery dates