use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct PisContainer {
#[serde(rename = "PISAliq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pis_aliq: Option<PisAliq>,
#[serde(rename = "PISNT")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pis_nt: Option<PisNt>,
#[serde(rename = "PISOutr")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pis_outr: Option<PisOutr>,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct PisAliq {
#[serde(rename = "$unflatten=CST")]
pub cst: String,
#[serde(rename = "$unflatten=vBC")]
pub valor_bc: f32,
#[serde(rename = "$unflatten=pPIS")]
pub aliquota: f32,
#[serde(rename = "$unflatten=vPIS")]
pub valor: f32,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct PisNt {
#[serde(rename = "$unflatten=CST")]
pub cst: String,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct PisOutr {
#[serde(rename = "$unflatten=CST")]
pub cst: String,
#[serde(rename = "$unflatten=vBC")]
#[serde(skip_serializing_if = "Option::is_none")]
pub valor_bc: Option<f32>,
#[serde(rename = "$unflatten=pPIS")]
#[serde(skip_serializing_if = "Option::is_none")]
pub aliquota: Option<f32>,
#[serde(rename = "$unflatten=vPIS")]
#[serde(skip_serializing_if = "Option::is_none")]
pub valor: Option<f32>,
}