InventoryInfo.java

/*
 * Copyright 2026 Global Crop Diversity Trust
 * Licensed under the Apache License, Version 2.0
 * See LICENSE file in project root folder or http://www.apache.org/licenses/LICENSE-2.0
 */

package org.gringlobal.api.model;


import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
public class InventoryInfo {

	/** Inventory ID. */
	private Long id;

	/** Accession number of the associated accession. */
	private String accessionNumber;

	/** Accession ID of the associated accession. */
	private String accessionId;

	/** Taxonomy species of the associated accession. */
	private TaxonomySpeciesInfo taxonomySpecies;

	/** Curation type code of the associated accession. */
	private String curationTypeCode;

	/** Complete inventory identifier. */
	private String inventoryNumber;

	/** Inventory type code. */
	private String formTypeCode;

	/** Inventory barcode. */
	private String barcode;

	/** DOI assigned to the inventory. */
	private String doi;

	/** Generation number for propagated material. */
	private Long generation;

	/** Quantity of germplasm on hand. */
	private Double quantityOnHand;

	/** Units for the quantity on hand. */
	private String quantityOnHandUnitCode;

	/** First part of the storage location. */
	private String storageLocationPart1;

	/** Second part of the storage location. */
	private String storageLocationPart2;

	/** Third part of the storage location. */
	private String storageLocationPart3;

	/** Fourth part of the storage location. */
	private String storageLocationPart4;

	/** Indicates whether the inventory is available for distribution. */
	private Boolean isAvailable;

	/** Indicates whether this inventory is the default lot for distribution. */
	private Boolean isDistributable;

	/** Pathogen status code. */
	private String pathogenStatusCode;

	/** Short name of the maintenance site. */
	private String siteShortName;

	/** ID of the maintenance site. */
	private Long siteId;

	public InventoryInfo(Long id) {
		this.id = id;
	}
}