package de.assecutor.votianlt.model;

import lombok.Data;

/**
 * Speichert das Ergebnis einer Routenberechnung zwischen zwei Adressen.
 */
@Data
public class RouteCalculationResult {

    private boolean valid;
    private double distanceKm;
    private int durationSeconds;
    private String formattedDistance;
    private String formattedDuration;
    private String routeMessage;

    public RouteCalculationResult() {
        this.valid = false;
        this.distanceKm = 0.0;
        this.durationSeconds = 0;
    }

    /**
     * Gibt die Dauer in Minuten zurück
     */
    public int getDurationMinutes() {
        return durationSeconds / 60;
    }

    /**
     * Gibt die Dauer formatiert zurück (z.B. "1 Std. 30 Min." oder "45 Min.")
     */
    public String getFormattedDurationLong() {
        int hours = durationSeconds / 3600;
        int minutes = (durationSeconds % 3600) / 60;

        if (hours > 0) {
            return String.format("%d Std. %d Min.", hours, minutes);
        } else {
            return String.format("%d Min.", minutes);
        }
    }
}
