// Code generated by go-swagger; DO NOT EDIT.

// All Code Copyright(c) 2018-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed

package metrc_gw_models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// Package package
//
// swagger:model Package
type Package struct {

	// archived date
	ArchivedDate string `json:"ArchivedDate,omitempty"`

	// contains remediated product
	ContainsRemediatedProduct bool `json:"ContainsRemediatedProduct,omitempty"`

	// finished date
	FinishedDate string `json:"FinishedDate,omitempty"`

	// Id
	ID float64 `json:"Id,omitempty"`

	// initial lab testing state
	InitialLabTestingState string `json:"InitialLabTestingState,omitempty"`

	// is on hold
	IsOnHold bool `json:"IsOnHold,omitempty"`

	// is process validation testing sample
	IsProcessValidationTestingSample bool `json:"IsProcessValidationTestingSample,omitempty"`

	// is production batch
	IsProductionBatch bool `json:"IsProductionBatch,omitempty"`

	// is testing sample
	IsTestingSample bool `json:"IsTestingSample,omitempty"`

	// lab testing state
	LabTestingState string `json:"LabTestingState,omitempty"`

	// lab testing state date
	LabTestingStateDate string `json:"LabTestingStateDate,omitempty"`

	// label
	Label string `json:"Label,omitempty"`

	// last modified
	LastModified string `json:"LastModified,omitempty"`

	// package type
	PackageType string `json:"PackageType,omitempty"`

	// packaged date
	PackagedDate string `json:"PackagedDate,omitempty"`

	// patient license number
	PatientLicenseNumber string `json:"PatientLicenseNumber,omitempty"`

	// product category name
	ProductCategoryName string `json:"ProductCategoryName,omitempty"`

	// product Id
	ProductID float64 `json:"ProductId,omitempty"`

	// product name
	ProductName string `json:"ProductName,omitempty"`

	// product requires remediation
	ProductRequiresRemediation bool `json:"ProductRequiresRemediation,omitempty"`

	// production batch number
	ProductionBatchNumber string `json:"ProductionBatchNumber,omitempty"`

	// quantity
	Quantity float64 `json:"Quantity,omitempty"`

	// received date time
	ReceivedDateTime string `json:"ReceivedDateTime,omitempty"`

	// received from facility license number
	ReceivedFromFacilityLicenseNumber string `json:"ReceivedFromFacilityLicenseNumber,omitempty"`

	// received from facility name
	ReceivedFromFacilityName string `json:"ReceivedFromFacilityName,omitempty"`

	// received from manifest number
	ReceivedFromManifestNumber string `json:"ReceivedFromManifestNumber,omitempty"`

	// remediation date
	RemediationDate string `json:"RemediationDate,omitempty"`

	// room Id
	RoomID string `json:"RoomId,omitempty"`

	// room name
	RoomName string `json:"RoomName,omitempty"`

	// source harvest names
	SourceHarvestNames string `json:"SourceHarvestNames,omitempty"`

	// unit of measure abbreviation
	UnitOfMeasureAbbreviation string `json:"UnitOfMeasureAbbreviation,omitempty"`

	// unit of measure name
	UnitOfMeasureName string `json:"UnitOfMeasureName,omitempty"`
}

// Validate validates this package
func (m *Package) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *Package) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *Package) UnmarshalBinary(b []byte) error {
	var res Package
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
