use serde::{Deserialize, Serialize};
use serde_json::Value;
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq)]
pub struct ContractAppealRecord {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uuid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub board: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub docket_numbers: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub docket_source: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub docket_raw: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_date_raw: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_date_repaired: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub appellant: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub judge: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_type_raw: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub document_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub listing_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub listing_year: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub first_listed_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub listed: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text_char_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub decision_text: Option<String>,
#[serde(flatten)]
pub extra: HashMap<String, Value>,
}