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

// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems get_corporations_corporation_id_wallets_division_journal_200_ok
//
// 200 ok object
// swagger:model getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems

type GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems struct {

	// get_corporations_corporation_id_wallets_division_journal_amount
	//
	// Transaction amount. Positive when value transferred to the first party. Negative otherwise
	Amount float32 `json:"amount,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_balance
	//
	// Wallet balance after transaction occurred
	Balance float32 `json:"balance,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_date
	//
	// Date and time of transaction
	// Required: true
	Date *strfmt.DateTime `json:"date"`

	// extra info
	ExtraInfo *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsExtraInfo `json:"extra_info,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_first_party_id
	//
	// first_party_id integer
	FirstPartyID int32 `json:"first_party_id,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_first_party_type
	//
	// first_party_type string
	FirstPartyType string `json:"first_party_type,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_reason
	//
	// reason string
	Reason string `json:"reason,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_ref_id
	//
	// Unique journal reference ID
	// Required: true
	RefID *int64 `json:"ref_id"`

	// get_corporations_corporation_id_wallets_division_journal_ref_type
	//
	// Transaction type, different type of transaction will populate different fields in `extra_info`
	// Required: true
	RefType *string `json:"ref_type"`

	// get_corporations_corporation_id_wallets_division_journal_second_party_id
	//
	// second_party_id integer
	SecondPartyID int32 `json:"second_party_id,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_second_party_type
	//
	// second_party_type string
	SecondPartyType string `json:"second_party_type,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_tax
	//
	// Tax amount received for tax related transactions
	Tax float32 `json:"tax,omitempty"`

	// get_corporations_corporation_id_wallets_division_journal_tax_reciever_id
	//
	// the corporation ID receiving any tax paid
	TaxRecieverID int32 `json:"tax_reciever_id,omitempty"`
}

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems amount false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems balance false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems date false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems extra_info false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems first_party_id false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems first_party_type false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems reason false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems ref_id false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems ref_type false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems second_party_id false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems second_party_type false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems tax false */

/* polymorph getCorporationsCorporationIdWalletsDivisionJournalOKBodyItems tax_reciever_id false */

// Validate validates this get corporations corporation Id wallets division journal o k body items
func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) Validate(formats strfmt.Registry) error {
	var res []error

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

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

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

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

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

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

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

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateDate(formats strfmt.Registry) error {

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

	if err := validate.FormatOf("date", "body", "date-time", m.Date.String(), formats); err != nil {
		return err
	}

	return nil
}

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateExtraInfo(formats strfmt.Registry) error {

	if swag.IsZero(m.ExtraInfo) { // not required
		return nil
	}

	if m.ExtraInfo != nil {

		if err := m.ExtraInfo.Validate(formats); err != nil {
			if ve, ok := err.(*errors.Validation); ok {
				return ve.ValidateName("extra_info")
			}
			return err
		}
	}

	return nil
}

var getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeFirstPartyTypePropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["character","corporation","alliance","faction"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeFirstPartyTypePropEnum = append(getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeFirstPartyTypePropEnum, v)
	}
}

const (
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeCharacter captures enum value "character"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeCharacter string = "character"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeCorporation captures enum value "corporation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeCorporation string = "corporation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeAlliance captures enum value "alliance"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeAlliance string = "alliance"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeFaction captures enum value "faction"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsFirstPartyTypeFaction string = "faction"
)

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

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateFirstPartyType(formats strfmt.Registry) error {

	if swag.IsZero(m.FirstPartyType) { // not required
		return nil
	}

	// value enum
	if err := m.validateFirstPartyTypeEnum("first_party_type", "body", m.FirstPartyType); err != nil {
		return err
	}

	return nil
}

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateRefID(formats strfmt.Registry) error {

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

	return nil
}

var getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeRefTypePropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["player_trading","market_transaction","gm_cash_transfer","mission_reward","clone_activation","inheritance","player_donation","corporation_payment","docking_fee","office_rental_fee","factory_slot_rental_fee","repair_bill","bounty","bounty_prize","insurance","mission_expiration","mission_completion","shares","courier_mission_escrow","mission_cost","agent_miscellaneous","lp_store","agent_location_services","agent_donation","agent_security_services","agent_mission_collateral_paid","agent_mission_collateral_refunded","agents_preward","agent_mission_reward","agent_mission_time_bonus_reward","cspa","cspaofflinerefund","corporation_account_withdrawal","corporation_dividend_payment","corporation_registration_fee","corporation_logo_change_cost","release_of_impounded_property","market_escrow","agent_services_rendered","market_fine_paid","corporation_liquidation","brokers_fee","corporation_bulk_payment","alliance_registration_fee","war_fee","alliance_maintainance_fee","contraband_fine","clone_transfer","acceleration_gate_fee","transaction_tax","jump_clone_installation_fee","manufacturing","researching_technology","researching_time_productivity","researching_material_productivity","copying","reverse_engineering","contract_auction_bid","contract_auction_bid_refund","contract_collateral","contract_reward_refund","contract_auction_sold","contract_reward","contract_collateral_refund","contract_collateral_payout","contract_price","contract_brokers_fee","contract_sales_tax","contract_deposit","contract_deposit_sales_tax","contract_auction_bid_corp","contract_collateral_deposited_corp","contract_price_payment_corp","contract_brokers_fee_corp","contract_deposit_corp","contract_deposit_refund","contract_reward_deposited","contract_reward_deposited_corp","bounty_prizes","advertisement_listing_fee","medal_creation","medal_issued","dna_modification_fee","sovereignity_bill","bounty_prize_corporation_tax","agent_mission_reward_corporation_tax","agent_mission_time_bonus_reward_corporation_tax","upkeep_adjustment_fee","planetary_import_tax","planetary_export_tax","planetary_construction","corporate_reward_payout","bounty_surcharge","contract_reversal","corporate_reward_tax","store_purchase","store_purchase_refund","datacore_fee","war_fee_surrender","war_ally_contract","bounty_reimbursement","kill_right_fee","security_processing_fee","industry_job_tax","infrastructure_hub_maintenance","asset_safety_recovery_tax","opportunity_reward","project_discovery_reward","project_discovery_tax","reprocessing_tax","jump_clone_activation_fee","operation_bonus"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeRefTypePropEnum = append(getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeRefTypePropEnum, v)
	}
}

const (
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlayerTrading captures enum value "player_trading"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlayerTrading string = "player_trading"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketTransaction captures enum value "market_transaction"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketTransaction string = "market_transaction"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeGmCashTransfer captures enum value "gm_cash_transfer"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeGmCashTransfer string = "gm_cash_transfer"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionReward captures enum value "mission_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionReward string = "mission_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCloneActivation captures enum value "clone_activation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCloneActivation string = "clone_activation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInheritance captures enum value "inheritance"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInheritance string = "inheritance"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlayerDonation captures enum value "player_donation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlayerDonation string = "player_donation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationPayment captures enum value "corporation_payment"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationPayment string = "corporation_payment"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDockingFee captures enum value "docking_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDockingFee string = "docking_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOfficeRentalFee captures enum value "office_rental_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOfficeRentalFee string = "office_rental_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeFactorySlotRentalFee captures enum value "factory_slot_rental_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeFactorySlotRentalFee string = "factory_slot_rental_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeRepairBill captures enum value "repair_bill"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeRepairBill string = "repair_bill"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBounty captures enum value "bounty"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBounty string = "bounty"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrize captures enum value "bounty_prize"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrize string = "bounty_prize"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInsurance captures enum value "insurance"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInsurance string = "insurance"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionExpiration captures enum value "mission_expiration"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionExpiration string = "mission_expiration"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionCompletion captures enum value "mission_completion"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionCompletion string = "mission_completion"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeShares captures enum value "shares"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeShares string = "shares"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCourierMissionEscrow captures enum value "courier_mission_escrow"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCourierMissionEscrow string = "courier_mission_escrow"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionCost captures enum value "mission_cost"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMissionCost string = "mission_cost"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMiscellaneous captures enum value "agent_miscellaneous"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMiscellaneous string = "agent_miscellaneous"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeLpStore captures enum value "lp_store"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeLpStore string = "lp_store"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentLocationServices captures enum value "agent_location_services"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentLocationServices string = "agent_location_services"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentDonation captures enum value "agent_donation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentDonation string = "agent_donation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentSecurityServices captures enum value "agent_security_services"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentSecurityServices string = "agent_security_services"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionCollateralPaid captures enum value "agent_mission_collateral_paid"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionCollateralPaid string = "agent_mission_collateral_paid"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionCollateralRefunded captures enum value "agent_mission_collateral_refunded"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionCollateralRefunded string = "agent_mission_collateral_refunded"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentsPreward captures enum value "agents_preward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentsPreward string = "agents_preward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionReward captures enum value "agent_mission_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionReward string = "agent_mission_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionTimeBonusReward captures enum value "agent_mission_time_bonus_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionTimeBonusReward string = "agent_mission_time_bonus_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCspa captures enum value "cspa"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCspa string = "cspa"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCspaofflinerefund captures enum value "cspaofflinerefund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCspaofflinerefund string = "cspaofflinerefund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationAccountWithdrawal captures enum value "corporation_account_withdrawal"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationAccountWithdrawal string = "corporation_account_withdrawal"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationDividendPayment captures enum value "corporation_dividend_payment"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationDividendPayment string = "corporation_dividend_payment"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationRegistrationFee captures enum value "corporation_registration_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationRegistrationFee string = "corporation_registration_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationLogoChangeCost captures enum value "corporation_logo_change_cost"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationLogoChangeCost string = "corporation_logo_change_cost"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReleaseOfImpoundedProperty captures enum value "release_of_impounded_property"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReleaseOfImpoundedProperty string = "release_of_impounded_property"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketEscrow captures enum value "market_escrow"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketEscrow string = "market_escrow"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentServicesRendered captures enum value "agent_services_rendered"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentServicesRendered string = "agent_services_rendered"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketFinePaid captures enum value "market_fine_paid"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMarketFinePaid string = "market_fine_paid"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationLiquidation captures enum value "corporation_liquidation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationLiquidation string = "corporation_liquidation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBrokersFee captures enum value "brokers_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBrokersFee string = "brokers_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationBulkPayment captures enum value "corporation_bulk_payment"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporationBulkPayment string = "corporation_bulk_payment"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAllianceRegistrationFee captures enum value "alliance_registration_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAllianceRegistrationFee string = "alliance_registration_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarFee captures enum value "war_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarFee string = "war_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAllianceMaintainanceFee captures enum value "alliance_maintainance_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAllianceMaintainanceFee string = "alliance_maintainance_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContrabandFine captures enum value "contraband_fine"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContrabandFine string = "contraband_fine"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCloneTransfer captures enum value "clone_transfer"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCloneTransfer string = "clone_transfer"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAccelerationGateFee captures enum value "acceleration_gate_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAccelerationGateFee string = "acceleration_gate_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeTransactionTax captures enum value "transaction_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeTransactionTax string = "transaction_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeJumpCloneInstallationFee captures enum value "jump_clone_installation_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeJumpCloneInstallationFee string = "jump_clone_installation_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeManufacturing captures enum value "manufacturing"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeManufacturing string = "manufacturing"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingTechnology captures enum value "researching_technology"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingTechnology string = "researching_technology"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingTimeProductivity captures enum value "researching_time_productivity"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingTimeProductivity string = "researching_time_productivity"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingMaterialProductivity captures enum value "researching_material_productivity"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeResearchingMaterialProductivity string = "researching_material_productivity"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCopying captures enum value "copying"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCopying string = "copying"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReverseEngineering captures enum value "reverse_engineering"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReverseEngineering string = "reverse_engineering"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBid captures enum value "contract_auction_bid"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBid string = "contract_auction_bid"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBidRefund captures enum value "contract_auction_bid_refund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBidRefund string = "contract_auction_bid_refund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateral captures enum value "contract_collateral"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateral string = "contract_collateral"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardRefund captures enum value "contract_reward_refund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardRefund string = "contract_reward_refund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionSold captures enum value "contract_auction_sold"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionSold string = "contract_auction_sold"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractReward captures enum value "contract_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractReward string = "contract_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralRefund captures enum value "contract_collateral_refund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralRefund string = "contract_collateral_refund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralPayout captures enum value "contract_collateral_payout"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralPayout string = "contract_collateral_payout"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractPrice captures enum value "contract_price"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractPrice string = "contract_price"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractBrokersFee captures enum value "contract_brokers_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractBrokersFee string = "contract_brokers_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractSalesTax captures enum value "contract_sales_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractSalesTax string = "contract_sales_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDeposit captures enum value "contract_deposit"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDeposit string = "contract_deposit"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositSalesTax captures enum value "contract_deposit_sales_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositSalesTax string = "contract_deposit_sales_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBidCorp captures enum value "contract_auction_bid_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractAuctionBidCorp string = "contract_auction_bid_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralDepositedCorp captures enum value "contract_collateral_deposited_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractCollateralDepositedCorp string = "contract_collateral_deposited_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractPricePaymentCorp captures enum value "contract_price_payment_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractPricePaymentCorp string = "contract_price_payment_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractBrokersFeeCorp captures enum value "contract_brokers_fee_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractBrokersFeeCorp string = "contract_brokers_fee_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositCorp captures enum value "contract_deposit_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositCorp string = "contract_deposit_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositRefund captures enum value "contract_deposit_refund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractDepositRefund string = "contract_deposit_refund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardDeposited captures enum value "contract_reward_deposited"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardDeposited string = "contract_reward_deposited"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardDepositedCorp captures enum value "contract_reward_deposited_corp"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractRewardDepositedCorp string = "contract_reward_deposited_corp"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrizes captures enum value "bounty_prizes"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrizes string = "bounty_prizes"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAdvertisementListingFee captures enum value "advertisement_listing_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAdvertisementListingFee string = "advertisement_listing_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMedalCreation captures enum value "medal_creation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMedalCreation string = "medal_creation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMedalIssued captures enum value "medal_issued"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeMedalIssued string = "medal_issued"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDnaModificationFee captures enum value "dna_modification_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDnaModificationFee string = "dna_modification_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeSovereignityBill captures enum value "sovereignity_bill"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeSovereignityBill string = "sovereignity_bill"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrizeCorporationTax captures enum value "bounty_prize_corporation_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyPrizeCorporationTax string = "bounty_prize_corporation_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionRewardCorporationTax captures enum value "agent_mission_reward_corporation_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionRewardCorporationTax string = "agent_mission_reward_corporation_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionTimeBonusRewardCorporationTax captures enum value "agent_mission_time_bonus_reward_corporation_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAgentMissionTimeBonusRewardCorporationTax string = "agent_mission_time_bonus_reward_corporation_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeUpkeepAdjustmentFee captures enum value "upkeep_adjustment_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeUpkeepAdjustmentFee string = "upkeep_adjustment_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryImportTax captures enum value "planetary_import_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryImportTax string = "planetary_import_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryExportTax captures enum value "planetary_export_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryExportTax string = "planetary_export_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryConstruction captures enum value "planetary_construction"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypePlanetaryConstruction string = "planetary_construction"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporateRewardPayout captures enum value "corporate_reward_payout"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporateRewardPayout string = "corporate_reward_payout"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountySurcharge captures enum value "bounty_surcharge"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountySurcharge string = "bounty_surcharge"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractReversal captures enum value "contract_reversal"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeContractReversal string = "contract_reversal"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporateRewardTax captures enum value "corporate_reward_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeCorporateRewardTax string = "corporate_reward_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeStorePurchase captures enum value "store_purchase"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeStorePurchase string = "store_purchase"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeStorePurchaseRefund captures enum value "store_purchase_refund"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeStorePurchaseRefund string = "store_purchase_refund"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDatacoreFee captures enum value "datacore_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeDatacoreFee string = "datacore_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarFeeSurrender captures enum value "war_fee_surrender"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarFeeSurrender string = "war_fee_surrender"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarAllyContract captures enum value "war_ally_contract"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeWarAllyContract string = "war_ally_contract"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyReimbursement captures enum value "bounty_reimbursement"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeBountyReimbursement string = "bounty_reimbursement"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeKillRightFee captures enum value "kill_right_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeKillRightFee string = "kill_right_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeSecurityProcessingFee captures enum value "security_processing_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeSecurityProcessingFee string = "security_processing_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeIndustryJobTax captures enum value "industry_job_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeIndustryJobTax string = "industry_job_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInfrastructureHubMaintenance captures enum value "infrastructure_hub_maintenance"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeInfrastructureHubMaintenance string = "infrastructure_hub_maintenance"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAssetSafetyRecoveryTax captures enum value "asset_safety_recovery_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeAssetSafetyRecoveryTax string = "asset_safety_recovery_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOpportunityReward captures enum value "opportunity_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOpportunityReward string = "opportunity_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeProjectDiscoveryReward captures enum value "project_discovery_reward"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeProjectDiscoveryReward string = "project_discovery_reward"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeProjectDiscoveryTax captures enum value "project_discovery_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeProjectDiscoveryTax string = "project_discovery_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReprocessingTax captures enum value "reprocessing_tax"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeReprocessingTax string = "reprocessing_tax"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeJumpCloneActivationFee captures enum value "jump_clone_activation_fee"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeJumpCloneActivationFee string = "jump_clone_activation_fee"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOperationBonus captures enum value "operation_bonus"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsRefTypeOperationBonus string = "operation_bonus"
)

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

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateRefType(formats strfmt.Registry) error {

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

	// value enum
	if err := m.validateRefTypeEnum("ref_type", "body", *m.RefType); err != nil {
		return err
	}

	return nil
}

var getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeSecondPartyTypePropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["character","corporation","alliance","faction"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeSecondPartyTypePropEnum = append(getCorporationsCorporationIdWalletsDivisionJournalOKBodyItemsTypeSecondPartyTypePropEnum, v)
	}
}

const (
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeCharacter captures enum value "character"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeCharacter string = "character"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeCorporation captures enum value "corporation"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeCorporation string = "corporation"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeAlliance captures enum value "alliance"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeAlliance string = "alliance"
	// GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeFaction captures enum value "faction"
	GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItemsSecondPartyTypeFaction string = "faction"
)

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

func (m *GetCorporationsCorporationIDWalletsDivisionJournalOKBodyItems) validateSecondPartyType(formats strfmt.Registry) error {

	if swag.IsZero(m.SecondPartyType) { // not required
		return nil
	}

	// value enum
	if err := m.validateSecondPartyTypeEnum("second_party_type", "body", m.SecondPartyType); err != nil {
		return err
	}

	return nil
}

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

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