using System.ComponentModel.DataAnnotations;
namespace GerbilManagerWebAPI.Models
{
///
/// A person/cattery a gerbil came from (Herkunft) or was given to (Abnehmer).
/// Was "Breeder"; the role is relational (see Gerbil.OriginContactId / ReceiverContactId).
///
public class Contact
{
[Key]
public Guid Id { get; set; }
public required string Name { get; set; }
public string? Email { get; set; }
public string? Phone { get; set; }
public string? Address { get; set; }
public string? Notes { get; set; }
public bool IsBreeder { get; set; }
public bool IsReceiver { get; set; }
///
/// Namens-Anhängsel dieser Zucht (wie ein „Nachname"), z. B.
/// „von den Wüstenwinden“. Für Tiere fremder Züchter pflegbar.
///
public string? NameSuffix { get; set; }
/// Data-provenance / traceability for the import: a JSON object describing
/// WHICH source information produced this contact (sourceFiles, mergedRecordCount,
/// notes). Written by the Python merge_and_resolve step and surfaced read-only
/// ("Datenherkunft"). Null = manually-added contact / no import data.
public string? Provenance { get; set; }
}
}