autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * Stedi Manager
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2024-04-01
 * Contact: healthcare@stedi.com
 * Generated by: https://openapi-generator.tech
 */

use crate::manager::models;
use serde::{Deserialize, Serialize};

/// BenefitsInformationCoverageLevelName : The full name of the coverage level code.  Payers may sometimes return other non-compliant values.
/// The full name of the coverage level code.  Payers may sometimes return other non-compliant values.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BenefitsInformationCoverageLevelName {
    #[serde(rename = "Children Only")]
    ChildrenOnly,
    #[serde(rename = "Dependents Only")]
    DependentsOnly,
    #[serde(rename = "Employee and Children")]
    EmployeeAndChildren,
    #[serde(rename = "Employee Only")]
    EmployeeOnly,
    #[serde(rename = "Employee and Spouse")]
    EmployeeAndSpouse,
    #[serde(rename = "Family")]
    Family,
    #[serde(rename = "Individual")]
    Individual,
    #[serde(rename = "Spouse and Children")]
    SpouseAndChildren,
    #[serde(rename = "Spouse Only")]
    SpouseOnly,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for BenefitsInformationCoverageLevelName {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::ChildrenOnly => write!(f, "Children Only"),
            Self::DependentsOnly => write!(f, "Dependents Only"),
            Self::EmployeeAndChildren => write!(f, "Employee and Children"),
            Self::EmployeeOnly => write!(f, "Employee Only"),
            Self::EmployeeAndSpouse => write!(f, "Employee and Spouse"),
            Self::Family => write!(f, "Family"),
            Self::Individual => write!(f, "Individual"),
            Self::SpouseAndChildren => write!(f, "Spouse and Children"),
            Self::SpouseOnly => write!(f, "Spouse Only"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for BenefitsInformationCoverageLevelName {
    fn default() -> BenefitsInformationCoverageLevelName {
        Self::ChildrenOnly
    }
}