31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Fitness_core_BE.Models
|
|
{
|
|
/// <summary>A physical access zone within the club (e.g. "Pool Area", "Indoor Gym"),
|
|
/// each fitted with its own fingerprint/face terminal. CustomerPlan grants access to
|
|
/// one or more Places via CustomerPlanPlace; AccessDevice.FKPlaceId says which Place a
|
|
/// terminal sits in. Deliberately separate from Facility, which models capacity-limited
|
|
/// bookable sessions (pool/court/class bookings) -- Places are about which physical
|
|
/// machine a member's access profile should reach, not about booking a time slot.</summary>
|
|
public class Place
|
|
{
|
|
[Key]
|
|
public Guid PlaceId { get; set; }
|
|
|
|
public Guid FKClientId { get; set; }
|
|
[ForeignKey(nameof(FKClientId))]
|
|
public Client Client { get; set; }
|
|
|
|
[MaxLength(128)]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[MaxLength(500)]
|
|
public string? Description { get; set; }
|
|
|
|
public bool IsActive { get; set; } = true;
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
}
|
|
}
|