use crate::{CustomData, CustomerAddress, CustomerBalance};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Customer {
pub balance: CustomerBalance,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub billing_address: Option<CustomerAddress>,
pub created_at: crate::Timestamp,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom_data: Option<CustomData>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email_address: Option<String>,
pub guest: bool,
pub id: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone_number: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub shipping_address: Option<CustomerAddress>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub suffix: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<crate::Timestamp>,
}