kimai_client_lib 1.0.0

JSON API for the Kimai time-tracking software. Read our [API documentation](https://www.kimai.org/documentation/rest-api.html) and download the [Open API definition](doc.json) to import into your API client.
Documentation
/*
 * Kimai - API
 *
 * JSON API for the Kimai time-tracking software. Read our [API documentation](https://www.kimai.org/documentation/rest-api.html) and download the [Open API definition](doc.json) to import into your API client. 
 *
 * The version of the OpenAPI document: 1.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CustomerEditForm {
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "number", skip_serializing_if = "Option::is_none")]
    pub number: Option<String>,
    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
    pub comment: Option<String>,
    #[serde(rename = "company", skip_serializing_if = "Option::is_none")]
    pub company: Option<String>,
    #[serde(rename = "vatId", skip_serializing_if = "Option::is_none")]
    pub vat_id: Option<String>,
    #[serde(rename = "contact", skip_serializing_if = "Option::is_none")]
    pub contact: Option<String>,
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<String>,
    #[serde(rename = "country")]
    pub country: String,
    #[serde(rename = "currency")]
    pub currency: String,
    #[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
    pub phone: Option<String>,
    #[serde(rename = "fax", skip_serializing_if = "Option::is_none")]
    pub fax: Option<String>,
    #[serde(rename = "mobile", skip_serializing_if = "Option::is_none")]
    pub mobile: Option<String>,
    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
    pub email: Option<String>,
    #[serde(rename = "homepage", skip_serializing_if = "Option::is_none")]
    pub homepage: Option<String>,
    #[serde(rename = "timezone")]
    pub timezone: String,
    #[serde(rename = "invoiceText", skip_serializing_if = "Option::is_none")]
    pub invoice_text: Option<String>,
    #[serde(rename = "invoiceTemplate", skip_serializing_if = "Option::is_none")]
    pub invoice_template: Option<String>,
    /// The hexadecimal color code (default: auto-calculated by name)
    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
    pub color: Option<String>,
    #[serde(rename = "visible", skip_serializing_if = "Option::is_none")]
    pub visible: Option<bool>,
    #[serde(rename = "billable", skip_serializing_if = "Option::is_none")]
    pub billable: Option<bool>,
}

impl CustomerEditForm {
    pub fn new(name: String, country: String, currency: String, timezone: String) -> CustomerEditForm {
        CustomerEditForm {
            name,
            number: None,
            comment: None,
            company: None,
            vat_id: None,
            contact: None,
            address: None,
            country,
            currency,
            phone: None,
            fax: None,
            mobile: None,
            email: None,
            homepage: None,
            timezone,
            invoice_text: None,
            invoice_template: None,
            color: None,
            visible: None,
            billable: None,
        }
    }
}