data class ZyncProject(val projectUid: String, val projectPrefix: String? = null, val projectNumber: Int, val projectName: String, val projectPriority: ZyncProjectPriority = ZyncProjectPriority.MEDIUM, val projectDescription: String? = null, val projectImageUrl: String? = null, val projectStartDate: String? = null, val projectEndDate: String? = null, val projectDueDate: String? = null, val customerUid: String? = null, val customer: ZyncCustomer? = null, val organizationUid: String? = null, val organization: ZyncOrganization? = null, val projectManagerUid: String? = null, val projectManager: User? = null, val projectCategoryUid: String? = null, val projectCategory: ZyncProjectCategory? = null, val pricelistUid: String? = null, val currentStatusUid: String? = null, val currentStatusName: String? = null, val currentStatusType: ZyncProjectStatusType = ZyncProjectStatusType.PENDING, val currentStatusColor: String? = null, val isActive: Boolean = true, val isBillable: Boolean = true, val restrictToProjectProducts: Boolean = false, val syncProductsToJobs: Boolean = false, val projectTags: List<String> = emptyList(), val projectDependencies: List<ZyncProjectDependency> = emptyList(), val serviceAddress: ZyncProjectAddress? = null, val billingAddress: ZyncProjectAddress? = null, val customFields: List<ZyncProjectCustomField> = emptyList(), val progressiveInvoice: ZyncProjectProgressiveInvoice? = null, val projectConfig: ZyncProjectConfig? = null, val assignments: List<ZyncProjectAssignment> = emptyList(), val statusHistory: List<ZyncProjectStatusHistory> = emptyList(), val phases: List<ZyncProjectPhase> = emptyList(), val milestones: List<ZyncProjectMilestone> = emptyList(), val properties: List<ZyncProjectPropertyAssociation> = emptyList(), val assets: List<ZyncProjectAssetAssociation> = emptyList(), val contracts: List<ZyncProjectContractAssociation> = emptyList(), val jobs: List<ZyncProjectJobAssociation> = emptyList(), val products: List<ZyncProjectProductAssociation> = emptyList(), val attachments: List<String> = emptyList(), val companyUid: String, val createdAt: String, val updatedAt: String? = null, val syncedAt: String? = null) Domain model representing a Project in the Zuper system.
Projects are comprehensive work containers that organize jobs, resources, and timelines for complex service delivery scenarios.