--[[
  FinFeedAPI Stock REST API

  No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

  The version of the OpenAPI document: v1
  Contact: support@apibricks.io
  Generated by: https://openapi-generator.tech
]]

-- admin_trading_status_model class
local admin_trading_status_model = {}
local admin_trading_status_model_mt = {
	__name = "admin_trading_status_model";
	__index = admin_trading_status_model;
}

local function cast_admin_trading_status_model(t)
	return setmetatable(t, admin_trading_status_model_mt)
end

local function new_admin_trading_status_model(symbol, timestamp_nanos, timestamp, is_trading_live, is_trading_halted, is_trading_in_order_acceptance_period, is_trading_paused, is_reason_halt_news_pending, is_reason_ipo_not_yet_trading, is_reason_ipo_deferred, is_reason_halt_news_dissemination, is_reason_ipo_order_acceptance_period, is_reason_ipo_pre_launch_period, is_reason_market_wide_circuit_breaker_level1, is_reason_market_wide_circuit_breaker_level2, is_reason_market_wide_circuit_breaker_level3, is_reason_not_applicable, is_reason_not_available)
	return cast_admin_trading_status_model({
		["symbol"] = symbol;
		["timestamp_nanos"] = timestamp_nanos;
		["timestamp"] = timestamp;
		["is_trading_live"] = is_trading_live;
		["is_trading_halted"] = is_trading_halted;
		["is_trading_in_order_acceptance_period"] = is_trading_in_order_acceptance_period;
		["is_trading_paused"] = is_trading_paused;
		["is_reason_halt_news_pending"] = is_reason_halt_news_pending;
		["is_reason_ipo_not_yet_trading"] = is_reason_ipo_not_yet_trading;
		["is_reason_ipo_deferred"] = is_reason_ipo_deferred;
		["is_reason_halt_news_dissemination"] = is_reason_halt_news_dissemination;
		["is_reason_ipo_order_acceptance_period"] = is_reason_ipo_order_acceptance_period;
		["is_reason_ipo_pre_launch_period"] = is_reason_ipo_pre_launch_period;
		["is_reason_market_wide_circuit_breaker_level1"] = is_reason_market_wide_circuit_breaker_level1;
		["is_reason_market_wide_circuit_breaker_level2"] = is_reason_market_wide_circuit_breaker_level2;
		["is_reason_market_wide_circuit_breaker_level3"] = is_reason_market_wide_circuit_breaker_level3;
		["is_reason_not_applicable"] = is_reason_not_applicable;
		["is_reason_not_available"] = is_reason_not_available;
	})
end

return {
	cast = cast_admin_trading_status_model;
	new = new_admin_trading_status_model;
}
