use serde::{Serialize, Deserialize};
///
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct GelatoReportDocumentOptions {
///Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code.
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_types: Option<Vec<String>>,
///Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth.
#[serde(skip_serializing_if = "Option::is_none")]
pub require_id_number: Option<bool>,
///Disable image uploads, identity document images have to be captured using the device’s camera.
#[serde(skip_serializing_if = "Option::is_none")]
pub require_live_capture: Option<bool>,
///Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie).
#[serde(skip_serializing_if = "Option::is_none")]
pub require_matching_selfie: Option<bool>,
}
impl std::fmt::Display for GelatoReportDocumentOptions {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
write!(f, "{}", serde_json::to_string(self).unwrap())
}
}