/*
 * 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};

/// GetGoogleBusinessLocationDetails200ResponseLocation : Compact public-facing summary derived from Google's `metadata`. Useful for surfacing the \"leave a review\" URL (e.g. behind a QR code) without parsing the raw block. Always populated regardless of readMask. For unverified or new locations Google omits placeId/reviewUrl/mapsUri, so those return as null and `isVerified` is false.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetGoogleBusinessLocationDetails200ResponseLocation {
    /// Business name as set in GBP
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// Google Maps Place ID for this location
    #[serde(rename = "placeId", skip_serializing_if = "Option::is_none")]
    pub place_id: Option<String>,
    /// Public \"write a review\" URL Google generates for this place
    #[serde(rename = "reviewUrl", skip_serializing_if = "Option::is_none")]
    pub review_url: Option<String>,
    /// Public Google Maps URL for this location
    #[serde(rename = "mapsUri", skip_serializing_if = "Option::is_none")]
    pub maps_uri: Option<String>,
    /// True when the location has Voice of Merchant (verified + live on Google)
    #[serde(rename = "isVerified", skip_serializing_if = "Option::is_none")]
    pub is_verified: Option<bool>,
}

impl GetGoogleBusinessLocationDetails200ResponseLocation {
    /// Compact public-facing summary derived from Google's `metadata`. Useful for surfacing the \"leave a review\" URL (e.g. behind a QR code) without parsing the raw block. Always populated regardless of readMask. For unverified or new locations Google omits placeId/reviewUrl/mapsUri, so those return as null and `isVerified` is false.
    pub fn new() -> GetGoogleBusinessLocationDetails200ResponseLocation {
        GetGoogleBusinessLocationDetails200ResponseLocation {
            name: None,
            place_id: None,
            review_url: None,
            maps_uri: None,
            is_verified: None,
        }
    }
}
