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

package models

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

import (
	"encoding/json"

	strfmt "github.com/go-openapi/strfmt"

	"github.com/go-openapi/errors"
	"github.com/go-openapi/swag"
	"github.com/go-openapi/validate"
)

// GetCharactersCharacterIDAssetsOKBodyItems get_characters_character_id_assets_200_ok
//
// 200 ok object
// swagger:model getCharactersCharacterIdAssetsOKBodyItems

type GetCharactersCharacterIDAssetsOKBodyItems struct {

	// get_characters_character_id_assets_is_singleton
	//
	// is_singleton boolean
	// Required: true
	IsSingleton *bool `json:"is_singleton"`

	// get_characters_character_id_assets_item_id
	//
	// item_id integer
	// Required: true
	ItemID *int64 `json:"item_id"`

	// get_characters_character_id_assets_location_flag
	//
	// location_flag string
	// Required: true
	LocationFlag *string `json:"location_flag"`

	// get_characters_character_id_assets_location_id
	//
	// location_id integer
	// Required: true
	LocationID *int64 `json:"location_id"`

	// get_characters_character_id_assets_location_type
	//
	// location_type string
	// Required: true
	LocationType *string `json:"location_type"`

	// get_characters_character_id_assets_quantity
	//
	// quantity integer
	Quantity int32 `json:"quantity,omitempty"`

	// get_characters_character_id_assets_type_id
	//
	// type_id integer
	// Required: true
	TypeID *int32 `json:"type_id"`
}

/* polymorph getCharactersCharacterIdAssetsOKBodyItems is_singleton false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems item_id false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems location_flag false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems location_id false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems location_type false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems quantity false */

/* polymorph getCharactersCharacterIdAssetsOKBodyItems type_id false */

// Validate validates this get characters character Id assets o k body items
func (m *GetCharactersCharacterIDAssetsOKBodyItems) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateIsSingleton(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateItemID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateLocationFlag(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateLocationID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateLocationType(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateTypeID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateIsSingleton(formats strfmt.Registry) error {

	if err := validate.Required("is_singleton", "body", m.IsSingleton); err != nil {
		return err
	}

	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateItemID(formats strfmt.Registry) error {

	if err := validate.Required("item_id", "body", m.ItemID); err != nil {
		return err
	}

	return nil
}

var getCharactersCharacterIdAssetsOKBodyItemsTypeLocationFlagPropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["AssetSafety","AutoFit","Cargo","CorpseBay","Deliveries","DroneBay","FighterBay","FighterTube0","FighterTube1","FighterTube2","FighterTube3","FighterTube4","FleetHangar","Hangar","HangarAll","HiSlot0","HiSlot1","HiSlot2","HiSlot3","HiSlot4","HiSlot5","HiSlot6","HiSlot7","HiddenModifiers","Implant","LoSlot0","LoSlot1","LoSlot2","LoSlot3","LoSlot4","LoSlot5","LoSlot6","LoSlot7","Locked","MedSlot0","MedSlot1","MedSlot2","MedSlot3","MedSlot4","MedSlot5","MedSlot6","MedSlot7","Module","QuafeBay","RigSlot0","RigSlot1","RigSlot2","RigSlot3","RigSlot4","RigSlot5","RigSlot6","RigSlot7","ShipHangar","SpecializedAmmoHold","SpecializedCommandCenterHold","SpecializedFuelBay","SpecializedGasHold","SpecializedIndustrialShipHold","SpecializedLargeShipHold","SpecializedMaterialBay","SpecializedMediumShipHold","SpecializedMineralHold","SpecializedOreHold","SpecializedPlanetaryCommoditiesHold","SpecializedSalvageHold","SpecializedShipHold","SpecializedSmallShipHold","SubSystemBay","SubSystemSlot0","SubSystemSlot1","SubSystemSlot2","SubSystemSlot3","SubSystemSlot4","SubSystemSlot5","SubSystemSlot6","SubSystemSlot7","Unlocked","Wardrobe"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		getCharactersCharacterIdAssetsOKBodyItemsTypeLocationFlagPropEnum = append(getCharactersCharacterIdAssetsOKBodyItemsTypeLocationFlagPropEnum, v)
	}
}

const (
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagAssetSafety captures enum value "AssetSafety"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagAssetSafety string = "AssetSafety"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagAutoFit captures enum value "AutoFit"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagAutoFit string = "AutoFit"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagCargo captures enum value "Cargo"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagCargo string = "Cargo"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagCorpseBay captures enum value "CorpseBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagCorpseBay string = "CorpseBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagDeliveries captures enum value "Deliveries"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagDeliveries string = "Deliveries"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagDroneBay captures enum value "DroneBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagDroneBay string = "DroneBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterBay captures enum value "FighterBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterBay string = "FighterBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube0 captures enum value "FighterTube0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube0 string = "FighterTube0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube1 captures enum value "FighterTube1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube1 string = "FighterTube1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube2 captures enum value "FighterTube2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube2 string = "FighterTube2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube3 captures enum value "FighterTube3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube3 string = "FighterTube3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube4 captures enum value "FighterTube4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFighterTube4 string = "FighterTube4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFleetHangar captures enum value "FleetHangar"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagFleetHangar string = "FleetHangar"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHangar captures enum value "Hangar"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHangar string = "Hangar"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHangarAll captures enum value "HangarAll"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHangarAll string = "HangarAll"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot0 captures enum value "HiSlot0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot0 string = "HiSlot0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot1 captures enum value "HiSlot1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot1 string = "HiSlot1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot2 captures enum value "HiSlot2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot2 string = "HiSlot2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot3 captures enum value "HiSlot3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot3 string = "HiSlot3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot4 captures enum value "HiSlot4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot4 string = "HiSlot4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot5 captures enum value "HiSlot5"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot5 string = "HiSlot5"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot6 captures enum value "HiSlot6"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot6 string = "HiSlot6"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot7 captures enum value "HiSlot7"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiSlot7 string = "HiSlot7"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiddenModifiers captures enum value "HiddenModifiers"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagHiddenModifiers string = "HiddenModifiers"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagImplant captures enum value "Implant"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagImplant string = "Implant"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot0 captures enum value "LoSlot0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot0 string = "LoSlot0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot1 captures enum value "LoSlot1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot1 string = "LoSlot1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot2 captures enum value "LoSlot2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot2 string = "LoSlot2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot3 captures enum value "LoSlot3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot3 string = "LoSlot3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot4 captures enum value "LoSlot4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot4 string = "LoSlot4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot5 captures enum value "LoSlot5"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot5 string = "LoSlot5"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot6 captures enum value "LoSlot6"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot6 string = "LoSlot6"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot7 captures enum value "LoSlot7"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLoSlot7 string = "LoSlot7"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLocked captures enum value "Locked"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagLocked string = "Locked"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot0 captures enum value "MedSlot0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot0 string = "MedSlot0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot1 captures enum value "MedSlot1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot1 string = "MedSlot1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot2 captures enum value "MedSlot2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot2 string = "MedSlot2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot3 captures enum value "MedSlot3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot3 string = "MedSlot3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot4 captures enum value "MedSlot4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot4 string = "MedSlot4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot5 captures enum value "MedSlot5"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot5 string = "MedSlot5"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot6 captures enum value "MedSlot6"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot6 string = "MedSlot6"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot7 captures enum value "MedSlot7"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagMedSlot7 string = "MedSlot7"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagModule captures enum value "Module"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagModule string = "Module"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagQuafeBay captures enum value "QuafeBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagQuafeBay string = "QuafeBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot0 captures enum value "RigSlot0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot0 string = "RigSlot0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot1 captures enum value "RigSlot1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot1 string = "RigSlot1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot2 captures enum value "RigSlot2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot2 string = "RigSlot2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot3 captures enum value "RigSlot3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot3 string = "RigSlot3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot4 captures enum value "RigSlot4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot4 string = "RigSlot4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot5 captures enum value "RigSlot5"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot5 string = "RigSlot5"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot6 captures enum value "RigSlot6"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot6 string = "RigSlot6"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot7 captures enum value "RigSlot7"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagRigSlot7 string = "RigSlot7"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagShipHangar captures enum value "ShipHangar"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagShipHangar string = "ShipHangar"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedAmmoHold captures enum value "SpecializedAmmoHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedAmmoHold string = "SpecializedAmmoHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedCommandCenterHold captures enum value "SpecializedCommandCenterHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedCommandCenterHold string = "SpecializedCommandCenterHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedFuelBay captures enum value "SpecializedFuelBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedFuelBay string = "SpecializedFuelBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedGasHold captures enum value "SpecializedGasHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedGasHold string = "SpecializedGasHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedIndustrialShipHold captures enum value "SpecializedIndustrialShipHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedIndustrialShipHold string = "SpecializedIndustrialShipHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedLargeShipHold captures enum value "SpecializedLargeShipHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedLargeShipHold string = "SpecializedLargeShipHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMaterialBay captures enum value "SpecializedMaterialBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMaterialBay string = "SpecializedMaterialBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMediumShipHold captures enum value "SpecializedMediumShipHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMediumShipHold string = "SpecializedMediumShipHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMineralHold captures enum value "SpecializedMineralHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedMineralHold string = "SpecializedMineralHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedOreHold captures enum value "SpecializedOreHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedOreHold string = "SpecializedOreHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedPlanetaryCommoditiesHold captures enum value "SpecializedPlanetaryCommoditiesHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedPlanetaryCommoditiesHold string = "SpecializedPlanetaryCommoditiesHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedSalvageHold captures enum value "SpecializedSalvageHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedSalvageHold string = "SpecializedSalvageHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedShipHold captures enum value "SpecializedShipHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedShipHold string = "SpecializedShipHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedSmallShipHold captures enum value "SpecializedSmallShipHold"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSpecializedSmallShipHold string = "SpecializedSmallShipHold"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemBay captures enum value "SubSystemBay"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemBay string = "SubSystemBay"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot0 captures enum value "SubSystemSlot0"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot0 string = "SubSystemSlot0"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot1 captures enum value "SubSystemSlot1"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot1 string = "SubSystemSlot1"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot2 captures enum value "SubSystemSlot2"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot2 string = "SubSystemSlot2"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot3 captures enum value "SubSystemSlot3"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot3 string = "SubSystemSlot3"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot4 captures enum value "SubSystemSlot4"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot4 string = "SubSystemSlot4"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot5 captures enum value "SubSystemSlot5"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot5 string = "SubSystemSlot5"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot6 captures enum value "SubSystemSlot6"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot6 string = "SubSystemSlot6"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot7 captures enum value "SubSystemSlot7"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagSubSystemSlot7 string = "SubSystemSlot7"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagUnlocked captures enum value "Unlocked"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagUnlocked string = "Unlocked"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagWardrobe captures enum value "Wardrobe"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationFlagWardrobe string = "Wardrobe"
)

// prop value enum
func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateLocationFlagEnum(path, location string, value string) error {
	if err := validate.Enum(path, location, value, getCharactersCharacterIdAssetsOKBodyItemsTypeLocationFlagPropEnum); err != nil {
		return err
	}
	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateLocationFlag(formats strfmt.Registry) error {

	if err := validate.Required("location_flag", "body", m.LocationFlag); err != nil {
		return err
	}

	// value enum
	if err := m.validateLocationFlagEnum("location_flag", "body", *m.LocationFlag); err != nil {
		return err
	}

	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateLocationID(formats strfmt.Registry) error {

	if err := validate.Required("location_id", "body", m.LocationID); err != nil {
		return err
	}

	return nil
}

var getCharactersCharacterIdAssetsOKBodyItemsTypeLocationTypePropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["station","solar_system","other"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		getCharactersCharacterIdAssetsOKBodyItemsTypeLocationTypePropEnum = append(getCharactersCharacterIdAssetsOKBodyItemsTypeLocationTypePropEnum, v)
	}
}

const (
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeStation captures enum value "station"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeStation string = "station"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeSolarSystem captures enum value "solar_system"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeSolarSystem string = "solar_system"
	// GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeOther captures enum value "other"
	GetCharactersCharacterIDAssetsOKBodyItemsLocationTypeOther string = "other"
)

// prop value enum
func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateLocationTypeEnum(path, location string, value string) error {
	if err := validate.Enum(path, location, value, getCharactersCharacterIdAssetsOKBodyItemsTypeLocationTypePropEnum); err != nil {
		return err
	}
	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateLocationType(formats strfmt.Registry) error {

	if err := validate.Required("location_type", "body", m.LocationType); err != nil {
		return err
	}

	// value enum
	if err := m.validateLocationTypeEnum("location_type", "body", *m.LocationType); err != nil {
		return err
	}

	return nil
}

func (m *GetCharactersCharacterIDAssetsOKBodyItems) validateTypeID(formats strfmt.Registry) error {

	if err := validate.Required("type_id", "body", m.TypeID); err != nil {
		return err
	}

	return nil
}

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

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