/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
 *
 * The version of the OpenAPI document: 1.0.4
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

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

/// GetGoogleBusinessVerifications200ResponseVoiceOfMerchantState : Raw Voice of Merchant state from Google.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetGoogleBusinessVerifications200ResponseVoiceOfMerchantState {
    /// True when the listing is verified and published (eligible to surface reviews, edits, etc.).
    #[serde(rename = "hasVoiceOfMerchant", skip_serializing_if = "Option::is_none")]
    pub has_voice_of_merchant: Option<bool>,
    /// True when the authenticated user has owner/manager authority over the listing.
    #[serde(
        rename = "hasBusinessAuthority",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_business_authority: Option<bool>,
    #[serde(rename = "verify", skip_serializing_if = "Option::is_none")]
    pub verify:
        Option<Box<models::GetGoogleBusinessVerifications200ResponseVoiceOfMerchantStateVerify>>,
}

impl GetGoogleBusinessVerifications200ResponseVoiceOfMerchantState {
    /// Raw Voice of Merchant state from Google.
    pub fn new() -> GetGoogleBusinessVerifications200ResponseVoiceOfMerchantState {
        GetGoogleBusinessVerifications200ResponseVoiceOfMerchantState {
            has_voice_of_merchant: None,
            has_business_authority: None,
            verify: None,
        }
    }
}
