// Generated automatically by schema_generator.rs - DO NOT EDIT.
// Source: ./deriv-api-docs/config/v3/trading_durations/receive.json
// Use direct crate names for imports
use serde::{Deserialize, Serialize};
use serde_json::Value;
// Import required types from the *same* crate
use crate::trading_duration_item::TradingDurationItem;
/// A message with trading duration information for symbol and contract combinations.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub struct TradingDurationsResponse {
/// Echo of the request made.\n
// Correct serde attribute construction - Use helper
pub echo_req: Value,
/// Action name of the request made.\n
// Correct serde attribute construction - Use helper
pub msg_type: String,
/// Optional field sent in request to map to response, present only when request contains `req_id`.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub req_id: Option<i64>,
/// List of underlyings by their display name and symbol followed by their available contract types and trading duration boundaries.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub trading_durations: Option<Vec<TradingDurationItem>>,
}