/*
 * Clerk Backend API
 *
 * The Clerk REST Backend API, meant to be accessed by backend servers. Please see https://clerk.com/docs for more information.
 *
 * The version of the OpenAPI document: v1
 * Contact: support@clerk.com
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct CreatePhoneNumberRequest {
	/// The ID representing the user
	#[serde(rename = "user_id", skip_serializing_if = "Option::is_none")]
	pub user_id: Option<String>,
	/// The new phone number. Must adhere to the E.164 standard for phone number format.
	#[serde(rename = "phone_number", skip_serializing_if = "Option::is_none")]
	pub phone_number: Option<String>,
	/// When created, the phone number will be marked as verified.
	#[serde(
		rename = "verified",
		default,
		with = "::serde_with::rust::double_option",
		skip_serializing_if = "Option::is_none"
	)]
	pub verified: Option<Option<bool>>,
	/// Create this phone number as the primary phone number for the user. Default: false, unless it is the first phone number.
	#[serde(
		rename = "primary",
		default,
		with = "::serde_with::rust::double_option",
		skip_serializing_if = "Option::is_none"
	)]
	pub primary: Option<Option<bool>>,
}

impl CreatePhoneNumberRequest {
	pub fn new() -> CreatePhoneNumberRequest {
		CreatePhoneNumberRequest {
			user_id: None,
			phone_number: None,
			verified: None,
			primary: None,
		}
	}
}
