	EntityUpdate struct {
		WarrantyExpires types.Date `json:"warrantyExpires"`
		// Purchase
		PurchaseDate types.Date `json:"purchaseDate"`
		// Sold
		SoldDate    types.Date `json:"soldDate"`
		Name        string     `json:"name"        validate:"required,min=1,max=255"`
		Description string     `json:"description" validate:"max=1000"`
		// Identifications
		SerialNumber    string `json:"serialNumber"`
		ModelNumber     string `json:"modelNumber"`
		Manufacturer    string `json:"manufacturer"`
		WarrantyDetails string `json:"warrantyDetails"`
		PurchaseFrom    string `json:"purchaseFrom"    validate:"max=255"`
		SoldTo          string `json:"soldTo"          validate:"max=255"`
		SoldNotes       string `json:"soldNotes"`
		// Extras
		Notes string `json:"notes"`
		// Edges
		TagIDs        []uuid.UUID       `json:"tagIds"`
		Fields        []EntityFieldData `json:"fields"`
		AssetID       AssetID           `json:"assetId"       swaggertype:"string"`
		Quantity      float64           `json:"quantity"`
		PurchasePrice float64           `json:"purchasePrice" extensions:"x-nullable,x-omitempty"`
		SoldPrice     float64           `json:"soldPrice"     extensions:"x-nullable,x-omitempty"`
		ParentID      uuid.UUID         `json:"parentId"      extensions:"x-nullable,x-omitempty"`
		// Only needed when ParentID is another item and this lives elsewhere (#1688).
		// Otherwise ParentID carries the location. See resolveLocationOverride.
		LocationID               uuid.UUID `json:"locationId"               extensions:"x-nullable,x-omitempty"`
		ID                       uuid.UUID `json:"id"`
		EntityTypeID             uuid.UUID `json:"entityTypeId"`
		Insured                  bool      `json:"insured"`
		Archived                 bool      `json:"archived"`
		SyncChildEntityLocations bool      `json:"syncChildEntityLocations"`
		// Warranty
		LifetimeWarranty bool `json:"lifetimeWarranty"`
	}
