// 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"
)

// Transfer transfer
//
// swagger:model Transfer
type Transfer struct {

	// actual arrival date time
	ActualArrivalDateTime string `json:"ActualArrivalDateTime,omitempty"`

	// actual departure date time
	ActualDepartureDateTime string `json:"ActualDepartureDateTime,omitempty"`

	// contains plant package
	ContainsPlantPackage bool `json:"ContainsPlantPackage,omitempty"`

	// contains product package
	ContainsProductPackage bool `json:"ContainsProductPackage,omitempty"`

	// contains product requires remediation
	ContainsProductRequiresRemediation bool `json:"ContainsProductRequiresRemediation,omitempty"`

	// contains remediated product package
	ContainsRemediatedProductPackage bool `json:"ContainsRemediatedProductPackage,omitempty"`

	// contains testing sample
	ContainsTestingSample bool `json:"ContainsTestingSample,omitempty"`

	// created by user name
	CreatedByUserName string `json:"CreatedByUserName,omitempty"`

	// created date time
	CreatedDateTime string `json:"CreatedDateTime,omitempty"`

	// delivery count
	DeliveryCount float64 `json:"DeliveryCount,omitempty"`

	// delivery Id
	DeliveryID float64 `json:"DeliveryId,omitempty"`

	// delivery package count
	DeliveryPackageCount float64 `json:"DeliveryPackageCount,omitempty"`

	// delivery received package count
	DeliveryReceivedPackageCount float64 `json:"DeliveryReceivedPackageCount,omitempty"`

	// driver name
	DriverName string `json:"DriverName,omitempty"`

	// driver occupational license number
	DriverOccupationalLicenseNumber string `json:"DriverOccupationalLicenseNumber,omitempty"`

	// driver vehicle license number
	DriverVehicleLicenseNumber string `json:"DriverVehicleLicenseNumber,omitempty"`

	// estimated arrival date time
	EstimatedArrivalDateTime string `json:"EstimatedArrivalDateTime,omitempty"`

	// estimated departure date time
	EstimatedDepartureDateTime string `json:"EstimatedDepartureDateTime,omitempty"`

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

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

	// manifest number
	ManifestNumber string `json:"ManifestNumber,omitempty"`

	// name
	Name string `json:"Name,omitempty"`

	// package count
	PackageCount float64 `json:"PackageCount,omitempty"`

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

	// received delivery count
	ReceivedDeliveryCount float64 `json:"ReceivedDeliveryCount,omitempty"`

	// received package count
	ReceivedPackageCount float64 `json:"ReceivedPackageCount,omitempty"`

	// recipient facility license number
	RecipientFacilityLicenseNumber string `json:"RecipientFacilityLicenseNumber,omitempty"`

	// recipient facility name
	RecipientFacilityName string `json:"RecipientFacilityName,omitempty"`

	// shipment license type
	ShipmentLicenseType float64 `json:"ShipmentLicenseType,omitempty"`

	// shipment transaction type
	ShipmentTransactionType string `json:"ShipmentTransactionType,omitempty"`

	// shipment type name
	ShipmentTypeName string `json:"ShipmentTypeName,omitempty"`

	// shipper facility license number
	ShipperFacilityLicenseNumber string `json:"ShipperFacilityLicenseNumber,omitempty"`

	// shipper facility name
	ShipperFacilityName string `json:"ShipperFacilityName,omitempty"`

	// transporter facility license number
	TransporterFacilityLicenseNumber string `json:"TransporterFacilityLicenseNumber,omitempty"`

	// transporter facility name
	TransporterFacilityName string `json:"TransporterFacilityName,omitempty"`

	// vehicle license plate number
	VehicleLicensePlateNumber string `json:"VehicleLicensePlateNumber,omitempty"`

	// vehicle make
	VehicleMake string `json:"VehicleMake,omitempty"`

	// vehicle model
	VehicleModel string `json:"VehicleModel,omitempty"`
}

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

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

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