use super::*;
#[cfg_attr(feature = "derive-debug", derive(Debug))]
#[cfg_attr(feature = "derive-clone", derive(Clone))]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct ProgramMembership {
#[cfg(any(
any(
feature = "additional-type-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "additionalType"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#additional_type: Vec<AdditionalTypeProperty>,
#[cfg(any(
any(
feature = "alternate-name-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "alternateName"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#alternate_name: Vec<AlternateNameProperty>,
#[cfg(any(
any(
feature = "description-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "description"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#description: Vec<DescriptionProperty>,
#[cfg(any(
any(
feature = "disambiguating-description-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "disambiguatingDescription"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
#[cfg(any(
any(
feature = "hosting-organization-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "hostingOrganization"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#hosting_organization: Vec<HostingOrganizationProperty>,
#[cfg(any(
any(
feature = "identifier-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "identifier"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#identifier: Vec<IdentifierProperty>,
#[cfg(any(
any(feature = "image-property-schema", feature = "general-schema-section"),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "image"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#image: Vec<ImageProperty>,
#[cfg(any(
any(
feature = "main-entity-of-page-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "mainEntityOfPage"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
#[cfg(any(
any(feature = "member-property-schema", feature = "general-schema-section"),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "member"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#member: Vec<MemberProperty>,
#[cfg(any(
any(
feature = "members-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "members"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#members: Vec<MembersProperty>,
#[cfg(any(
any(
feature = "membership-number-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "membershipNumber"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#membership_number: Vec<MembershipNumberProperty>,
#[cfg(any(
any(
feature = "membership-points-earned-property-schema",
feature = "pending-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "membershipPointsEarned"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#membership_points_earned: Vec<MembershipPointsEarnedProperty>,
#[cfg(any(
any(feature = "name-property-schema", feature = "general-schema-section"),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "name"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#name: Vec<NameProperty>,
#[cfg(any(
any(
feature = "potential-action-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "potentialAction"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#potential_action: Vec<PotentialActionProperty>,
#[cfg(any(
any(
feature = "program-name-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "programName"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#program_name: Vec<ProgramNameProperty>,
#[cfg(any(
any(
feature = "same-as-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "sameAs"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#same_as: Vec<SameAsProperty>,
#[cfg(any(
any(
feature = "subject-of-property-schema",
feature = "general-schema-section"
),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "subjectOf"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#subject_of: Vec<SubjectOfProperty>,
#[cfg(any(
any(feature = "url-property-schema", feature = "general-schema-section"),
doc
))]
#[cfg_attr(feature = "serde", serde(rename = "url"))]
#[cfg_attr(feature = "serde", serde(default))]
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "Vec::is_empty"))]
pub r#url: Vec<UrlProperty>,
}