@model PowderCoating.Application.DTOs.Appointment.AppointmentDto @{ ViewData["Title"] = $"Appointment {Model.AppointmentNumber}"; ViewData["PageIcon"] = "bi-calendar-event"; ViewData["PageHelpTitle"] = "Appointment Details"; ViewData["PageHelpContent"] = "View all details for this appointment. Edit to update status or record actual times. Deleting permanently removes the record — consider setting status to Cancelled instead to preserve history."; }
Edit Back to List
Customer Information
@if (Model.CustomerId.HasValue && !string.IsNullOrEmpty(Model.CustomerName)) {
Customer:
@Model.CustomerName
@if (!string.IsNullOrEmpty(Model.CustomerPhone)) { } @if (!string.IsNullOrEmpty(Model.CustomerEmail)) { } } else {
Internal Appointment
This appointment is not associated with a customer.
}
Schedule
Date:
@Model.ScheduledStartTime.ToString("dddd, MMMM dd, yyyy")
@if (Model.IsAllDay) {
Time:
All Day
} else {
Start Time:
@Model.ScheduledStartTime.ToString("h:mm tt")
End Time:
@Model.ScheduledEndTime.ToString("h:mm tt")
Duration:
@{ var duration = Model.ScheduledEndTime - Model.ScheduledStartTime; var hours = (int)duration.TotalHours; var minutes = duration.Minutes; } @if (hours > 0) { @hours hour@(hours != 1 ? "s" : "") } @if (minutes > 0) { @minutes minute@(minutes != 1 ? "s" : "") }
} @if (!string.IsNullOrEmpty(Model.Location)) {
Location:
@Model.Location
}
@if (Model.ActualStartTime.HasValue || Model.ActualEndTime.HasValue) {
Actual Times
@if (Model.ActualStartTime.HasValue) {
Arrived:
@Model.ActualStartTime.Value.ToString("h:mm tt")
} @if (Model.ActualEndTime.HasValue) {
Completed:
@Model.ActualEndTime.Value.ToString("h:mm tt")
}
}
Appointment Details
Type:
@if (!string.IsNullOrEmpty(Model.TypeIconClass)) { } @Model.TypeDisplayName
Status:
@if (!string.IsNullOrEmpty(Model.StatusIconClass)) { } @Model.StatusDisplayName
@if (Model.JobId.HasValue) {
Linked Job:
} @if (!string.IsNullOrEmpty(Model.AssignedWorkerName)) {
Assigned To:
@Model.AssignedWorkerName
}
@if (!string.IsNullOrEmpty(Model.Description) || !string.IsNullOrEmpty(Model.Notes)) {
Description & Notes
@if (!string.IsNullOrEmpty(Model.Description)) {
Description:

@Model.Description

} @if (!string.IsNullOrEmpty(Model.Notes)) {
Internal Notes:

@Model.Notes

}
} @if (Model.IsReminderEnabled) {
Reminder
Reminder:
@Model.ReminderMinutesBefore minutes before
}
History
Created:
@Model.CreatedAt.ToString("MMM dd, yyyy h:mm tt") @if (!string.IsNullOrEmpty(Model.CreatedBy)) {
by @Model.CreatedBy }
@section Scripts { }