// *********************************************************************** // // AgileWebs // // *********************************************************************** using MongoDB.Bson.Serialization.Attributes; namespace Core.Thalos.Domain.Contexts.Onboarding.Request { /// /// Represents a tenant creation request with business and contact details. /// public class TenantRequest { /// /// The legal or commercial name of the tenant. /// [BsonElement("name")] public string Name { get; set; } = null!; /// /// The tax identification number of the tenant (e.g., RFC, VAT). /// [BsonElement("taxIdentifier")] public string TaxIdentifier { get; set; } = null!; /// /// The primary address line (street, number, etc.). /// [BsonElement("addressLine1")] public string AddressLine1 { get; set; } = null!; /// /// An optional second address line (apartment, suite, etc.). /// [BsonElement("addressLine2")] [BsonIgnoreIfNull] public string? AddressLine2 { get; set; } /// /// The city where the tenant is located. /// [BsonElement("city")] public string City { get; set; } = null!; /// /// The state, province, or region of the tenant. /// [BsonElement("state")] public string State { get; set; } = null!; /// /// The country of the tenant. /// [BsonElement("country")] public string Country { get; set; } = null!; /// /// The postal or ZIP code of the tenant’s location. /// [BsonElement("postalCode")] public string PostalCode { get; set; } = null!; /// /// The main email address for contacting the tenant. /// [BsonElement("contactEmail")] public string ContactEmail { get; set; } = null!; /// /// The main phone number for contacting the tenant. /// [BsonElement("contactPhone")] public string ContactPhone { get; set; } = null!; /// /// The tenant’s website URL, if available. /// [BsonElement("website")] [BsonIgnoreIfNull] public string? Website { get; set; } /// /// The database connection string for the tenant, if applicable. /// [BsonElement("connectionString")] [BsonIgnoreIfNull] public string? ConnectionString { get; set; } /// /// Indicates whether the tenant uses an isolated database. /// [BsonElement("isolated")] public bool Isolated { get; set; } } }