# Users

Interfaces for user entities, covering base properties, authentication fields, company associations, relations, and foreign keys.

## Key Files

- **`IAcUserBase.cs`** — Core user interface with `FullName`, `PhoneNumber`, `RefreshToken`, `RefferalId`, email, password, and timestamps.
- **`IAcUser.cs`** — Full user interface generic over profile, company, and address types.
- **`IAcEmailAddress.cs`** — Defines an `EmailAddress` string property with max length 150.
- **`IPassword.cs`** — Defines a `Password` string property.
- **`IEmailConfirmed.cs`** — Defines an `EmailConfirmed` boolean property.
- **`IAcUserTokenBase.cs`** — User token interface with `Token`, `TokenSent`, `TokenExpiration`, and `IsActive`.
- **`IAcUserRelation.cs`** — Navigation property for entities holding a `User` reference.
- **`IAcUsersRelation.cs`** — Navigation property for `Users` and `UserToServiceProviders` collections.
- **`IAcUserToCompanyBase.cs`** — Base user-to-company join with `Permissions`, user/company foreign keys.
- **`IAcUserToCompany.cs`** — Generic join entity with `User` and `Company` navigation properties.
- **`IAcUserToServiceProviderRelation.cs`** — Relation linking a user to a service provider.
- **`IAcUserModelDtoMinBase.cs`** — Minimal user model DTO marker extending `IAcModelDtoBase`.
- **`IAcUserForeignKey.cs`** — Foreign key contract exposing `UserId` (Guid).
