Files
Core_Be/Models/Facility.cs
T
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

33 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Fitness_core_BE.Models
{
/// <summary>A bookable area of the club — the gym floor, the pool, a court, a class type
/// (karate, etc). Gym-floor access itself keeps working through the existing
/// CustomerPlan/Attendance flow unchanged; Facility/FacilitySession/Booking below are for
/// the new capacity-limited, session-based areas (pool, courts, classes).</summary>
public class Facility
{
[Key]
public Guid FacilityId { get; set; }
public Guid FKClientId { get; set; }
[ForeignKey(nameof(FKClientId))]
public Client Client { get; set; }
public string Name { get; set; } = string.Empty;
/// <summary>"Gym" | "Pool" | "Court" | "Class" — informational grouping for the admin
/// UI; booking rules themselves live on FacilitySession/CustomerPlan, not on this type.</summary>
public string FacilityType { get; set; } = "Class";
public string? Description { get; set; }
/// <summary>Default per-session headcount limit; a specific FacilitySession can override.</summary>
public int DefaultCapacity { get; set; } = 1;
public bool IsActive { get; set; } = true;
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
}
}