1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub struct EducationalOrganization {
6 pub r#alumni: Vec<AlumniProperty>,
8 pub r#opening_hours: Vec<OpeningHoursProperty>,
10 pub r#actionable_feedback_policy: Vec<ActionableFeedbackPolicyProperty>,
12 pub r#address: Vec<AddressProperty>,
14 pub r#agent_interaction_statistic: Vec<AgentInteractionStatisticProperty>,
16 pub r#aggregate_rating: Vec<AggregateRatingProperty>,
18 pub r#area_served: Vec<AreaServedProperty>,
20 pub r#award: Vec<AwardProperty>,
22 #[deprecated = "This schema is superseded by <https://schema.org/award>."]
24 pub r#awards: Vec<AwardsProperty>,
25 pub r#brand: Vec<BrandProperty>,
27 pub r#contact_point: Vec<ContactPointProperty>,
29 #[deprecated = "This schema is superseded by <https://schema.org/contactPoint>."]
31 pub r#contact_points: Vec<ContactPointsProperty>,
32 pub r#corrections_policy: Vec<CorrectionsPolicyProperty>,
34 pub r#department: Vec<DepartmentProperty>,
36 pub r#dissolution_date: Vec<DissolutionDateProperty>,
38 pub r#diversity_policy: Vec<DiversityPolicyProperty>,
40 pub r#diversity_staffing_report: Vec<DiversityStaffingReportProperty>,
42 pub r#duns: Vec<DunsProperty>,
44 pub r#email: Vec<EmailProperty>,
46 pub r#employee: Vec<EmployeeProperty>,
48 #[deprecated = "This schema is superseded by <https://schema.org/employee>."]
50 pub r#employees: Vec<EmployeesProperty>,
51 pub r#ethics_policy: Vec<EthicsPolicyProperty>,
53 pub r#event: Vec<EventProperty>,
55 #[deprecated = "This schema is superseded by <https://schema.org/event>."]
57 pub r#events: Vec<EventsProperty>,
58 pub r#fax_number: Vec<FaxNumberProperty>,
60 pub r#founder: Vec<FounderProperty>,
62 #[deprecated = "This schema is superseded by <https://schema.org/founder>."]
64 pub r#founders: Vec<FoundersProperty>,
65 pub r#founding_date: Vec<FoundingDateProperty>,
67 pub r#founding_location: Vec<FoundingLocationProperty>,
69 pub r#funder: Vec<FunderProperty>,
71 pub r#funding: Vec<FundingProperty>,
73 pub r#global_location_number: Vec<GlobalLocationNumberProperty>,
75 pub r#has_credential: Vec<HasCredentialProperty>,
77 pub r#has_merchant_return_policy: Vec<HasMerchantReturnPolicyProperty>,
79 pub r#has_offer_catalog: Vec<HasOfferCatalogProperty>,
81 pub r#has_pos: Vec<HasPosProperty>,
83 #[deprecated = "This schema is archived, see <https://schema.org/docs/attic.home.html>. This schema is superseded by <https://schema.org/hasMerchantReturnPolicy>."]
85 pub r#has_product_return_policy: Vec<HasProductReturnPolicyProperty>,
86 pub r#interaction_statistic: Vec<InteractionStatisticProperty>,
88 pub r#isic_v_4: Vec<IsicV4Property>,
90 pub r#iso_6523_code: Vec<Iso6523CodeProperty>,
92 pub r#keywords: Vec<KeywordsProperty>,
94 pub r#knows_about: Vec<KnowsAboutProperty>,
96 pub r#knows_language: Vec<KnowsLanguageProperty>,
98 pub r#legal_name: Vec<LegalNameProperty>,
100 pub r#lei_code: Vec<LeiCodeProperty>,
102 pub r#location: Vec<LocationProperty>,
104 pub r#logo: Vec<LogoProperty>,
106 pub r#makes_offer: Vec<MakesOfferProperty>,
108 pub r#member: Vec<MemberProperty>,
110 pub r#member_of: Vec<MemberOfProperty>,
112 #[deprecated = "This schema is superseded by <https://schema.org/member>."]
114 pub r#members: Vec<MembersProperty>,
115 pub r#naics: Vec<NaicsProperty>,
117 pub r#nonprofit_status: Vec<NonprofitStatusProperty>,
119 pub r#number_of_employees: Vec<NumberOfEmployeesProperty>,
121 pub r#ownership_funding_info: Vec<OwnershipFundingInfoProperty>,
123 pub r#owns: Vec<OwnsProperty>,
125 pub r#parent_organization: Vec<ParentOrganizationProperty>,
127 pub r#publishing_principles: Vec<PublishingPrinciplesProperty>,
129 pub r#review: Vec<ReviewProperty>,
131 #[deprecated = "This schema is superseded by <https://schema.org/review>."]
133 pub r#reviews: Vec<ReviewsProperty>,
134 pub r#seeks: Vec<SeeksProperty>,
136 #[deprecated = "This schema is superseded by <https://schema.org/areaServed>."]
138 pub r#service_area: Vec<ServiceAreaProperty>,
139 pub r#slogan: Vec<SloganProperty>,
141 pub r#sponsor: Vec<SponsorProperty>,
143 pub r#sub_organization: Vec<SubOrganizationProperty>,
145 pub r#tax_id: Vec<TaxIdProperty>,
147 pub r#telephone: Vec<TelephoneProperty>,
149 pub r#unnamed_sources_policy: Vec<UnnamedSourcesPolicyProperty>,
151 pub r#vat_id: Vec<VatIdProperty>,
153 pub r#additional_property: Vec<AdditionalPropertyProperty>,
155 pub r#amenity_feature: Vec<AmenityFeatureProperty>,
157 pub r#branch_code: Vec<BranchCodeProperty>,
159 #[deprecated = "This schema is superseded by <https://schema.org/containedInPlace>."]
161 pub r#contained_in: Vec<ContainedInProperty>,
162 pub r#contained_in_place: Vec<ContainedInPlaceProperty>,
164 pub r#contains_place: Vec<ContainsPlaceProperty>,
166 pub r#geo: Vec<GeoProperty>,
168 pub r#geo_contains: Vec<GeoContainsProperty>,
170 pub r#geo_covered_by: Vec<GeoCoveredByProperty>,
172 pub r#geo_covers: Vec<GeoCoversProperty>,
174 pub r#geo_crosses: Vec<GeoCrossesProperty>,
176 pub r#geo_disjoint: Vec<GeoDisjointProperty>,
178 pub r#geo_equals: Vec<GeoEqualsProperty>,
180 pub r#geo_intersects: Vec<GeoIntersectsProperty>,
182 pub r#geo_overlaps: Vec<GeoOverlapsProperty>,
184 pub r#geo_touches: Vec<GeoTouchesProperty>,
186 pub r#geo_within: Vec<GeoWithinProperty>,
188 pub r#has_drive_through_service: Vec<HasDriveThroughServiceProperty>,
190 pub r#has_map: Vec<HasMapProperty>,
192 pub r#is_accessible_for_free: Vec<IsAccessibleForFreeProperty>,
194 pub r#latitude: Vec<LatitudeProperty>,
196 pub r#longitude: Vec<LongitudeProperty>,
198 #[deprecated = "This schema is superseded by <https://schema.org/hasMap>."]
200 pub r#map: Vec<MapProperty>,
201 #[deprecated = "This schema is superseded by <https://schema.org/hasMap>."]
203 pub r#maps: Vec<MapsProperty>,
204 pub r#maximum_attendee_capacity: Vec<MaximumAttendeeCapacityProperty>,
206 pub r#opening_hours_specification: Vec<OpeningHoursSpecificationProperty>,
208 pub r#photo: Vec<PhotoProperty>,
210 #[deprecated = "This schema is superseded by <https://schema.org/photo>."]
212 pub r#photos: Vec<PhotosProperty>,
213 pub r#public_access: Vec<PublicAccessProperty>,
215 pub r#smoking_allowed: Vec<SmokingAllowedProperty>,
217 pub r#special_opening_hours_specification: Vec<SpecialOpeningHoursSpecificationProperty>,
219 pub r#tour_booking_page: Vec<TourBookingPageProperty>,
221 pub r#additional_type: Vec<AdditionalTypeProperty>,
223 pub r#alternate_name: Vec<AlternateNameProperty>,
225 pub r#description: Vec<DescriptionProperty>,
227 pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
229 pub r#identifier: Vec<IdentifierProperty>,
231 pub r#image: Vec<ImageProperty>,
233 pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
235 pub r#name: Vec<NameProperty>,
237 pub r#potential_action: Vec<PotentialActionProperty>,
239 pub r#same_as: Vec<SameAsProperty>,
241 pub r#subject_of: Vec<SubjectOfProperty>,
243 pub r#url: Vec<UrlProperty>,
245}
246pub trait EducationalOrganizationTrait {
248 fn get_alumni(&self) -> &[AlumniProperty];
250 fn take_alumni(&mut self) -> Vec<AlumniProperty>;
252}
253impl EducationalOrganizationTrait for EducationalOrganization {
254 fn get_alumni(&self) -> &[AlumniProperty] {
255 self.r#alumni.as_slice()
256 }
257 fn take_alumni(&mut self) -> Vec<AlumniProperty> {
258 std::mem::take(&mut self.r#alumni)
259 }
260}
261impl CivicStructureTrait for EducationalOrganization {
262 fn get_opening_hours(&self) -> &[OpeningHoursProperty] {
263 self.r#opening_hours.as_slice()
264 }
265 fn take_opening_hours(&mut self) -> Vec<OpeningHoursProperty> {
266 std::mem::take(&mut self.r#opening_hours)
267 }
268}
269impl OrganizationTrait for EducationalOrganization {
270 fn get_actionable_feedback_policy(&self) -> &[ActionableFeedbackPolicyProperty] {
271 self.r#actionable_feedback_policy.as_slice()
272 }
273 fn take_actionable_feedback_policy(&mut self) -> Vec<ActionableFeedbackPolicyProperty> {
274 std::mem::take(&mut self.r#actionable_feedback_policy)
275 }
276 fn get_address(&self) -> &[AddressProperty] {
277 self.r#address.as_slice()
278 }
279 fn take_address(&mut self) -> Vec<AddressProperty> {
280 std::mem::take(&mut self.r#address)
281 }
282 fn get_agent_interaction_statistic(&self) -> &[AgentInteractionStatisticProperty] {
283 self.r#agent_interaction_statistic.as_slice()
284 }
285 fn take_agent_interaction_statistic(&mut self) -> Vec<AgentInteractionStatisticProperty> {
286 std::mem::take(&mut self.r#agent_interaction_statistic)
287 }
288 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
289 self.r#aggregate_rating.as_slice()
290 }
291 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
292 std::mem::take(&mut self.r#aggregate_rating)
293 }
294 fn get_alumni(&self) -> &[AlumniProperty] {
295 self.r#alumni.as_slice()
296 }
297 fn take_alumni(&mut self) -> Vec<AlumniProperty> {
298 std::mem::take(&mut self.r#alumni)
299 }
300 fn get_area_served(&self) -> &[AreaServedProperty] {
301 self.r#area_served.as_slice()
302 }
303 fn take_area_served(&mut self) -> Vec<AreaServedProperty> {
304 std::mem::take(&mut self.r#area_served)
305 }
306 fn get_award(&self) -> &[AwardProperty] {
307 self.r#award.as_slice()
308 }
309 fn take_award(&mut self) -> Vec<AwardProperty> {
310 std::mem::take(&mut self.r#award)
311 }
312 fn get_awards(&self) -> &[AwardsProperty] {
313 self.r#awards.as_slice()
314 }
315 fn take_awards(&mut self) -> Vec<AwardsProperty> {
316 std::mem::take(&mut self.r#awards)
317 }
318 fn get_brand(&self) -> &[BrandProperty] {
319 self.r#brand.as_slice()
320 }
321 fn take_brand(&mut self) -> Vec<BrandProperty> {
322 std::mem::take(&mut self.r#brand)
323 }
324 fn get_contact_point(&self) -> &[ContactPointProperty] {
325 self.r#contact_point.as_slice()
326 }
327 fn take_contact_point(&mut self) -> Vec<ContactPointProperty> {
328 std::mem::take(&mut self.r#contact_point)
329 }
330 fn get_contact_points(&self) -> &[ContactPointsProperty] {
331 self.r#contact_points.as_slice()
332 }
333 fn take_contact_points(&mut self) -> Vec<ContactPointsProperty> {
334 std::mem::take(&mut self.r#contact_points)
335 }
336 fn get_corrections_policy(&self) -> &[CorrectionsPolicyProperty] {
337 self.r#corrections_policy.as_slice()
338 }
339 fn take_corrections_policy(&mut self) -> Vec<CorrectionsPolicyProperty> {
340 std::mem::take(&mut self.r#corrections_policy)
341 }
342 fn get_department(&self) -> &[DepartmentProperty] {
343 self.r#department.as_slice()
344 }
345 fn take_department(&mut self) -> Vec<DepartmentProperty> {
346 std::mem::take(&mut self.r#department)
347 }
348 fn get_dissolution_date(&self) -> &[DissolutionDateProperty] {
349 self.r#dissolution_date.as_slice()
350 }
351 fn take_dissolution_date(&mut self) -> Vec<DissolutionDateProperty> {
352 std::mem::take(&mut self.r#dissolution_date)
353 }
354 fn get_diversity_policy(&self) -> &[DiversityPolicyProperty] {
355 self.r#diversity_policy.as_slice()
356 }
357 fn take_diversity_policy(&mut self) -> Vec<DiversityPolicyProperty> {
358 std::mem::take(&mut self.r#diversity_policy)
359 }
360 fn get_diversity_staffing_report(&self) -> &[DiversityStaffingReportProperty] {
361 self.r#diversity_staffing_report.as_slice()
362 }
363 fn take_diversity_staffing_report(&mut self) -> Vec<DiversityStaffingReportProperty> {
364 std::mem::take(&mut self.r#diversity_staffing_report)
365 }
366 fn get_duns(&self) -> &[DunsProperty] {
367 self.r#duns.as_slice()
368 }
369 fn take_duns(&mut self) -> Vec<DunsProperty> {
370 std::mem::take(&mut self.r#duns)
371 }
372 fn get_email(&self) -> &[EmailProperty] {
373 self.r#email.as_slice()
374 }
375 fn take_email(&mut self) -> Vec<EmailProperty> {
376 std::mem::take(&mut self.r#email)
377 }
378 fn get_employee(&self) -> &[EmployeeProperty] {
379 self.r#employee.as_slice()
380 }
381 fn take_employee(&mut self) -> Vec<EmployeeProperty> {
382 std::mem::take(&mut self.r#employee)
383 }
384 fn get_employees(&self) -> &[EmployeesProperty] {
385 self.r#employees.as_slice()
386 }
387 fn take_employees(&mut self) -> Vec<EmployeesProperty> {
388 std::mem::take(&mut self.r#employees)
389 }
390 fn get_ethics_policy(&self) -> &[EthicsPolicyProperty] {
391 self.r#ethics_policy.as_slice()
392 }
393 fn take_ethics_policy(&mut self) -> Vec<EthicsPolicyProperty> {
394 std::mem::take(&mut self.r#ethics_policy)
395 }
396 fn get_event(&self) -> &[EventProperty] {
397 self.r#event.as_slice()
398 }
399 fn take_event(&mut self) -> Vec<EventProperty> {
400 std::mem::take(&mut self.r#event)
401 }
402 fn get_events(&self) -> &[EventsProperty] {
403 self.r#events.as_slice()
404 }
405 fn take_events(&mut self) -> Vec<EventsProperty> {
406 std::mem::take(&mut self.r#events)
407 }
408 fn get_fax_number(&self) -> &[FaxNumberProperty] {
409 self.r#fax_number.as_slice()
410 }
411 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty> {
412 std::mem::take(&mut self.r#fax_number)
413 }
414 fn get_founder(&self) -> &[FounderProperty] {
415 self.r#founder.as_slice()
416 }
417 fn take_founder(&mut self) -> Vec<FounderProperty> {
418 std::mem::take(&mut self.r#founder)
419 }
420 fn get_founders(&self) -> &[FoundersProperty] {
421 self.r#founders.as_slice()
422 }
423 fn take_founders(&mut self) -> Vec<FoundersProperty> {
424 std::mem::take(&mut self.r#founders)
425 }
426 fn get_founding_date(&self) -> &[FoundingDateProperty] {
427 self.r#founding_date.as_slice()
428 }
429 fn take_founding_date(&mut self) -> Vec<FoundingDateProperty> {
430 std::mem::take(&mut self.r#founding_date)
431 }
432 fn get_founding_location(&self) -> &[FoundingLocationProperty] {
433 self.r#founding_location.as_slice()
434 }
435 fn take_founding_location(&mut self) -> Vec<FoundingLocationProperty> {
436 std::mem::take(&mut self.r#founding_location)
437 }
438 fn get_funder(&self) -> &[FunderProperty] {
439 self.r#funder.as_slice()
440 }
441 fn take_funder(&mut self) -> Vec<FunderProperty> {
442 std::mem::take(&mut self.r#funder)
443 }
444 fn get_funding(&self) -> &[FundingProperty] {
445 self.r#funding.as_slice()
446 }
447 fn take_funding(&mut self) -> Vec<FundingProperty> {
448 std::mem::take(&mut self.r#funding)
449 }
450 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty] {
451 self.r#global_location_number.as_slice()
452 }
453 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty> {
454 std::mem::take(&mut self.r#global_location_number)
455 }
456 fn get_has_credential(&self) -> &[HasCredentialProperty] {
457 self.r#has_credential.as_slice()
458 }
459 fn take_has_credential(&mut self) -> Vec<HasCredentialProperty> {
460 std::mem::take(&mut self.r#has_credential)
461 }
462 fn get_has_merchant_return_policy(&self) -> &[HasMerchantReturnPolicyProperty] {
463 self.r#has_merchant_return_policy.as_slice()
464 }
465 fn take_has_merchant_return_policy(&mut self) -> Vec<HasMerchantReturnPolicyProperty> {
466 std::mem::take(&mut self.r#has_merchant_return_policy)
467 }
468 fn get_has_offer_catalog(&self) -> &[HasOfferCatalogProperty] {
469 self.r#has_offer_catalog.as_slice()
470 }
471 fn take_has_offer_catalog(&mut self) -> Vec<HasOfferCatalogProperty> {
472 std::mem::take(&mut self.r#has_offer_catalog)
473 }
474 fn get_has_pos(&self) -> &[HasPosProperty] {
475 self.r#has_pos.as_slice()
476 }
477 fn take_has_pos(&mut self) -> Vec<HasPosProperty> {
478 std::mem::take(&mut self.r#has_pos)
479 }
480 fn get_has_product_return_policy(&self) -> &[HasProductReturnPolicyProperty] {
481 self.r#has_product_return_policy.as_slice()
482 }
483 fn take_has_product_return_policy(&mut self) -> Vec<HasProductReturnPolicyProperty> {
484 std::mem::take(&mut self.r#has_product_return_policy)
485 }
486 fn get_interaction_statistic(&self) -> &[InteractionStatisticProperty] {
487 self.r#interaction_statistic.as_slice()
488 }
489 fn take_interaction_statistic(&mut self) -> Vec<InteractionStatisticProperty> {
490 std::mem::take(&mut self.r#interaction_statistic)
491 }
492 fn get_isic_v_4(&self) -> &[IsicV4Property] {
493 self.r#isic_v_4.as_slice()
494 }
495 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property> {
496 std::mem::take(&mut self.r#isic_v_4)
497 }
498 fn get_iso_6523_code(&self) -> &[Iso6523CodeProperty] {
499 self.r#iso_6523_code.as_slice()
500 }
501 fn take_iso_6523_code(&mut self) -> Vec<Iso6523CodeProperty> {
502 std::mem::take(&mut self.r#iso_6523_code)
503 }
504 fn get_keywords(&self) -> &[KeywordsProperty] {
505 self.r#keywords.as_slice()
506 }
507 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
508 std::mem::take(&mut self.r#keywords)
509 }
510 fn get_knows_about(&self) -> &[KnowsAboutProperty] {
511 self.r#knows_about.as_slice()
512 }
513 fn take_knows_about(&mut self) -> Vec<KnowsAboutProperty> {
514 std::mem::take(&mut self.r#knows_about)
515 }
516 fn get_knows_language(&self) -> &[KnowsLanguageProperty] {
517 self.r#knows_language.as_slice()
518 }
519 fn take_knows_language(&mut self) -> Vec<KnowsLanguageProperty> {
520 std::mem::take(&mut self.r#knows_language)
521 }
522 fn get_legal_name(&self) -> &[LegalNameProperty] {
523 self.r#legal_name.as_slice()
524 }
525 fn take_legal_name(&mut self) -> Vec<LegalNameProperty> {
526 std::mem::take(&mut self.r#legal_name)
527 }
528 fn get_lei_code(&self) -> &[LeiCodeProperty] {
529 self.r#lei_code.as_slice()
530 }
531 fn take_lei_code(&mut self) -> Vec<LeiCodeProperty> {
532 std::mem::take(&mut self.r#lei_code)
533 }
534 fn get_location(&self) -> &[LocationProperty] {
535 self.r#location.as_slice()
536 }
537 fn take_location(&mut self) -> Vec<LocationProperty> {
538 std::mem::take(&mut self.r#location)
539 }
540 fn get_logo(&self) -> &[LogoProperty] {
541 self.r#logo.as_slice()
542 }
543 fn take_logo(&mut self) -> Vec<LogoProperty> {
544 std::mem::take(&mut self.r#logo)
545 }
546 fn get_makes_offer(&self) -> &[MakesOfferProperty] {
547 self.r#makes_offer.as_slice()
548 }
549 fn take_makes_offer(&mut self) -> Vec<MakesOfferProperty> {
550 std::mem::take(&mut self.r#makes_offer)
551 }
552 fn get_member(&self) -> &[MemberProperty] {
553 self.r#member.as_slice()
554 }
555 fn take_member(&mut self) -> Vec<MemberProperty> {
556 std::mem::take(&mut self.r#member)
557 }
558 fn get_member_of(&self) -> &[MemberOfProperty] {
559 self.r#member_of.as_slice()
560 }
561 fn take_member_of(&mut self) -> Vec<MemberOfProperty> {
562 std::mem::take(&mut self.r#member_of)
563 }
564 fn get_members(&self) -> &[MembersProperty] {
565 self.r#members.as_slice()
566 }
567 fn take_members(&mut self) -> Vec<MembersProperty> {
568 std::mem::take(&mut self.r#members)
569 }
570 fn get_naics(&self) -> &[NaicsProperty] {
571 self.r#naics.as_slice()
572 }
573 fn take_naics(&mut self) -> Vec<NaicsProperty> {
574 std::mem::take(&mut self.r#naics)
575 }
576 fn get_nonprofit_status(&self) -> &[NonprofitStatusProperty] {
577 self.r#nonprofit_status.as_slice()
578 }
579 fn take_nonprofit_status(&mut self) -> Vec<NonprofitStatusProperty> {
580 std::mem::take(&mut self.r#nonprofit_status)
581 }
582 fn get_number_of_employees(&self) -> &[NumberOfEmployeesProperty] {
583 self.r#number_of_employees.as_slice()
584 }
585 fn take_number_of_employees(&mut self) -> Vec<NumberOfEmployeesProperty> {
586 std::mem::take(&mut self.r#number_of_employees)
587 }
588 fn get_ownership_funding_info(&self) -> &[OwnershipFundingInfoProperty] {
589 self.r#ownership_funding_info.as_slice()
590 }
591 fn take_ownership_funding_info(&mut self) -> Vec<OwnershipFundingInfoProperty> {
592 std::mem::take(&mut self.r#ownership_funding_info)
593 }
594 fn get_owns(&self) -> &[OwnsProperty] {
595 self.r#owns.as_slice()
596 }
597 fn take_owns(&mut self) -> Vec<OwnsProperty> {
598 std::mem::take(&mut self.r#owns)
599 }
600 fn get_parent_organization(&self) -> &[ParentOrganizationProperty] {
601 self.r#parent_organization.as_slice()
602 }
603 fn take_parent_organization(&mut self) -> Vec<ParentOrganizationProperty> {
604 std::mem::take(&mut self.r#parent_organization)
605 }
606 fn get_publishing_principles(&self) -> &[PublishingPrinciplesProperty] {
607 self.r#publishing_principles.as_slice()
608 }
609 fn take_publishing_principles(&mut self) -> Vec<PublishingPrinciplesProperty> {
610 std::mem::take(&mut self.r#publishing_principles)
611 }
612 fn get_review(&self) -> &[ReviewProperty] {
613 self.r#review.as_slice()
614 }
615 fn take_review(&mut self) -> Vec<ReviewProperty> {
616 std::mem::take(&mut self.r#review)
617 }
618 fn get_reviews(&self) -> &[ReviewsProperty] {
619 self.r#reviews.as_slice()
620 }
621 fn take_reviews(&mut self) -> Vec<ReviewsProperty> {
622 std::mem::take(&mut self.r#reviews)
623 }
624 fn get_seeks(&self) -> &[SeeksProperty] {
625 self.r#seeks.as_slice()
626 }
627 fn take_seeks(&mut self) -> Vec<SeeksProperty> {
628 std::mem::take(&mut self.r#seeks)
629 }
630 fn get_service_area(&self) -> &[ServiceAreaProperty] {
631 self.r#service_area.as_slice()
632 }
633 fn take_service_area(&mut self) -> Vec<ServiceAreaProperty> {
634 std::mem::take(&mut self.r#service_area)
635 }
636 fn get_slogan(&self) -> &[SloganProperty] {
637 self.r#slogan.as_slice()
638 }
639 fn take_slogan(&mut self) -> Vec<SloganProperty> {
640 std::mem::take(&mut self.r#slogan)
641 }
642 fn get_sponsor(&self) -> &[SponsorProperty] {
643 self.r#sponsor.as_slice()
644 }
645 fn take_sponsor(&mut self) -> Vec<SponsorProperty> {
646 std::mem::take(&mut self.r#sponsor)
647 }
648 fn get_sub_organization(&self) -> &[SubOrganizationProperty] {
649 self.r#sub_organization.as_slice()
650 }
651 fn take_sub_organization(&mut self) -> Vec<SubOrganizationProperty> {
652 std::mem::take(&mut self.r#sub_organization)
653 }
654 fn get_tax_id(&self) -> &[TaxIdProperty] {
655 self.r#tax_id.as_slice()
656 }
657 fn take_tax_id(&mut self) -> Vec<TaxIdProperty> {
658 std::mem::take(&mut self.r#tax_id)
659 }
660 fn get_telephone(&self) -> &[TelephoneProperty] {
661 self.r#telephone.as_slice()
662 }
663 fn take_telephone(&mut self) -> Vec<TelephoneProperty> {
664 std::mem::take(&mut self.r#telephone)
665 }
666 fn get_unnamed_sources_policy(&self) -> &[UnnamedSourcesPolicyProperty] {
667 self.r#unnamed_sources_policy.as_slice()
668 }
669 fn take_unnamed_sources_policy(&mut self) -> Vec<UnnamedSourcesPolicyProperty> {
670 std::mem::take(&mut self.r#unnamed_sources_policy)
671 }
672 fn get_vat_id(&self) -> &[VatIdProperty] {
673 self.r#vat_id.as_slice()
674 }
675 fn take_vat_id(&mut self) -> Vec<VatIdProperty> {
676 std::mem::take(&mut self.r#vat_id)
677 }
678}
679impl PlaceTrait for EducationalOrganization {
680 fn get_additional_property(&self) -> &[AdditionalPropertyProperty] {
681 self.r#additional_property.as_slice()
682 }
683 fn take_additional_property(&mut self) -> Vec<AdditionalPropertyProperty> {
684 std::mem::take(&mut self.r#additional_property)
685 }
686 fn get_address(&self) -> &[AddressProperty] {
687 self.r#address.as_slice()
688 }
689 fn take_address(&mut self) -> Vec<AddressProperty> {
690 std::mem::take(&mut self.r#address)
691 }
692 fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
693 self.r#aggregate_rating.as_slice()
694 }
695 fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
696 std::mem::take(&mut self.r#aggregate_rating)
697 }
698 fn get_amenity_feature(&self) -> &[AmenityFeatureProperty] {
699 self.r#amenity_feature.as_slice()
700 }
701 fn take_amenity_feature(&mut self) -> Vec<AmenityFeatureProperty> {
702 std::mem::take(&mut self.r#amenity_feature)
703 }
704 fn get_branch_code(&self) -> &[BranchCodeProperty] {
705 self.r#branch_code.as_slice()
706 }
707 fn take_branch_code(&mut self) -> Vec<BranchCodeProperty> {
708 std::mem::take(&mut self.r#branch_code)
709 }
710 fn get_contained_in(&self) -> &[ContainedInProperty] {
711 self.r#contained_in.as_slice()
712 }
713 fn take_contained_in(&mut self) -> Vec<ContainedInProperty> {
714 std::mem::take(&mut self.r#contained_in)
715 }
716 fn get_contained_in_place(&self) -> &[ContainedInPlaceProperty] {
717 self.r#contained_in_place.as_slice()
718 }
719 fn take_contained_in_place(&mut self) -> Vec<ContainedInPlaceProperty> {
720 std::mem::take(&mut self.r#contained_in_place)
721 }
722 fn get_contains_place(&self) -> &[ContainsPlaceProperty] {
723 self.r#contains_place.as_slice()
724 }
725 fn take_contains_place(&mut self) -> Vec<ContainsPlaceProperty> {
726 std::mem::take(&mut self.r#contains_place)
727 }
728 fn get_event(&self) -> &[EventProperty] {
729 self.r#event.as_slice()
730 }
731 fn take_event(&mut self) -> Vec<EventProperty> {
732 std::mem::take(&mut self.r#event)
733 }
734 fn get_events(&self) -> &[EventsProperty] {
735 self.r#events.as_slice()
736 }
737 fn take_events(&mut self) -> Vec<EventsProperty> {
738 std::mem::take(&mut self.r#events)
739 }
740 fn get_fax_number(&self) -> &[FaxNumberProperty] {
741 self.r#fax_number.as_slice()
742 }
743 fn take_fax_number(&mut self) -> Vec<FaxNumberProperty> {
744 std::mem::take(&mut self.r#fax_number)
745 }
746 fn get_geo(&self) -> &[GeoProperty] {
747 self.r#geo.as_slice()
748 }
749 fn take_geo(&mut self) -> Vec<GeoProperty> {
750 std::mem::take(&mut self.r#geo)
751 }
752 fn get_geo_contains(&self) -> &[GeoContainsProperty] {
753 self.r#geo_contains.as_slice()
754 }
755 fn take_geo_contains(&mut self) -> Vec<GeoContainsProperty> {
756 std::mem::take(&mut self.r#geo_contains)
757 }
758 fn get_geo_covered_by(&self) -> &[GeoCoveredByProperty] {
759 self.r#geo_covered_by.as_slice()
760 }
761 fn take_geo_covered_by(&mut self) -> Vec<GeoCoveredByProperty> {
762 std::mem::take(&mut self.r#geo_covered_by)
763 }
764 fn get_geo_covers(&self) -> &[GeoCoversProperty] {
765 self.r#geo_covers.as_slice()
766 }
767 fn take_geo_covers(&mut self) -> Vec<GeoCoversProperty> {
768 std::mem::take(&mut self.r#geo_covers)
769 }
770 fn get_geo_crosses(&self) -> &[GeoCrossesProperty] {
771 self.r#geo_crosses.as_slice()
772 }
773 fn take_geo_crosses(&mut self) -> Vec<GeoCrossesProperty> {
774 std::mem::take(&mut self.r#geo_crosses)
775 }
776 fn get_geo_disjoint(&self) -> &[GeoDisjointProperty] {
777 self.r#geo_disjoint.as_slice()
778 }
779 fn take_geo_disjoint(&mut self) -> Vec<GeoDisjointProperty> {
780 std::mem::take(&mut self.r#geo_disjoint)
781 }
782 fn get_geo_equals(&self) -> &[GeoEqualsProperty] {
783 self.r#geo_equals.as_slice()
784 }
785 fn take_geo_equals(&mut self) -> Vec<GeoEqualsProperty> {
786 std::mem::take(&mut self.r#geo_equals)
787 }
788 fn get_geo_intersects(&self) -> &[GeoIntersectsProperty] {
789 self.r#geo_intersects.as_slice()
790 }
791 fn take_geo_intersects(&mut self) -> Vec<GeoIntersectsProperty> {
792 std::mem::take(&mut self.r#geo_intersects)
793 }
794 fn get_geo_overlaps(&self) -> &[GeoOverlapsProperty] {
795 self.r#geo_overlaps.as_slice()
796 }
797 fn take_geo_overlaps(&mut self) -> Vec<GeoOverlapsProperty> {
798 std::mem::take(&mut self.r#geo_overlaps)
799 }
800 fn get_geo_touches(&self) -> &[GeoTouchesProperty] {
801 self.r#geo_touches.as_slice()
802 }
803 fn take_geo_touches(&mut self) -> Vec<GeoTouchesProperty> {
804 std::mem::take(&mut self.r#geo_touches)
805 }
806 fn get_geo_within(&self) -> &[GeoWithinProperty] {
807 self.r#geo_within.as_slice()
808 }
809 fn take_geo_within(&mut self) -> Vec<GeoWithinProperty> {
810 std::mem::take(&mut self.r#geo_within)
811 }
812 fn get_global_location_number(&self) -> &[GlobalLocationNumberProperty] {
813 self.r#global_location_number.as_slice()
814 }
815 fn take_global_location_number(&mut self) -> Vec<GlobalLocationNumberProperty> {
816 std::mem::take(&mut self.r#global_location_number)
817 }
818 fn get_has_drive_through_service(&self) -> &[HasDriveThroughServiceProperty] {
819 self.r#has_drive_through_service.as_slice()
820 }
821 fn take_has_drive_through_service(&mut self) -> Vec<HasDriveThroughServiceProperty> {
822 std::mem::take(&mut self.r#has_drive_through_service)
823 }
824 fn get_has_map(&self) -> &[HasMapProperty] {
825 self.r#has_map.as_slice()
826 }
827 fn take_has_map(&mut self) -> Vec<HasMapProperty> {
828 std::mem::take(&mut self.r#has_map)
829 }
830 fn get_is_accessible_for_free(&self) -> &[IsAccessibleForFreeProperty] {
831 self.r#is_accessible_for_free.as_slice()
832 }
833 fn take_is_accessible_for_free(&mut self) -> Vec<IsAccessibleForFreeProperty> {
834 std::mem::take(&mut self.r#is_accessible_for_free)
835 }
836 fn get_isic_v_4(&self) -> &[IsicV4Property] {
837 self.r#isic_v_4.as_slice()
838 }
839 fn take_isic_v_4(&mut self) -> Vec<IsicV4Property> {
840 std::mem::take(&mut self.r#isic_v_4)
841 }
842 fn get_keywords(&self) -> &[KeywordsProperty] {
843 self.r#keywords.as_slice()
844 }
845 fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
846 std::mem::take(&mut self.r#keywords)
847 }
848 fn get_latitude(&self) -> &[LatitudeProperty] {
849 self.r#latitude.as_slice()
850 }
851 fn take_latitude(&mut self) -> Vec<LatitudeProperty> {
852 std::mem::take(&mut self.r#latitude)
853 }
854 fn get_logo(&self) -> &[LogoProperty] {
855 self.r#logo.as_slice()
856 }
857 fn take_logo(&mut self) -> Vec<LogoProperty> {
858 std::mem::take(&mut self.r#logo)
859 }
860 fn get_longitude(&self) -> &[LongitudeProperty] {
861 self.r#longitude.as_slice()
862 }
863 fn take_longitude(&mut self) -> Vec<LongitudeProperty> {
864 std::mem::take(&mut self.r#longitude)
865 }
866 fn get_map(&self) -> &[MapProperty] {
867 self.r#map.as_slice()
868 }
869 fn take_map(&mut self) -> Vec<MapProperty> {
870 std::mem::take(&mut self.r#map)
871 }
872 fn get_maps(&self) -> &[MapsProperty] {
873 self.r#maps.as_slice()
874 }
875 fn take_maps(&mut self) -> Vec<MapsProperty> {
876 std::mem::take(&mut self.r#maps)
877 }
878 fn get_maximum_attendee_capacity(&self) -> &[MaximumAttendeeCapacityProperty] {
879 self.r#maximum_attendee_capacity.as_slice()
880 }
881 fn take_maximum_attendee_capacity(&mut self) -> Vec<MaximumAttendeeCapacityProperty> {
882 std::mem::take(&mut self.r#maximum_attendee_capacity)
883 }
884 fn get_opening_hours_specification(&self) -> &[OpeningHoursSpecificationProperty] {
885 self.r#opening_hours_specification.as_slice()
886 }
887 fn take_opening_hours_specification(&mut self) -> Vec<OpeningHoursSpecificationProperty> {
888 std::mem::take(&mut self.r#opening_hours_specification)
889 }
890 fn get_photo(&self) -> &[PhotoProperty] {
891 self.r#photo.as_slice()
892 }
893 fn take_photo(&mut self) -> Vec<PhotoProperty> {
894 std::mem::take(&mut self.r#photo)
895 }
896 fn get_photos(&self) -> &[PhotosProperty] {
897 self.r#photos.as_slice()
898 }
899 fn take_photos(&mut self) -> Vec<PhotosProperty> {
900 std::mem::take(&mut self.r#photos)
901 }
902 fn get_public_access(&self) -> &[PublicAccessProperty] {
903 self.r#public_access.as_slice()
904 }
905 fn take_public_access(&mut self) -> Vec<PublicAccessProperty> {
906 std::mem::take(&mut self.r#public_access)
907 }
908 fn get_review(&self) -> &[ReviewProperty] {
909 self.r#review.as_slice()
910 }
911 fn take_review(&mut self) -> Vec<ReviewProperty> {
912 std::mem::take(&mut self.r#review)
913 }
914 fn get_reviews(&self) -> &[ReviewsProperty] {
915 self.r#reviews.as_slice()
916 }
917 fn take_reviews(&mut self) -> Vec<ReviewsProperty> {
918 std::mem::take(&mut self.r#reviews)
919 }
920 fn get_slogan(&self) -> &[SloganProperty] {
921 self.r#slogan.as_slice()
922 }
923 fn take_slogan(&mut self) -> Vec<SloganProperty> {
924 std::mem::take(&mut self.r#slogan)
925 }
926 fn get_smoking_allowed(&self) -> &[SmokingAllowedProperty] {
927 self.r#smoking_allowed.as_slice()
928 }
929 fn take_smoking_allowed(&mut self) -> Vec<SmokingAllowedProperty> {
930 std::mem::take(&mut self.r#smoking_allowed)
931 }
932 fn get_special_opening_hours_specification(
933 &self,
934 ) -> &[SpecialOpeningHoursSpecificationProperty] {
935 self.r#special_opening_hours_specification.as_slice()
936 }
937 fn take_special_opening_hours_specification(
938 &mut self,
939 ) -> Vec<SpecialOpeningHoursSpecificationProperty> {
940 std::mem::take(&mut self.r#special_opening_hours_specification)
941 }
942 fn get_telephone(&self) -> &[TelephoneProperty] {
943 self.r#telephone.as_slice()
944 }
945 fn take_telephone(&mut self) -> Vec<TelephoneProperty> {
946 std::mem::take(&mut self.r#telephone)
947 }
948 fn get_tour_booking_page(&self) -> &[TourBookingPageProperty] {
949 self.r#tour_booking_page.as_slice()
950 }
951 fn take_tour_booking_page(&mut self) -> Vec<TourBookingPageProperty> {
952 std::mem::take(&mut self.r#tour_booking_page)
953 }
954}
955impl ThingTrait for EducationalOrganization {
956 fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
957 self.r#additional_type.as_slice()
958 }
959 fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
960 std::mem::take(&mut self.r#additional_type)
961 }
962 fn get_alternate_name(&self) -> &[AlternateNameProperty] {
963 self.r#alternate_name.as_slice()
964 }
965 fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
966 std::mem::take(&mut self.r#alternate_name)
967 }
968 fn get_description(&self) -> &[DescriptionProperty] {
969 self.r#description.as_slice()
970 }
971 fn take_description(&mut self) -> Vec<DescriptionProperty> {
972 std::mem::take(&mut self.r#description)
973 }
974 fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
975 self.r#disambiguating_description.as_slice()
976 }
977 fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
978 std::mem::take(&mut self.r#disambiguating_description)
979 }
980 fn get_identifier(&self) -> &[IdentifierProperty] {
981 self.r#identifier.as_slice()
982 }
983 fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
984 std::mem::take(&mut self.r#identifier)
985 }
986 fn get_image(&self) -> &[ImageProperty] {
987 self.r#image.as_slice()
988 }
989 fn take_image(&mut self) -> Vec<ImageProperty> {
990 std::mem::take(&mut self.r#image)
991 }
992 fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
993 self.r#main_entity_of_page.as_slice()
994 }
995 fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
996 std::mem::take(&mut self.r#main_entity_of_page)
997 }
998 fn get_name(&self) -> &[NameProperty] {
999 self.r#name.as_slice()
1000 }
1001 fn take_name(&mut self) -> Vec<NameProperty> {
1002 std::mem::take(&mut self.r#name)
1003 }
1004 fn get_potential_action(&self) -> &[PotentialActionProperty] {
1005 self.r#potential_action.as_slice()
1006 }
1007 fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
1008 std::mem::take(&mut self.r#potential_action)
1009 }
1010 fn get_same_as(&self) -> &[SameAsProperty] {
1011 self.r#same_as.as_slice()
1012 }
1013 fn take_same_as(&mut self) -> Vec<SameAsProperty> {
1014 std::mem::take(&mut self.r#same_as)
1015 }
1016 fn get_subject_of(&self) -> &[SubjectOfProperty] {
1017 self.r#subject_of.as_slice()
1018 }
1019 fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
1020 std::mem::take(&mut self.r#subject_of)
1021 }
1022 fn get_url(&self) -> &[UrlProperty] {
1023 self.r#url.as_slice()
1024 }
1025 fn take_url(&mut self) -> Vec<UrlProperty> {
1026 std::mem::take(&mut self.r#url)
1027 }
1028}
1029#[cfg(feature = "serde")]
1030mod serde {
1031 use std::{fmt, fmt::Formatter};
1032
1033 use ::serde::{
1034 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
1035 };
1036
1037 use super::*;
1038 impl Serialize for EducationalOrganization {
1039 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1040 where
1041 S: Serializer,
1042 {
1043 let len: usize = [
1044 !Vec::is_empty(&self.r#alumni) as usize,
1045 !Vec::is_empty(&self.r#opening_hours) as usize,
1046 !Vec::is_empty(&self.r#actionable_feedback_policy) as usize,
1047 !Vec::is_empty(&self.r#address) as usize,
1048 !Vec::is_empty(&self.r#agent_interaction_statistic) as usize,
1049 !Vec::is_empty(&self.r#aggregate_rating) as usize,
1050 !Vec::is_empty(&self.r#area_served) as usize,
1051 !Vec::is_empty(&self.r#award) as usize,
1052 !Vec::is_empty(&self.r#awards) as usize,
1053 !Vec::is_empty(&self.r#brand) as usize,
1054 !Vec::is_empty(&self.r#contact_point) as usize,
1055 !Vec::is_empty(&self.r#contact_points) as usize,
1056 !Vec::is_empty(&self.r#corrections_policy) as usize,
1057 !Vec::is_empty(&self.r#department) as usize,
1058 !Vec::is_empty(&self.r#dissolution_date) as usize,
1059 !Vec::is_empty(&self.r#diversity_policy) as usize,
1060 !Vec::is_empty(&self.r#diversity_staffing_report) as usize,
1061 !Vec::is_empty(&self.r#duns) as usize,
1062 !Vec::is_empty(&self.r#email) as usize,
1063 !Vec::is_empty(&self.r#employee) as usize,
1064 !Vec::is_empty(&self.r#employees) as usize,
1065 !Vec::is_empty(&self.r#ethics_policy) as usize,
1066 !Vec::is_empty(&self.r#event) as usize,
1067 !Vec::is_empty(&self.r#events) as usize,
1068 !Vec::is_empty(&self.r#fax_number) as usize,
1069 !Vec::is_empty(&self.r#founder) as usize,
1070 !Vec::is_empty(&self.r#founders) as usize,
1071 !Vec::is_empty(&self.r#founding_date) as usize,
1072 !Vec::is_empty(&self.r#founding_location) as usize,
1073 !Vec::is_empty(&self.r#funder) as usize,
1074 !Vec::is_empty(&self.r#funding) as usize,
1075 !Vec::is_empty(&self.r#global_location_number) as usize,
1076 !Vec::is_empty(&self.r#has_credential) as usize,
1077 !Vec::is_empty(&self.r#has_merchant_return_policy) as usize,
1078 !Vec::is_empty(&self.r#has_offer_catalog) as usize,
1079 !Vec::is_empty(&self.r#has_pos) as usize,
1080 !Vec::is_empty(&self.r#has_product_return_policy) as usize,
1081 !Vec::is_empty(&self.r#interaction_statistic) as usize,
1082 !Vec::is_empty(&self.r#isic_v_4) as usize,
1083 !Vec::is_empty(&self.r#iso_6523_code) as usize,
1084 !Vec::is_empty(&self.r#keywords) as usize,
1085 !Vec::is_empty(&self.r#knows_about) as usize,
1086 !Vec::is_empty(&self.r#knows_language) as usize,
1087 !Vec::is_empty(&self.r#legal_name) as usize,
1088 !Vec::is_empty(&self.r#lei_code) as usize,
1089 !Vec::is_empty(&self.r#location) as usize,
1090 !Vec::is_empty(&self.r#logo) as usize,
1091 !Vec::is_empty(&self.r#makes_offer) as usize,
1092 !Vec::is_empty(&self.r#member) as usize,
1093 !Vec::is_empty(&self.r#member_of) as usize,
1094 !Vec::is_empty(&self.r#members) as usize,
1095 !Vec::is_empty(&self.r#naics) as usize,
1096 !Vec::is_empty(&self.r#nonprofit_status) as usize,
1097 !Vec::is_empty(&self.r#number_of_employees) as usize,
1098 !Vec::is_empty(&self.r#ownership_funding_info) as usize,
1099 !Vec::is_empty(&self.r#owns) as usize,
1100 !Vec::is_empty(&self.r#parent_organization) as usize,
1101 !Vec::is_empty(&self.r#publishing_principles) as usize,
1102 !Vec::is_empty(&self.r#review) as usize,
1103 !Vec::is_empty(&self.r#reviews) as usize,
1104 !Vec::is_empty(&self.r#seeks) as usize,
1105 !Vec::is_empty(&self.r#service_area) as usize,
1106 !Vec::is_empty(&self.r#slogan) as usize,
1107 !Vec::is_empty(&self.r#sponsor) as usize,
1108 !Vec::is_empty(&self.r#sub_organization) as usize,
1109 !Vec::is_empty(&self.r#tax_id) as usize,
1110 !Vec::is_empty(&self.r#telephone) as usize,
1111 !Vec::is_empty(&self.r#unnamed_sources_policy) as usize,
1112 !Vec::is_empty(&self.r#vat_id) as usize,
1113 !Vec::is_empty(&self.r#additional_property) as usize,
1114 !Vec::is_empty(&self.r#amenity_feature) as usize,
1115 !Vec::is_empty(&self.r#branch_code) as usize,
1116 !Vec::is_empty(&self.r#contained_in) as usize,
1117 !Vec::is_empty(&self.r#contained_in_place) as usize,
1118 !Vec::is_empty(&self.r#contains_place) as usize,
1119 !Vec::is_empty(&self.r#geo) as usize,
1120 !Vec::is_empty(&self.r#geo_contains) as usize,
1121 !Vec::is_empty(&self.r#geo_covered_by) as usize,
1122 !Vec::is_empty(&self.r#geo_covers) as usize,
1123 !Vec::is_empty(&self.r#geo_crosses) as usize,
1124 !Vec::is_empty(&self.r#geo_disjoint) as usize,
1125 !Vec::is_empty(&self.r#geo_equals) as usize,
1126 !Vec::is_empty(&self.r#geo_intersects) as usize,
1127 !Vec::is_empty(&self.r#geo_overlaps) as usize,
1128 !Vec::is_empty(&self.r#geo_touches) as usize,
1129 !Vec::is_empty(&self.r#geo_within) as usize,
1130 !Vec::is_empty(&self.r#has_drive_through_service) as usize,
1131 !Vec::is_empty(&self.r#has_map) as usize,
1132 !Vec::is_empty(&self.r#is_accessible_for_free) as usize,
1133 !Vec::is_empty(&self.r#latitude) as usize,
1134 !Vec::is_empty(&self.r#longitude) as usize,
1135 !Vec::is_empty(&self.r#map) as usize,
1136 !Vec::is_empty(&self.r#maps) as usize,
1137 !Vec::is_empty(&self.r#maximum_attendee_capacity) as usize,
1138 !Vec::is_empty(&self.r#opening_hours_specification) as usize,
1139 !Vec::is_empty(&self.r#photo) as usize,
1140 !Vec::is_empty(&self.r#photos) as usize,
1141 !Vec::is_empty(&self.r#public_access) as usize,
1142 !Vec::is_empty(&self.r#smoking_allowed) as usize,
1143 !Vec::is_empty(&self.r#special_opening_hours_specification) as usize,
1144 !Vec::is_empty(&self.r#tour_booking_page) as usize,
1145 !Vec::is_empty(&self.r#additional_type) as usize,
1146 !Vec::is_empty(&self.r#alternate_name) as usize,
1147 !Vec::is_empty(&self.r#description) as usize,
1148 !Vec::is_empty(&self.r#disambiguating_description) as usize,
1149 !Vec::is_empty(&self.r#identifier) as usize,
1150 !Vec::is_empty(&self.r#image) as usize,
1151 !Vec::is_empty(&self.r#main_entity_of_page) as usize,
1152 !Vec::is_empty(&self.r#name) as usize,
1153 !Vec::is_empty(&self.r#potential_action) as usize,
1154 !Vec::is_empty(&self.r#same_as) as usize,
1155 !Vec::is_empty(&self.r#subject_of) as usize,
1156 !Vec::is_empty(&self.r#url) as usize,
1157 ]
1158 .iter()
1159 .sum();
1160 let mut serialize_struct =
1161 Serializer::serialize_struct(serializer, "EducationalOrganization", len)?;
1162 if !Vec::is_empty(&self.r#alumni) {
1163 serialize_struct.serialize_field("alumni", {
1164 struct SerializeWith<'a>(&'a Vec<AlumniProperty>);
1165 impl<'a> Serialize for SerializeWith<'a> {
1166 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1167 where
1168 S: Serializer,
1169 {
1170 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1171 self.0, serializer,
1172 )
1173 }
1174 }
1175 &SerializeWith(&self.r#alumni)
1176 })?;
1177 } else {
1178 serialize_struct.skip_field("alumni")?;
1179 }
1180 if !Vec::is_empty(&self.r#opening_hours) {
1181 serialize_struct.serialize_field("openingHours", {
1182 struct SerializeWith<'a>(&'a Vec<OpeningHoursProperty>);
1183 impl<'a> Serialize for SerializeWith<'a> {
1184 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1185 where
1186 S: Serializer,
1187 {
1188 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1189 self.0, serializer,
1190 )
1191 }
1192 }
1193 &SerializeWith(&self.r#opening_hours)
1194 })?;
1195 } else {
1196 serialize_struct.skip_field("openingHours")?;
1197 }
1198 if !Vec::is_empty(&self.r#actionable_feedback_policy) {
1199 serialize_struct.serialize_field("actionableFeedbackPolicy", {
1200 struct SerializeWith<'a>(&'a Vec<ActionableFeedbackPolicyProperty>);
1201 impl<'a> Serialize for SerializeWith<'a> {
1202 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1203 where
1204 S: Serializer,
1205 {
1206 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1207 self.0, serializer,
1208 )
1209 }
1210 }
1211 &SerializeWith(&self.r#actionable_feedback_policy)
1212 })?;
1213 } else {
1214 serialize_struct.skip_field("actionableFeedbackPolicy")?;
1215 }
1216 if !Vec::is_empty(&self.r#address) {
1217 serialize_struct.serialize_field("address", {
1218 struct SerializeWith<'a>(&'a Vec<AddressProperty>);
1219 impl<'a> Serialize for SerializeWith<'a> {
1220 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1221 where
1222 S: Serializer,
1223 {
1224 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1225 self.0, serializer,
1226 )
1227 }
1228 }
1229 &SerializeWith(&self.r#address)
1230 })?;
1231 } else {
1232 serialize_struct.skip_field("address")?;
1233 }
1234 if !Vec::is_empty(&self.r#agent_interaction_statistic) {
1235 serialize_struct.serialize_field("agentInteractionStatistic", {
1236 struct SerializeWith<'a>(&'a Vec<AgentInteractionStatisticProperty>);
1237 impl<'a> Serialize for SerializeWith<'a> {
1238 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1239 where
1240 S: Serializer,
1241 {
1242 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1243 self.0, serializer,
1244 )
1245 }
1246 }
1247 &SerializeWith(&self.r#agent_interaction_statistic)
1248 })?;
1249 } else {
1250 serialize_struct.skip_field("agentInteractionStatistic")?;
1251 }
1252 if !Vec::is_empty(&self.r#aggregate_rating) {
1253 serialize_struct.serialize_field("aggregateRating", {
1254 struct SerializeWith<'a>(&'a Vec<AggregateRatingProperty>);
1255 impl<'a> Serialize for SerializeWith<'a> {
1256 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1257 where
1258 S: Serializer,
1259 {
1260 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1261 self.0, serializer,
1262 )
1263 }
1264 }
1265 &SerializeWith(&self.r#aggregate_rating)
1266 })?;
1267 } else {
1268 serialize_struct.skip_field("aggregateRating")?;
1269 }
1270 if !Vec::is_empty(&self.r#area_served) {
1271 serialize_struct.serialize_field("areaServed", {
1272 struct SerializeWith<'a>(&'a Vec<AreaServedProperty>);
1273 impl<'a> Serialize for SerializeWith<'a> {
1274 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1275 where
1276 S: Serializer,
1277 {
1278 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1279 self.0, serializer,
1280 )
1281 }
1282 }
1283 &SerializeWith(&self.r#area_served)
1284 })?;
1285 } else {
1286 serialize_struct.skip_field("areaServed")?;
1287 }
1288 if !Vec::is_empty(&self.r#award) {
1289 serialize_struct.serialize_field("award", {
1290 struct SerializeWith<'a>(&'a Vec<AwardProperty>);
1291 impl<'a> Serialize for SerializeWith<'a> {
1292 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1293 where
1294 S: Serializer,
1295 {
1296 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1297 self.0, serializer,
1298 )
1299 }
1300 }
1301 &SerializeWith(&self.r#award)
1302 })?;
1303 } else {
1304 serialize_struct.skip_field("award")?;
1305 }
1306 if !Vec::is_empty(&self.r#awards) {
1307 serialize_struct.serialize_field("awards", {
1308 struct SerializeWith<'a>(&'a Vec<AwardsProperty>);
1309 impl<'a> Serialize for SerializeWith<'a> {
1310 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1311 where
1312 S: Serializer,
1313 {
1314 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1315 self.0, serializer,
1316 )
1317 }
1318 }
1319 &SerializeWith(&self.r#awards)
1320 })?;
1321 } else {
1322 serialize_struct.skip_field("awards")?;
1323 }
1324 if !Vec::is_empty(&self.r#brand) {
1325 serialize_struct.serialize_field("brand", {
1326 struct SerializeWith<'a>(&'a Vec<BrandProperty>);
1327 impl<'a> Serialize for SerializeWith<'a> {
1328 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1329 where
1330 S: Serializer,
1331 {
1332 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1333 self.0, serializer,
1334 )
1335 }
1336 }
1337 &SerializeWith(&self.r#brand)
1338 })?;
1339 } else {
1340 serialize_struct.skip_field("brand")?;
1341 }
1342 if !Vec::is_empty(&self.r#contact_point) {
1343 serialize_struct.serialize_field("contactPoint", {
1344 struct SerializeWith<'a>(&'a Vec<ContactPointProperty>);
1345 impl<'a> Serialize for SerializeWith<'a> {
1346 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1347 where
1348 S: Serializer,
1349 {
1350 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1351 self.0, serializer,
1352 )
1353 }
1354 }
1355 &SerializeWith(&self.r#contact_point)
1356 })?;
1357 } else {
1358 serialize_struct.skip_field("contactPoint")?;
1359 }
1360 if !Vec::is_empty(&self.r#contact_points) {
1361 serialize_struct.serialize_field("contactPoints", {
1362 struct SerializeWith<'a>(&'a Vec<ContactPointsProperty>);
1363 impl<'a> Serialize for SerializeWith<'a> {
1364 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1365 where
1366 S: Serializer,
1367 {
1368 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1369 self.0, serializer,
1370 )
1371 }
1372 }
1373 &SerializeWith(&self.r#contact_points)
1374 })?;
1375 } else {
1376 serialize_struct.skip_field("contactPoints")?;
1377 }
1378 if !Vec::is_empty(&self.r#corrections_policy) {
1379 serialize_struct.serialize_field("correctionsPolicy", {
1380 struct SerializeWith<'a>(&'a Vec<CorrectionsPolicyProperty>);
1381 impl<'a> Serialize for SerializeWith<'a> {
1382 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1383 where
1384 S: Serializer,
1385 {
1386 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1387 self.0, serializer,
1388 )
1389 }
1390 }
1391 &SerializeWith(&self.r#corrections_policy)
1392 })?;
1393 } else {
1394 serialize_struct.skip_field("correctionsPolicy")?;
1395 }
1396 if !Vec::is_empty(&self.r#department) {
1397 serialize_struct.serialize_field("department", {
1398 struct SerializeWith<'a>(&'a Vec<DepartmentProperty>);
1399 impl<'a> Serialize for SerializeWith<'a> {
1400 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1401 where
1402 S: Serializer,
1403 {
1404 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1405 self.0, serializer,
1406 )
1407 }
1408 }
1409 &SerializeWith(&self.r#department)
1410 })?;
1411 } else {
1412 serialize_struct.skip_field("department")?;
1413 }
1414 if !Vec::is_empty(&self.r#dissolution_date) {
1415 serialize_struct.serialize_field("dissolutionDate", {
1416 struct SerializeWith<'a>(&'a Vec<DissolutionDateProperty>);
1417 impl<'a> Serialize for SerializeWith<'a> {
1418 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1419 where
1420 S: Serializer,
1421 {
1422 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1423 self.0, serializer,
1424 )
1425 }
1426 }
1427 &SerializeWith(&self.r#dissolution_date)
1428 })?;
1429 } else {
1430 serialize_struct.skip_field("dissolutionDate")?;
1431 }
1432 if !Vec::is_empty(&self.r#diversity_policy) {
1433 serialize_struct.serialize_field("diversityPolicy", {
1434 struct SerializeWith<'a>(&'a Vec<DiversityPolicyProperty>);
1435 impl<'a> Serialize for SerializeWith<'a> {
1436 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1437 where
1438 S: Serializer,
1439 {
1440 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1441 self.0, serializer,
1442 )
1443 }
1444 }
1445 &SerializeWith(&self.r#diversity_policy)
1446 })?;
1447 } else {
1448 serialize_struct.skip_field("diversityPolicy")?;
1449 }
1450 if !Vec::is_empty(&self.r#diversity_staffing_report) {
1451 serialize_struct.serialize_field("diversityStaffingReport", {
1452 struct SerializeWith<'a>(&'a Vec<DiversityStaffingReportProperty>);
1453 impl<'a> Serialize for SerializeWith<'a> {
1454 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1455 where
1456 S: Serializer,
1457 {
1458 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1459 self.0, serializer,
1460 )
1461 }
1462 }
1463 &SerializeWith(&self.r#diversity_staffing_report)
1464 })?;
1465 } else {
1466 serialize_struct.skip_field("diversityStaffingReport")?;
1467 }
1468 if !Vec::is_empty(&self.r#duns) {
1469 serialize_struct.serialize_field("duns", {
1470 struct SerializeWith<'a>(&'a Vec<DunsProperty>);
1471 impl<'a> Serialize for SerializeWith<'a> {
1472 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1473 where
1474 S: Serializer,
1475 {
1476 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1477 self.0, serializer,
1478 )
1479 }
1480 }
1481 &SerializeWith(&self.r#duns)
1482 })?;
1483 } else {
1484 serialize_struct.skip_field("duns")?;
1485 }
1486 if !Vec::is_empty(&self.r#email) {
1487 serialize_struct.serialize_field("email", {
1488 struct SerializeWith<'a>(&'a Vec<EmailProperty>);
1489 impl<'a> Serialize for SerializeWith<'a> {
1490 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1491 where
1492 S: Serializer,
1493 {
1494 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1495 self.0, serializer,
1496 )
1497 }
1498 }
1499 &SerializeWith(&self.r#email)
1500 })?;
1501 } else {
1502 serialize_struct.skip_field("email")?;
1503 }
1504 if !Vec::is_empty(&self.r#employee) {
1505 serialize_struct.serialize_field("employee", {
1506 struct SerializeWith<'a>(&'a Vec<EmployeeProperty>);
1507 impl<'a> Serialize for SerializeWith<'a> {
1508 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1509 where
1510 S: Serializer,
1511 {
1512 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1513 self.0, serializer,
1514 )
1515 }
1516 }
1517 &SerializeWith(&self.r#employee)
1518 })?;
1519 } else {
1520 serialize_struct.skip_field("employee")?;
1521 }
1522 if !Vec::is_empty(&self.r#employees) {
1523 serialize_struct.serialize_field("employees", {
1524 struct SerializeWith<'a>(&'a Vec<EmployeesProperty>);
1525 impl<'a> Serialize for SerializeWith<'a> {
1526 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1527 where
1528 S: Serializer,
1529 {
1530 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1531 self.0, serializer,
1532 )
1533 }
1534 }
1535 &SerializeWith(&self.r#employees)
1536 })?;
1537 } else {
1538 serialize_struct.skip_field("employees")?;
1539 }
1540 if !Vec::is_empty(&self.r#ethics_policy) {
1541 serialize_struct.serialize_field("ethicsPolicy", {
1542 struct SerializeWith<'a>(&'a Vec<EthicsPolicyProperty>);
1543 impl<'a> Serialize for SerializeWith<'a> {
1544 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1545 where
1546 S: Serializer,
1547 {
1548 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1549 self.0, serializer,
1550 )
1551 }
1552 }
1553 &SerializeWith(&self.r#ethics_policy)
1554 })?;
1555 } else {
1556 serialize_struct.skip_field("ethicsPolicy")?;
1557 }
1558 if !Vec::is_empty(&self.r#event) {
1559 serialize_struct.serialize_field("event", {
1560 struct SerializeWith<'a>(&'a Vec<EventProperty>);
1561 impl<'a> Serialize for SerializeWith<'a> {
1562 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1563 where
1564 S: Serializer,
1565 {
1566 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1567 self.0, serializer,
1568 )
1569 }
1570 }
1571 &SerializeWith(&self.r#event)
1572 })?;
1573 } else {
1574 serialize_struct.skip_field("event")?;
1575 }
1576 if !Vec::is_empty(&self.r#events) {
1577 serialize_struct.serialize_field("events", {
1578 struct SerializeWith<'a>(&'a Vec<EventsProperty>);
1579 impl<'a> Serialize for SerializeWith<'a> {
1580 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1581 where
1582 S: Serializer,
1583 {
1584 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1585 self.0, serializer,
1586 )
1587 }
1588 }
1589 &SerializeWith(&self.r#events)
1590 })?;
1591 } else {
1592 serialize_struct.skip_field("events")?;
1593 }
1594 if !Vec::is_empty(&self.r#fax_number) {
1595 serialize_struct.serialize_field("faxNumber", {
1596 struct SerializeWith<'a>(&'a Vec<FaxNumberProperty>);
1597 impl<'a> Serialize for SerializeWith<'a> {
1598 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1599 where
1600 S: Serializer,
1601 {
1602 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1603 self.0, serializer,
1604 )
1605 }
1606 }
1607 &SerializeWith(&self.r#fax_number)
1608 })?;
1609 } else {
1610 serialize_struct.skip_field("faxNumber")?;
1611 }
1612 if !Vec::is_empty(&self.r#founder) {
1613 serialize_struct.serialize_field("founder", {
1614 struct SerializeWith<'a>(&'a Vec<FounderProperty>);
1615 impl<'a> Serialize for SerializeWith<'a> {
1616 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1617 where
1618 S: Serializer,
1619 {
1620 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1621 self.0, serializer,
1622 )
1623 }
1624 }
1625 &SerializeWith(&self.r#founder)
1626 })?;
1627 } else {
1628 serialize_struct.skip_field("founder")?;
1629 }
1630 if !Vec::is_empty(&self.r#founders) {
1631 serialize_struct.serialize_field("founders", {
1632 struct SerializeWith<'a>(&'a Vec<FoundersProperty>);
1633 impl<'a> Serialize for SerializeWith<'a> {
1634 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1635 where
1636 S: Serializer,
1637 {
1638 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1639 self.0, serializer,
1640 )
1641 }
1642 }
1643 &SerializeWith(&self.r#founders)
1644 })?;
1645 } else {
1646 serialize_struct.skip_field("founders")?;
1647 }
1648 if !Vec::is_empty(&self.r#founding_date) {
1649 serialize_struct.serialize_field("foundingDate", {
1650 struct SerializeWith<'a>(&'a Vec<FoundingDateProperty>);
1651 impl<'a> Serialize for SerializeWith<'a> {
1652 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1653 where
1654 S: Serializer,
1655 {
1656 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1657 self.0, serializer,
1658 )
1659 }
1660 }
1661 &SerializeWith(&self.r#founding_date)
1662 })?;
1663 } else {
1664 serialize_struct.skip_field("foundingDate")?;
1665 }
1666 if !Vec::is_empty(&self.r#founding_location) {
1667 serialize_struct.serialize_field("foundingLocation", {
1668 struct SerializeWith<'a>(&'a Vec<FoundingLocationProperty>);
1669 impl<'a> Serialize for SerializeWith<'a> {
1670 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1671 where
1672 S: Serializer,
1673 {
1674 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1675 self.0, serializer,
1676 )
1677 }
1678 }
1679 &SerializeWith(&self.r#founding_location)
1680 })?;
1681 } else {
1682 serialize_struct.skip_field("foundingLocation")?;
1683 }
1684 if !Vec::is_empty(&self.r#funder) {
1685 serialize_struct.serialize_field("funder", {
1686 struct SerializeWith<'a>(&'a Vec<FunderProperty>);
1687 impl<'a> Serialize for SerializeWith<'a> {
1688 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1689 where
1690 S: Serializer,
1691 {
1692 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1693 self.0, serializer,
1694 )
1695 }
1696 }
1697 &SerializeWith(&self.r#funder)
1698 })?;
1699 } else {
1700 serialize_struct.skip_field("funder")?;
1701 }
1702 if !Vec::is_empty(&self.r#funding) {
1703 serialize_struct.serialize_field("funding", {
1704 struct SerializeWith<'a>(&'a Vec<FundingProperty>);
1705 impl<'a> Serialize for SerializeWith<'a> {
1706 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1707 where
1708 S: Serializer,
1709 {
1710 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1711 self.0, serializer,
1712 )
1713 }
1714 }
1715 &SerializeWith(&self.r#funding)
1716 })?;
1717 } else {
1718 serialize_struct.skip_field("funding")?;
1719 }
1720 if !Vec::is_empty(&self.r#global_location_number) {
1721 serialize_struct.serialize_field("globalLocationNumber", {
1722 struct SerializeWith<'a>(&'a Vec<GlobalLocationNumberProperty>);
1723 impl<'a> Serialize for SerializeWith<'a> {
1724 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1725 where
1726 S: Serializer,
1727 {
1728 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1729 self.0, serializer,
1730 )
1731 }
1732 }
1733 &SerializeWith(&self.r#global_location_number)
1734 })?;
1735 } else {
1736 serialize_struct.skip_field("globalLocationNumber")?;
1737 }
1738 if !Vec::is_empty(&self.r#has_credential) {
1739 serialize_struct.serialize_field("hasCredential", {
1740 struct SerializeWith<'a>(&'a Vec<HasCredentialProperty>);
1741 impl<'a> Serialize for SerializeWith<'a> {
1742 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1743 where
1744 S: Serializer,
1745 {
1746 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1747 self.0, serializer,
1748 )
1749 }
1750 }
1751 &SerializeWith(&self.r#has_credential)
1752 })?;
1753 } else {
1754 serialize_struct.skip_field("hasCredential")?;
1755 }
1756 if !Vec::is_empty(&self.r#has_merchant_return_policy) {
1757 serialize_struct.serialize_field("hasMerchantReturnPolicy", {
1758 struct SerializeWith<'a>(&'a Vec<HasMerchantReturnPolicyProperty>);
1759 impl<'a> Serialize for SerializeWith<'a> {
1760 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1761 where
1762 S: Serializer,
1763 {
1764 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1765 self.0, serializer,
1766 )
1767 }
1768 }
1769 &SerializeWith(&self.r#has_merchant_return_policy)
1770 })?;
1771 } else {
1772 serialize_struct.skip_field("hasMerchantReturnPolicy")?;
1773 }
1774 if !Vec::is_empty(&self.r#has_offer_catalog) {
1775 serialize_struct.serialize_field("hasOfferCatalog", {
1776 struct SerializeWith<'a>(&'a Vec<HasOfferCatalogProperty>);
1777 impl<'a> Serialize for SerializeWith<'a> {
1778 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1779 where
1780 S: Serializer,
1781 {
1782 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1783 self.0, serializer,
1784 )
1785 }
1786 }
1787 &SerializeWith(&self.r#has_offer_catalog)
1788 })?;
1789 } else {
1790 serialize_struct.skip_field("hasOfferCatalog")?;
1791 }
1792 if !Vec::is_empty(&self.r#has_pos) {
1793 serialize_struct.serialize_field("hasPOS", {
1794 struct SerializeWith<'a>(&'a Vec<HasPosProperty>);
1795 impl<'a> Serialize for SerializeWith<'a> {
1796 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1797 where
1798 S: Serializer,
1799 {
1800 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1801 self.0, serializer,
1802 )
1803 }
1804 }
1805 &SerializeWith(&self.r#has_pos)
1806 })?;
1807 } else {
1808 serialize_struct.skip_field("hasPOS")?;
1809 }
1810 if !Vec::is_empty(&self.r#has_product_return_policy) {
1811 serialize_struct.serialize_field("hasProductReturnPolicy", {
1812 struct SerializeWith<'a>(&'a Vec<HasProductReturnPolicyProperty>);
1813 impl<'a> Serialize for SerializeWith<'a> {
1814 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1815 where
1816 S: Serializer,
1817 {
1818 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1819 self.0, serializer,
1820 )
1821 }
1822 }
1823 &SerializeWith(&self.r#has_product_return_policy)
1824 })?;
1825 } else {
1826 serialize_struct.skip_field("hasProductReturnPolicy")?;
1827 }
1828 if !Vec::is_empty(&self.r#interaction_statistic) {
1829 serialize_struct.serialize_field("interactionStatistic", {
1830 struct SerializeWith<'a>(&'a Vec<InteractionStatisticProperty>);
1831 impl<'a> Serialize for SerializeWith<'a> {
1832 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1833 where
1834 S: Serializer,
1835 {
1836 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1837 self.0, serializer,
1838 )
1839 }
1840 }
1841 &SerializeWith(&self.r#interaction_statistic)
1842 })?;
1843 } else {
1844 serialize_struct.skip_field("interactionStatistic")?;
1845 }
1846 if !Vec::is_empty(&self.r#isic_v_4) {
1847 serialize_struct.serialize_field("isicV4", {
1848 struct SerializeWith<'a>(&'a Vec<IsicV4Property>);
1849 impl<'a> Serialize for SerializeWith<'a> {
1850 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1851 where
1852 S: Serializer,
1853 {
1854 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1855 self.0, serializer,
1856 )
1857 }
1858 }
1859 &SerializeWith(&self.r#isic_v_4)
1860 })?;
1861 } else {
1862 serialize_struct.skip_field("isicV4")?;
1863 }
1864 if !Vec::is_empty(&self.r#iso_6523_code) {
1865 serialize_struct.serialize_field("iso6523Code", {
1866 struct SerializeWith<'a>(&'a Vec<Iso6523CodeProperty>);
1867 impl<'a> Serialize for SerializeWith<'a> {
1868 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1869 where
1870 S: Serializer,
1871 {
1872 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1873 self.0, serializer,
1874 )
1875 }
1876 }
1877 &SerializeWith(&self.r#iso_6523_code)
1878 })?;
1879 } else {
1880 serialize_struct.skip_field("iso6523Code")?;
1881 }
1882 if !Vec::is_empty(&self.r#keywords) {
1883 serialize_struct.serialize_field("keywords", {
1884 struct SerializeWith<'a>(&'a Vec<KeywordsProperty>);
1885 impl<'a> Serialize for SerializeWith<'a> {
1886 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1887 where
1888 S: Serializer,
1889 {
1890 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1891 self.0, serializer,
1892 )
1893 }
1894 }
1895 &SerializeWith(&self.r#keywords)
1896 })?;
1897 } else {
1898 serialize_struct.skip_field("keywords")?;
1899 }
1900 if !Vec::is_empty(&self.r#knows_about) {
1901 serialize_struct.serialize_field("knowsAbout", {
1902 struct SerializeWith<'a>(&'a Vec<KnowsAboutProperty>);
1903 impl<'a> Serialize for SerializeWith<'a> {
1904 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1905 where
1906 S: Serializer,
1907 {
1908 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1909 self.0, serializer,
1910 )
1911 }
1912 }
1913 &SerializeWith(&self.r#knows_about)
1914 })?;
1915 } else {
1916 serialize_struct.skip_field("knowsAbout")?;
1917 }
1918 if !Vec::is_empty(&self.r#knows_language) {
1919 serialize_struct.serialize_field("knowsLanguage", {
1920 struct SerializeWith<'a>(&'a Vec<KnowsLanguageProperty>);
1921 impl<'a> Serialize for SerializeWith<'a> {
1922 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1923 where
1924 S: Serializer,
1925 {
1926 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1927 self.0, serializer,
1928 )
1929 }
1930 }
1931 &SerializeWith(&self.r#knows_language)
1932 })?;
1933 } else {
1934 serialize_struct.skip_field("knowsLanguage")?;
1935 }
1936 if !Vec::is_empty(&self.r#legal_name) {
1937 serialize_struct.serialize_field("legalName", {
1938 struct SerializeWith<'a>(&'a Vec<LegalNameProperty>);
1939 impl<'a> Serialize for SerializeWith<'a> {
1940 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1941 where
1942 S: Serializer,
1943 {
1944 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1945 self.0, serializer,
1946 )
1947 }
1948 }
1949 &SerializeWith(&self.r#legal_name)
1950 })?;
1951 } else {
1952 serialize_struct.skip_field("legalName")?;
1953 }
1954 if !Vec::is_empty(&self.r#lei_code) {
1955 serialize_struct.serialize_field("leiCode", {
1956 struct SerializeWith<'a>(&'a Vec<LeiCodeProperty>);
1957 impl<'a> Serialize for SerializeWith<'a> {
1958 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1959 where
1960 S: Serializer,
1961 {
1962 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1963 self.0, serializer,
1964 )
1965 }
1966 }
1967 &SerializeWith(&self.r#lei_code)
1968 })?;
1969 } else {
1970 serialize_struct.skip_field("leiCode")?;
1971 }
1972 if !Vec::is_empty(&self.r#location) {
1973 serialize_struct.serialize_field("location", {
1974 struct SerializeWith<'a>(&'a Vec<LocationProperty>);
1975 impl<'a> Serialize for SerializeWith<'a> {
1976 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1977 where
1978 S: Serializer,
1979 {
1980 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1981 self.0, serializer,
1982 )
1983 }
1984 }
1985 &SerializeWith(&self.r#location)
1986 })?;
1987 } else {
1988 serialize_struct.skip_field("location")?;
1989 }
1990 if !Vec::is_empty(&self.r#logo) {
1991 serialize_struct.serialize_field("logo", {
1992 struct SerializeWith<'a>(&'a Vec<LogoProperty>);
1993 impl<'a> Serialize for SerializeWith<'a> {
1994 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1995 where
1996 S: Serializer,
1997 {
1998 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1999 self.0, serializer,
2000 )
2001 }
2002 }
2003 &SerializeWith(&self.r#logo)
2004 })?;
2005 } else {
2006 serialize_struct.skip_field("logo")?;
2007 }
2008 if !Vec::is_empty(&self.r#makes_offer) {
2009 serialize_struct.serialize_field("makesOffer", {
2010 struct SerializeWith<'a>(&'a Vec<MakesOfferProperty>);
2011 impl<'a> Serialize for SerializeWith<'a> {
2012 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2013 where
2014 S: Serializer,
2015 {
2016 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2017 self.0, serializer,
2018 )
2019 }
2020 }
2021 &SerializeWith(&self.r#makes_offer)
2022 })?;
2023 } else {
2024 serialize_struct.skip_field("makesOffer")?;
2025 }
2026 if !Vec::is_empty(&self.r#member) {
2027 serialize_struct.serialize_field("member", {
2028 struct SerializeWith<'a>(&'a Vec<MemberProperty>);
2029 impl<'a> Serialize for SerializeWith<'a> {
2030 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2031 where
2032 S: Serializer,
2033 {
2034 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2035 self.0, serializer,
2036 )
2037 }
2038 }
2039 &SerializeWith(&self.r#member)
2040 })?;
2041 } else {
2042 serialize_struct.skip_field("member")?;
2043 }
2044 if !Vec::is_empty(&self.r#member_of) {
2045 serialize_struct.serialize_field("memberOf", {
2046 struct SerializeWith<'a>(&'a Vec<MemberOfProperty>);
2047 impl<'a> Serialize for SerializeWith<'a> {
2048 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2049 where
2050 S: Serializer,
2051 {
2052 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2053 self.0, serializer,
2054 )
2055 }
2056 }
2057 &SerializeWith(&self.r#member_of)
2058 })?;
2059 } else {
2060 serialize_struct.skip_field("memberOf")?;
2061 }
2062 if !Vec::is_empty(&self.r#members) {
2063 serialize_struct.serialize_field("members", {
2064 struct SerializeWith<'a>(&'a Vec<MembersProperty>);
2065 impl<'a> Serialize for SerializeWith<'a> {
2066 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2067 where
2068 S: Serializer,
2069 {
2070 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2071 self.0, serializer,
2072 )
2073 }
2074 }
2075 &SerializeWith(&self.r#members)
2076 })?;
2077 } else {
2078 serialize_struct.skip_field("members")?;
2079 }
2080 if !Vec::is_empty(&self.r#naics) {
2081 serialize_struct.serialize_field("naics", {
2082 struct SerializeWith<'a>(&'a Vec<NaicsProperty>);
2083 impl<'a> Serialize for SerializeWith<'a> {
2084 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2085 where
2086 S: Serializer,
2087 {
2088 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2089 self.0, serializer,
2090 )
2091 }
2092 }
2093 &SerializeWith(&self.r#naics)
2094 })?;
2095 } else {
2096 serialize_struct.skip_field("naics")?;
2097 }
2098 if !Vec::is_empty(&self.r#nonprofit_status) {
2099 serialize_struct.serialize_field("nonprofitStatus", {
2100 struct SerializeWith<'a>(&'a Vec<NonprofitStatusProperty>);
2101 impl<'a> Serialize for SerializeWith<'a> {
2102 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2103 where
2104 S: Serializer,
2105 {
2106 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2107 self.0, serializer,
2108 )
2109 }
2110 }
2111 &SerializeWith(&self.r#nonprofit_status)
2112 })?;
2113 } else {
2114 serialize_struct.skip_field("nonprofitStatus")?;
2115 }
2116 if !Vec::is_empty(&self.r#number_of_employees) {
2117 serialize_struct.serialize_field("numberOfEmployees", {
2118 struct SerializeWith<'a>(&'a Vec<NumberOfEmployeesProperty>);
2119 impl<'a> Serialize for SerializeWith<'a> {
2120 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2121 where
2122 S: Serializer,
2123 {
2124 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2125 self.0, serializer,
2126 )
2127 }
2128 }
2129 &SerializeWith(&self.r#number_of_employees)
2130 })?;
2131 } else {
2132 serialize_struct.skip_field("numberOfEmployees")?;
2133 }
2134 if !Vec::is_empty(&self.r#ownership_funding_info) {
2135 serialize_struct.serialize_field("ownershipFundingInfo", {
2136 struct SerializeWith<'a>(&'a Vec<OwnershipFundingInfoProperty>);
2137 impl<'a> Serialize for SerializeWith<'a> {
2138 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2139 where
2140 S: Serializer,
2141 {
2142 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2143 self.0, serializer,
2144 )
2145 }
2146 }
2147 &SerializeWith(&self.r#ownership_funding_info)
2148 })?;
2149 } else {
2150 serialize_struct.skip_field("ownershipFundingInfo")?;
2151 }
2152 if !Vec::is_empty(&self.r#owns) {
2153 serialize_struct.serialize_field("owns", {
2154 struct SerializeWith<'a>(&'a Vec<OwnsProperty>);
2155 impl<'a> Serialize for SerializeWith<'a> {
2156 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2157 where
2158 S: Serializer,
2159 {
2160 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2161 self.0, serializer,
2162 )
2163 }
2164 }
2165 &SerializeWith(&self.r#owns)
2166 })?;
2167 } else {
2168 serialize_struct.skip_field("owns")?;
2169 }
2170 if !Vec::is_empty(&self.r#parent_organization) {
2171 serialize_struct.serialize_field("parentOrganization", {
2172 struct SerializeWith<'a>(&'a Vec<ParentOrganizationProperty>);
2173 impl<'a> Serialize for SerializeWith<'a> {
2174 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2175 where
2176 S: Serializer,
2177 {
2178 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2179 self.0, serializer,
2180 )
2181 }
2182 }
2183 &SerializeWith(&self.r#parent_organization)
2184 })?;
2185 } else {
2186 serialize_struct.skip_field("parentOrganization")?;
2187 }
2188 if !Vec::is_empty(&self.r#publishing_principles) {
2189 serialize_struct.serialize_field("publishingPrinciples", {
2190 struct SerializeWith<'a>(&'a Vec<PublishingPrinciplesProperty>);
2191 impl<'a> Serialize for SerializeWith<'a> {
2192 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2193 where
2194 S: Serializer,
2195 {
2196 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2197 self.0, serializer,
2198 )
2199 }
2200 }
2201 &SerializeWith(&self.r#publishing_principles)
2202 })?;
2203 } else {
2204 serialize_struct.skip_field("publishingPrinciples")?;
2205 }
2206 if !Vec::is_empty(&self.r#review) {
2207 serialize_struct.serialize_field("review", {
2208 struct SerializeWith<'a>(&'a Vec<ReviewProperty>);
2209 impl<'a> Serialize for SerializeWith<'a> {
2210 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2211 where
2212 S: Serializer,
2213 {
2214 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2215 self.0, serializer,
2216 )
2217 }
2218 }
2219 &SerializeWith(&self.r#review)
2220 })?;
2221 } else {
2222 serialize_struct.skip_field("review")?;
2223 }
2224 if !Vec::is_empty(&self.r#reviews) {
2225 serialize_struct.serialize_field("reviews", {
2226 struct SerializeWith<'a>(&'a Vec<ReviewsProperty>);
2227 impl<'a> Serialize for SerializeWith<'a> {
2228 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2229 where
2230 S: Serializer,
2231 {
2232 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2233 self.0, serializer,
2234 )
2235 }
2236 }
2237 &SerializeWith(&self.r#reviews)
2238 })?;
2239 } else {
2240 serialize_struct.skip_field("reviews")?;
2241 }
2242 if !Vec::is_empty(&self.r#seeks) {
2243 serialize_struct.serialize_field("seeks", {
2244 struct SerializeWith<'a>(&'a Vec<SeeksProperty>);
2245 impl<'a> Serialize for SerializeWith<'a> {
2246 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2247 where
2248 S: Serializer,
2249 {
2250 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2251 self.0, serializer,
2252 )
2253 }
2254 }
2255 &SerializeWith(&self.r#seeks)
2256 })?;
2257 } else {
2258 serialize_struct.skip_field("seeks")?;
2259 }
2260 if !Vec::is_empty(&self.r#service_area) {
2261 serialize_struct.serialize_field("serviceArea", {
2262 struct SerializeWith<'a>(&'a Vec<ServiceAreaProperty>);
2263 impl<'a> Serialize for SerializeWith<'a> {
2264 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2265 where
2266 S: Serializer,
2267 {
2268 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2269 self.0, serializer,
2270 )
2271 }
2272 }
2273 &SerializeWith(&self.r#service_area)
2274 })?;
2275 } else {
2276 serialize_struct.skip_field("serviceArea")?;
2277 }
2278 if !Vec::is_empty(&self.r#slogan) {
2279 serialize_struct.serialize_field("slogan", {
2280 struct SerializeWith<'a>(&'a Vec<SloganProperty>);
2281 impl<'a> Serialize for SerializeWith<'a> {
2282 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2283 where
2284 S: Serializer,
2285 {
2286 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2287 self.0, serializer,
2288 )
2289 }
2290 }
2291 &SerializeWith(&self.r#slogan)
2292 })?;
2293 } else {
2294 serialize_struct.skip_field("slogan")?;
2295 }
2296 if !Vec::is_empty(&self.r#sponsor) {
2297 serialize_struct.serialize_field("sponsor", {
2298 struct SerializeWith<'a>(&'a Vec<SponsorProperty>);
2299 impl<'a> Serialize for SerializeWith<'a> {
2300 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2301 where
2302 S: Serializer,
2303 {
2304 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2305 self.0, serializer,
2306 )
2307 }
2308 }
2309 &SerializeWith(&self.r#sponsor)
2310 })?;
2311 } else {
2312 serialize_struct.skip_field("sponsor")?;
2313 }
2314 if !Vec::is_empty(&self.r#sub_organization) {
2315 serialize_struct.serialize_field("subOrganization", {
2316 struct SerializeWith<'a>(&'a Vec<SubOrganizationProperty>);
2317 impl<'a> Serialize for SerializeWith<'a> {
2318 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2319 where
2320 S: Serializer,
2321 {
2322 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2323 self.0, serializer,
2324 )
2325 }
2326 }
2327 &SerializeWith(&self.r#sub_organization)
2328 })?;
2329 } else {
2330 serialize_struct.skip_field("subOrganization")?;
2331 }
2332 if !Vec::is_empty(&self.r#tax_id) {
2333 serialize_struct.serialize_field("taxID", {
2334 struct SerializeWith<'a>(&'a Vec<TaxIdProperty>);
2335 impl<'a> Serialize for SerializeWith<'a> {
2336 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2337 where
2338 S: Serializer,
2339 {
2340 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2341 self.0, serializer,
2342 )
2343 }
2344 }
2345 &SerializeWith(&self.r#tax_id)
2346 })?;
2347 } else {
2348 serialize_struct.skip_field("taxID")?;
2349 }
2350 if !Vec::is_empty(&self.r#telephone) {
2351 serialize_struct.serialize_field("telephone", {
2352 struct SerializeWith<'a>(&'a Vec<TelephoneProperty>);
2353 impl<'a> Serialize for SerializeWith<'a> {
2354 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2355 where
2356 S: Serializer,
2357 {
2358 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2359 self.0, serializer,
2360 )
2361 }
2362 }
2363 &SerializeWith(&self.r#telephone)
2364 })?;
2365 } else {
2366 serialize_struct.skip_field("telephone")?;
2367 }
2368 if !Vec::is_empty(&self.r#unnamed_sources_policy) {
2369 serialize_struct.serialize_field("unnamedSourcesPolicy", {
2370 struct SerializeWith<'a>(&'a Vec<UnnamedSourcesPolicyProperty>);
2371 impl<'a> Serialize for SerializeWith<'a> {
2372 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2373 where
2374 S: Serializer,
2375 {
2376 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2377 self.0, serializer,
2378 )
2379 }
2380 }
2381 &SerializeWith(&self.r#unnamed_sources_policy)
2382 })?;
2383 } else {
2384 serialize_struct.skip_field("unnamedSourcesPolicy")?;
2385 }
2386 if !Vec::is_empty(&self.r#vat_id) {
2387 serialize_struct.serialize_field("vatID", {
2388 struct SerializeWith<'a>(&'a Vec<VatIdProperty>);
2389 impl<'a> Serialize for SerializeWith<'a> {
2390 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2391 where
2392 S: Serializer,
2393 {
2394 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2395 self.0, serializer,
2396 )
2397 }
2398 }
2399 &SerializeWith(&self.r#vat_id)
2400 })?;
2401 } else {
2402 serialize_struct.skip_field("vatID")?;
2403 }
2404 if !Vec::is_empty(&self.r#additional_property) {
2405 serialize_struct.serialize_field("additionalProperty", {
2406 struct SerializeWith<'a>(&'a Vec<AdditionalPropertyProperty>);
2407 impl<'a> Serialize for SerializeWith<'a> {
2408 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2409 where
2410 S: Serializer,
2411 {
2412 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2413 self.0, serializer,
2414 )
2415 }
2416 }
2417 &SerializeWith(&self.r#additional_property)
2418 })?;
2419 } else {
2420 serialize_struct.skip_field("additionalProperty")?;
2421 }
2422 if !Vec::is_empty(&self.r#amenity_feature) {
2423 serialize_struct.serialize_field("amenityFeature", {
2424 struct SerializeWith<'a>(&'a Vec<AmenityFeatureProperty>);
2425 impl<'a> Serialize for SerializeWith<'a> {
2426 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2427 where
2428 S: Serializer,
2429 {
2430 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2431 self.0, serializer,
2432 )
2433 }
2434 }
2435 &SerializeWith(&self.r#amenity_feature)
2436 })?;
2437 } else {
2438 serialize_struct.skip_field("amenityFeature")?;
2439 }
2440 if !Vec::is_empty(&self.r#branch_code) {
2441 serialize_struct.serialize_field("branchCode", {
2442 struct SerializeWith<'a>(&'a Vec<BranchCodeProperty>);
2443 impl<'a> Serialize for SerializeWith<'a> {
2444 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2445 where
2446 S: Serializer,
2447 {
2448 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2449 self.0, serializer,
2450 )
2451 }
2452 }
2453 &SerializeWith(&self.r#branch_code)
2454 })?;
2455 } else {
2456 serialize_struct.skip_field("branchCode")?;
2457 }
2458 if !Vec::is_empty(&self.r#contained_in) {
2459 serialize_struct.serialize_field("containedIn", {
2460 struct SerializeWith<'a>(&'a Vec<ContainedInProperty>);
2461 impl<'a> Serialize for SerializeWith<'a> {
2462 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2463 where
2464 S: Serializer,
2465 {
2466 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2467 self.0, serializer,
2468 )
2469 }
2470 }
2471 &SerializeWith(&self.r#contained_in)
2472 })?;
2473 } else {
2474 serialize_struct.skip_field("containedIn")?;
2475 }
2476 if !Vec::is_empty(&self.r#contained_in_place) {
2477 serialize_struct.serialize_field("containedInPlace", {
2478 struct SerializeWith<'a>(&'a Vec<ContainedInPlaceProperty>);
2479 impl<'a> Serialize for SerializeWith<'a> {
2480 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2481 where
2482 S: Serializer,
2483 {
2484 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2485 self.0, serializer,
2486 )
2487 }
2488 }
2489 &SerializeWith(&self.r#contained_in_place)
2490 })?;
2491 } else {
2492 serialize_struct.skip_field("containedInPlace")?;
2493 }
2494 if !Vec::is_empty(&self.r#contains_place) {
2495 serialize_struct.serialize_field("containsPlace", {
2496 struct SerializeWith<'a>(&'a Vec<ContainsPlaceProperty>);
2497 impl<'a> Serialize for SerializeWith<'a> {
2498 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2499 where
2500 S: Serializer,
2501 {
2502 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2503 self.0, serializer,
2504 )
2505 }
2506 }
2507 &SerializeWith(&self.r#contains_place)
2508 })?;
2509 } else {
2510 serialize_struct.skip_field("containsPlace")?;
2511 }
2512 if !Vec::is_empty(&self.r#geo) {
2513 serialize_struct.serialize_field("geo", {
2514 struct SerializeWith<'a>(&'a Vec<GeoProperty>);
2515 impl<'a> Serialize for SerializeWith<'a> {
2516 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2517 where
2518 S: Serializer,
2519 {
2520 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2521 self.0, serializer,
2522 )
2523 }
2524 }
2525 &SerializeWith(&self.r#geo)
2526 })?;
2527 } else {
2528 serialize_struct.skip_field("geo")?;
2529 }
2530 if !Vec::is_empty(&self.r#geo_contains) {
2531 serialize_struct.serialize_field("geoContains", {
2532 struct SerializeWith<'a>(&'a Vec<GeoContainsProperty>);
2533 impl<'a> Serialize for SerializeWith<'a> {
2534 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2535 where
2536 S: Serializer,
2537 {
2538 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2539 self.0, serializer,
2540 )
2541 }
2542 }
2543 &SerializeWith(&self.r#geo_contains)
2544 })?;
2545 } else {
2546 serialize_struct.skip_field("geoContains")?;
2547 }
2548 if !Vec::is_empty(&self.r#geo_covered_by) {
2549 serialize_struct.serialize_field("geoCoveredBy", {
2550 struct SerializeWith<'a>(&'a Vec<GeoCoveredByProperty>);
2551 impl<'a> Serialize for SerializeWith<'a> {
2552 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2553 where
2554 S: Serializer,
2555 {
2556 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2557 self.0, serializer,
2558 )
2559 }
2560 }
2561 &SerializeWith(&self.r#geo_covered_by)
2562 })?;
2563 } else {
2564 serialize_struct.skip_field("geoCoveredBy")?;
2565 }
2566 if !Vec::is_empty(&self.r#geo_covers) {
2567 serialize_struct.serialize_field("geoCovers", {
2568 struct SerializeWith<'a>(&'a Vec<GeoCoversProperty>);
2569 impl<'a> Serialize for SerializeWith<'a> {
2570 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2571 where
2572 S: Serializer,
2573 {
2574 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2575 self.0, serializer,
2576 )
2577 }
2578 }
2579 &SerializeWith(&self.r#geo_covers)
2580 })?;
2581 } else {
2582 serialize_struct.skip_field("geoCovers")?;
2583 }
2584 if !Vec::is_empty(&self.r#geo_crosses) {
2585 serialize_struct.serialize_field("geoCrosses", {
2586 struct SerializeWith<'a>(&'a Vec<GeoCrossesProperty>);
2587 impl<'a> Serialize for SerializeWith<'a> {
2588 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2589 where
2590 S: Serializer,
2591 {
2592 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2593 self.0, serializer,
2594 )
2595 }
2596 }
2597 &SerializeWith(&self.r#geo_crosses)
2598 })?;
2599 } else {
2600 serialize_struct.skip_field("geoCrosses")?;
2601 }
2602 if !Vec::is_empty(&self.r#geo_disjoint) {
2603 serialize_struct.serialize_field("geoDisjoint", {
2604 struct SerializeWith<'a>(&'a Vec<GeoDisjointProperty>);
2605 impl<'a> Serialize for SerializeWith<'a> {
2606 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2607 where
2608 S: Serializer,
2609 {
2610 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2611 self.0, serializer,
2612 )
2613 }
2614 }
2615 &SerializeWith(&self.r#geo_disjoint)
2616 })?;
2617 } else {
2618 serialize_struct.skip_field("geoDisjoint")?;
2619 }
2620 if !Vec::is_empty(&self.r#geo_equals) {
2621 serialize_struct.serialize_field("geoEquals", {
2622 struct SerializeWith<'a>(&'a Vec<GeoEqualsProperty>);
2623 impl<'a> Serialize for SerializeWith<'a> {
2624 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2625 where
2626 S: Serializer,
2627 {
2628 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2629 self.0, serializer,
2630 )
2631 }
2632 }
2633 &SerializeWith(&self.r#geo_equals)
2634 })?;
2635 } else {
2636 serialize_struct.skip_field("geoEquals")?;
2637 }
2638 if !Vec::is_empty(&self.r#geo_intersects) {
2639 serialize_struct.serialize_field("geoIntersects", {
2640 struct SerializeWith<'a>(&'a Vec<GeoIntersectsProperty>);
2641 impl<'a> Serialize for SerializeWith<'a> {
2642 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2643 where
2644 S: Serializer,
2645 {
2646 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2647 self.0, serializer,
2648 )
2649 }
2650 }
2651 &SerializeWith(&self.r#geo_intersects)
2652 })?;
2653 } else {
2654 serialize_struct.skip_field("geoIntersects")?;
2655 }
2656 if !Vec::is_empty(&self.r#geo_overlaps) {
2657 serialize_struct.serialize_field("geoOverlaps", {
2658 struct SerializeWith<'a>(&'a Vec<GeoOverlapsProperty>);
2659 impl<'a> Serialize for SerializeWith<'a> {
2660 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2661 where
2662 S: Serializer,
2663 {
2664 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2665 self.0, serializer,
2666 )
2667 }
2668 }
2669 &SerializeWith(&self.r#geo_overlaps)
2670 })?;
2671 } else {
2672 serialize_struct.skip_field("geoOverlaps")?;
2673 }
2674 if !Vec::is_empty(&self.r#geo_touches) {
2675 serialize_struct.serialize_field("geoTouches", {
2676 struct SerializeWith<'a>(&'a Vec<GeoTouchesProperty>);
2677 impl<'a> Serialize for SerializeWith<'a> {
2678 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2679 where
2680 S: Serializer,
2681 {
2682 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2683 self.0, serializer,
2684 )
2685 }
2686 }
2687 &SerializeWith(&self.r#geo_touches)
2688 })?;
2689 } else {
2690 serialize_struct.skip_field("geoTouches")?;
2691 }
2692 if !Vec::is_empty(&self.r#geo_within) {
2693 serialize_struct.serialize_field("geoWithin", {
2694 struct SerializeWith<'a>(&'a Vec<GeoWithinProperty>);
2695 impl<'a> Serialize for SerializeWith<'a> {
2696 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2697 where
2698 S: Serializer,
2699 {
2700 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2701 self.0, serializer,
2702 )
2703 }
2704 }
2705 &SerializeWith(&self.r#geo_within)
2706 })?;
2707 } else {
2708 serialize_struct.skip_field("geoWithin")?;
2709 }
2710 if !Vec::is_empty(&self.r#has_drive_through_service) {
2711 serialize_struct.serialize_field("hasDriveThroughService", {
2712 struct SerializeWith<'a>(&'a Vec<HasDriveThroughServiceProperty>);
2713 impl<'a> Serialize for SerializeWith<'a> {
2714 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2715 where
2716 S: Serializer,
2717 {
2718 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2719 self.0, serializer,
2720 )
2721 }
2722 }
2723 &SerializeWith(&self.r#has_drive_through_service)
2724 })?;
2725 } else {
2726 serialize_struct.skip_field("hasDriveThroughService")?;
2727 }
2728 if !Vec::is_empty(&self.r#has_map) {
2729 serialize_struct.serialize_field("hasMap", {
2730 struct SerializeWith<'a>(&'a Vec<HasMapProperty>);
2731 impl<'a> Serialize for SerializeWith<'a> {
2732 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2733 where
2734 S: Serializer,
2735 {
2736 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2737 self.0, serializer,
2738 )
2739 }
2740 }
2741 &SerializeWith(&self.r#has_map)
2742 })?;
2743 } else {
2744 serialize_struct.skip_field("hasMap")?;
2745 }
2746 if !Vec::is_empty(&self.r#is_accessible_for_free) {
2747 serialize_struct.serialize_field("isAccessibleForFree", {
2748 struct SerializeWith<'a>(&'a Vec<IsAccessibleForFreeProperty>);
2749 impl<'a> Serialize for SerializeWith<'a> {
2750 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2751 where
2752 S: Serializer,
2753 {
2754 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2755 self.0, serializer,
2756 )
2757 }
2758 }
2759 &SerializeWith(&self.r#is_accessible_for_free)
2760 })?;
2761 } else {
2762 serialize_struct.skip_field("isAccessibleForFree")?;
2763 }
2764 if !Vec::is_empty(&self.r#latitude) {
2765 serialize_struct.serialize_field("latitude", {
2766 struct SerializeWith<'a>(&'a Vec<LatitudeProperty>);
2767 impl<'a> Serialize for SerializeWith<'a> {
2768 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2769 where
2770 S: Serializer,
2771 {
2772 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2773 self.0, serializer,
2774 )
2775 }
2776 }
2777 &SerializeWith(&self.r#latitude)
2778 })?;
2779 } else {
2780 serialize_struct.skip_field("latitude")?;
2781 }
2782 if !Vec::is_empty(&self.r#longitude) {
2783 serialize_struct.serialize_field("longitude", {
2784 struct SerializeWith<'a>(&'a Vec<LongitudeProperty>);
2785 impl<'a> Serialize for SerializeWith<'a> {
2786 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2787 where
2788 S: Serializer,
2789 {
2790 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2791 self.0, serializer,
2792 )
2793 }
2794 }
2795 &SerializeWith(&self.r#longitude)
2796 })?;
2797 } else {
2798 serialize_struct.skip_field("longitude")?;
2799 }
2800 if !Vec::is_empty(&self.r#map) {
2801 serialize_struct.serialize_field("map", {
2802 struct SerializeWith<'a>(&'a Vec<MapProperty>);
2803 impl<'a> Serialize for SerializeWith<'a> {
2804 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2805 where
2806 S: Serializer,
2807 {
2808 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2809 self.0, serializer,
2810 )
2811 }
2812 }
2813 &SerializeWith(&self.r#map)
2814 })?;
2815 } else {
2816 serialize_struct.skip_field("map")?;
2817 }
2818 if !Vec::is_empty(&self.r#maps) {
2819 serialize_struct.serialize_field("maps", {
2820 struct SerializeWith<'a>(&'a Vec<MapsProperty>);
2821 impl<'a> Serialize for SerializeWith<'a> {
2822 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2823 where
2824 S: Serializer,
2825 {
2826 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2827 self.0, serializer,
2828 )
2829 }
2830 }
2831 &SerializeWith(&self.r#maps)
2832 })?;
2833 } else {
2834 serialize_struct.skip_field("maps")?;
2835 }
2836 if !Vec::is_empty(&self.r#maximum_attendee_capacity) {
2837 serialize_struct.serialize_field("maximumAttendeeCapacity", {
2838 struct SerializeWith<'a>(&'a Vec<MaximumAttendeeCapacityProperty>);
2839 impl<'a> Serialize for SerializeWith<'a> {
2840 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2841 where
2842 S: Serializer,
2843 {
2844 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2845 self.0, serializer,
2846 )
2847 }
2848 }
2849 &SerializeWith(&self.r#maximum_attendee_capacity)
2850 })?;
2851 } else {
2852 serialize_struct.skip_field("maximumAttendeeCapacity")?;
2853 }
2854 if !Vec::is_empty(&self.r#opening_hours_specification) {
2855 serialize_struct.serialize_field("openingHoursSpecification", {
2856 struct SerializeWith<'a>(&'a Vec<OpeningHoursSpecificationProperty>);
2857 impl<'a> Serialize for SerializeWith<'a> {
2858 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2859 where
2860 S: Serializer,
2861 {
2862 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2863 self.0, serializer,
2864 )
2865 }
2866 }
2867 &SerializeWith(&self.r#opening_hours_specification)
2868 })?;
2869 } else {
2870 serialize_struct.skip_field("openingHoursSpecification")?;
2871 }
2872 if !Vec::is_empty(&self.r#photo) {
2873 serialize_struct.serialize_field("photo", {
2874 struct SerializeWith<'a>(&'a Vec<PhotoProperty>);
2875 impl<'a> Serialize for SerializeWith<'a> {
2876 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2877 where
2878 S: Serializer,
2879 {
2880 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2881 self.0, serializer,
2882 )
2883 }
2884 }
2885 &SerializeWith(&self.r#photo)
2886 })?;
2887 } else {
2888 serialize_struct.skip_field("photo")?;
2889 }
2890 if !Vec::is_empty(&self.r#photos) {
2891 serialize_struct.serialize_field("photos", {
2892 struct SerializeWith<'a>(&'a Vec<PhotosProperty>);
2893 impl<'a> Serialize for SerializeWith<'a> {
2894 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2895 where
2896 S: Serializer,
2897 {
2898 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2899 self.0, serializer,
2900 )
2901 }
2902 }
2903 &SerializeWith(&self.r#photos)
2904 })?;
2905 } else {
2906 serialize_struct.skip_field("photos")?;
2907 }
2908 if !Vec::is_empty(&self.r#public_access) {
2909 serialize_struct.serialize_field("publicAccess", {
2910 struct SerializeWith<'a>(&'a Vec<PublicAccessProperty>);
2911 impl<'a> Serialize for SerializeWith<'a> {
2912 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2913 where
2914 S: Serializer,
2915 {
2916 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2917 self.0, serializer,
2918 )
2919 }
2920 }
2921 &SerializeWith(&self.r#public_access)
2922 })?;
2923 } else {
2924 serialize_struct.skip_field("publicAccess")?;
2925 }
2926 if !Vec::is_empty(&self.r#smoking_allowed) {
2927 serialize_struct.serialize_field("smokingAllowed", {
2928 struct SerializeWith<'a>(&'a Vec<SmokingAllowedProperty>);
2929 impl<'a> Serialize for SerializeWith<'a> {
2930 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2931 where
2932 S: Serializer,
2933 {
2934 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2935 self.0, serializer,
2936 )
2937 }
2938 }
2939 &SerializeWith(&self.r#smoking_allowed)
2940 })?;
2941 } else {
2942 serialize_struct.skip_field("smokingAllowed")?;
2943 }
2944 if !Vec::is_empty(&self.r#special_opening_hours_specification) {
2945 serialize_struct.serialize_field("specialOpeningHoursSpecification", {
2946 struct SerializeWith<'a>(&'a Vec<SpecialOpeningHoursSpecificationProperty>);
2947 impl<'a> Serialize for SerializeWith<'a> {
2948 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2949 where
2950 S: Serializer,
2951 {
2952 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2953 self.0, serializer,
2954 )
2955 }
2956 }
2957 &SerializeWith(&self.r#special_opening_hours_specification)
2958 })?;
2959 } else {
2960 serialize_struct.skip_field("specialOpeningHoursSpecification")?;
2961 }
2962 if !Vec::is_empty(&self.r#tour_booking_page) {
2963 serialize_struct.serialize_field("tourBookingPage", {
2964 struct SerializeWith<'a>(&'a Vec<TourBookingPageProperty>);
2965 impl<'a> Serialize for SerializeWith<'a> {
2966 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2967 where
2968 S: Serializer,
2969 {
2970 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2971 self.0, serializer,
2972 )
2973 }
2974 }
2975 &SerializeWith(&self.r#tour_booking_page)
2976 })?;
2977 } else {
2978 serialize_struct.skip_field("tourBookingPage")?;
2979 }
2980 if !Vec::is_empty(&self.r#additional_type) {
2981 serialize_struct.serialize_field("additionalType", {
2982 struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
2983 impl<'a> Serialize for SerializeWith<'a> {
2984 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2985 where
2986 S: Serializer,
2987 {
2988 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
2989 self.0, serializer,
2990 )
2991 }
2992 }
2993 &SerializeWith(&self.r#additional_type)
2994 })?;
2995 } else {
2996 serialize_struct.skip_field("additionalType")?;
2997 }
2998 if !Vec::is_empty(&self.r#alternate_name) {
2999 serialize_struct.serialize_field("alternateName", {
3000 struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
3001 impl<'a> Serialize for SerializeWith<'a> {
3002 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3003 where
3004 S: Serializer,
3005 {
3006 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3007 self.0, serializer,
3008 )
3009 }
3010 }
3011 &SerializeWith(&self.r#alternate_name)
3012 })?;
3013 } else {
3014 serialize_struct.skip_field("alternateName")?;
3015 }
3016 if !Vec::is_empty(&self.r#description) {
3017 serialize_struct.serialize_field("description", {
3018 struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
3019 impl<'a> Serialize for SerializeWith<'a> {
3020 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3021 where
3022 S: Serializer,
3023 {
3024 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3025 self.0, serializer,
3026 )
3027 }
3028 }
3029 &SerializeWith(&self.r#description)
3030 })?;
3031 } else {
3032 serialize_struct.skip_field("description")?;
3033 }
3034 if !Vec::is_empty(&self.r#disambiguating_description) {
3035 serialize_struct.serialize_field("disambiguatingDescription", {
3036 struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
3037 impl<'a> Serialize for SerializeWith<'a> {
3038 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3039 where
3040 S: Serializer,
3041 {
3042 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3043 self.0, serializer,
3044 )
3045 }
3046 }
3047 &SerializeWith(&self.r#disambiguating_description)
3048 })?;
3049 } else {
3050 serialize_struct.skip_field("disambiguatingDescription")?;
3051 }
3052 if !Vec::is_empty(&self.r#identifier) {
3053 serialize_struct.serialize_field("identifier", {
3054 struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
3055 impl<'a> Serialize for SerializeWith<'a> {
3056 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3057 where
3058 S: Serializer,
3059 {
3060 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3061 self.0, serializer,
3062 )
3063 }
3064 }
3065 &SerializeWith(&self.r#identifier)
3066 })?;
3067 } else {
3068 serialize_struct.skip_field("identifier")?;
3069 }
3070 if !Vec::is_empty(&self.r#image) {
3071 serialize_struct.serialize_field("image", {
3072 struct SerializeWith<'a>(&'a Vec<ImageProperty>);
3073 impl<'a> Serialize for SerializeWith<'a> {
3074 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3075 where
3076 S: Serializer,
3077 {
3078 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3079 self.0, serializer,
3080 )
3081 }
3082 }
3083 &SerializeWith(&self.r#image)
3084 })?;
3085 } else {
3086 serialize_struct.skip_field("image")?;
3087 }
3088 if !Vec::is_empty(&self.r#main_entity_of_page) {
3089 serialize_struct.serialize_field("mainEntityOfPage", {
3090 struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
3091 impl<'a> Serialize for SerializeWith<'a> {
3092 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3093 where
3094 S: Serializer,
3095 {
3096 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3097 self.0, serializer,
3098 )
3099 }
3100 }
3101 &SerializeWith(&self.r#main_entity_of_page)
3102 })?;
3103 } else {
3104 serialize_struct.skip_field("mainEntityOfPage")?;
3105 }
3106 if !Vec::is_empty(&self.r#name) {
3107 serialize_struct.serialize_field("name", {
3108 struct SerializeWith<'a>(&'a Vec<NameProperty>);
3109 impl<'a> Serialize for SerializeWith<'a> {
3110 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3111 where
3112 S: Serializer,
3113 {
3114 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3115 self.0, serializer,
3116 )
3117 }
3118 }
3119 &SerializeWith(&self.r#name)
3120 })?;
3121 } else {
3122 serialize_struct.skip_field("name")?;
3123 }
3124 if !Vec::is_empty(&self.r#potential_action) {
3125 serialize_struct.serialize_field("potentialAction", {
3126 struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
3127 impl<'a> Serialize for SerializeWith<'a> {
3128 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3129 where
3130 S: Serializer,
3131 {
3132 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3133 self.0, serializer,
3134 )
3135 }
3136 }
3137 &SerializeWith(&self.r#potential_action)
3138 })?;
3139 } else {
3140 serialize_struct.skip_field("potentialAction")?;
3141 }
3142 if !Vec::is_empty(&self.r#same_as) {
3143 serialize_struct.serialize_field("sameAs", {
3144 struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
3145 impl<'a> Serialize for SerializeWith<'a> {
3146 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3147 where
3148 S: Serializer,
3149 {
3150 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3151 self.0, serializer,
3152 )
3153 }
3154 }
3155 &SerializeWith(&self.r#same_as)
3156 })?;
3157 } else {
3158 serialize_struct.skip_field("sameAs")?;
3159 }
3160 if !Vec::is_empty(&self.r#subject_of) {
3161 serialize_struct.serialize_field("subjectOf", {
3162 struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
3163 impl<'a> Serialize for SerializeWith<'a> {
3164 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3165 where
3166 S: Serializer,
3167 {
3168 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3169 self.0, serializer,
3170 )
3171 }
3172 }
3173 &SerializeWith(&self.r#subject_of)
3174 })?;
3175 } else {
3176 serialize_struct.skip_field("subjectOf")?;
3177 }
3178 if !Vec::is_empty(&self.r#url) {
3179 serialize_struct.serialize_field("url", {
3180 struct SerializeWith<'a>(&'a Vec<UrlProperty>);
3181 impl<'a> Serialize for SerializeWith<'a> {
3182 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3183 where
3184 S: Serializer,
3185 {
3186 serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
3187 self.0, serializer,
3188 )
3189 }
3190 }
3191 &SerializeWith(&self.r#url)
3192 })?;
3193 } else {
3194 serialize_struct.skip_field("url")?;
3195 }
3196 serialize_struct.end()
3197 }
3198 }
3199 impl<'de> Deserialize<'de> for EducationalOrganization {
3200 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3201 where
3202 D: Deserializer<'de>,
3203 {
3204 enum Field {
3205 Alumni,
3206 OpeningHours,
3207 ActionableFeedbackPolicy,
3208 Address,
3209 AgentInteractionStatistic,
3210 AggregateRating,
3211 AreaServed,
3212 Award,
3213 Awards,
3214 Brand,
3215 ContactPoint,
3216 ContactPoints,
3217 CorrectionsPolicy,
3218 Department,
3219 DissolutionDate,
3220 DiversityPolicy,
3221 DiversityStaffingReport,
3222 Duns,
3223 Email,
3224 Employee,
3225 Employees,
3226 EthicsPolicy,
3227 Event,
3228 Events,
3229 FaxNumber,
3230 Founder,
3231 Founders,
3232 FoundingDate,
3233 FoundingLocation,
3234 Funder,
3235 Funding,
3236 GlobalLocationNumber,
3237 HasCredential,
3238 HasMerchantReturnPolicy,
3239 HasOfferCatalog,
3240 HasPos,
3241 HasProductReturnPolicy,
3242 InteractionStatistic,
3243 IsicV4,
3244 Iso6523Code,
3245 Keywords,
3246 KnowsAbout,
3247 KnowsLanguage,
3248 LegalName,
3249 LeiCode,
3250 Location,
3251 Logo,
3252 MakesOffer,
3253 Member,
3254 MemberOf,
3255 Members,
3256 Naics,
3257 NonprofitStatus,
3258 NumberOfEmployees,
3259 OwnershipFundingInfo,
3260 Owns,
3261 ParentOrganization,
3262 PublishingPrinciples,
3263 Review,
3264 Reviews,
3265 Seeks,
3266 ServiceArea,
3267 Slogan,
3268 Sponsor,
3269 SubOrganization,
3270 TaxId,
3271 Telephone,
3272 UnnamedSourcesPolicy,
3273 VatId,
3274 AdditionalProperty,
3275 AmenityFeature,
3276 BranchCode,
3277 ContainedIn,
3278 ContainedInPlace,
3279 ContainsPlace,
3280 Geo,
3281 GeoContains,
3282 GeoCoveredBy,
3283 GeoCovers,
3284 GeoCrosses,
3285 GeoDisjoint,
3286 GeoEquals,
3287 GeoIntersects,
3288 GeoOverlaps,
3289 GeoTouches,
3290 GeoWithin,
3291 HasDriveThroughService,
3292 HasMap,
3293 IsAccessibleForFree,
3294 Latitude,
3295 Longitude,
3296 Map,
3297 Maps,
3298 MaximumAttendeeCapacity,
3299 OpeningHoursSpecification,
3300 Photo,
3301 Photos,
3302 PublicAccess,
3303 SmokingAllowed,
3304 SpecialOpeningHoursSpecification,
3305 TourBookingPage,
3306 AdditionalType,
3307 AlternateName,
3308 Description,
3309 DisambiguatingDescription,
3310 Identifier,
3311 Image,
3312 MainEntityOfPage,
3313 Name,
3314 PotentialAction,
3315 SameAs,
3316 SubjectOf,
3317 Url,
3318 Ignore,
3319 }
3320 struct FieldVisitor;
3321 impl<'de> Visitor<'de> for FieldVisitor {
3322 type Value = Field;
3323 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3324 formatter.write_str("field identifier")
3325 }
3326 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
3327 where
3328 E: de::Error,
3329 {
3330 match value {
3331 "alumni" => Ok(Field::Alumni),
3332 "openingHours" => Ok(Field::OpeningHours),
3333 "actionableFeedbackPolicy" => Ok(Field::ActionableFeedbackPolicy),
3334 "address" => Ok(Field::Address),
3335 "agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
3336 "aggregateRating" => Ok(Field::AggregateRating),
3337 "areaServed" => Ok(Field::AreaServed),
3338 "award" => Ok(Field::Award),
3339 "awards" => Ok(Field::Awards),
3340 "brand" => Ok(Field::Brand),
3341 "contactPoint" => Ok(Field::ContactPoint),
3342 "contactPoints" => Ok(Field::ContactPoints),
3343 "correctionsPolicy" => Ok(Field::CorrectionsPolicy),
3344 "department" => Ok(Field::Department),
3345 "dissolutionDate" => Ok(Field::DissolutionDate),
3346 "diversityPolicy" => Ok(Field::DiversityPolicy),
3347 "diversityStaffingReport" => Ok(Field::DiversityStaffingReport),
3348 "duns" => Ok(Field::Duns),
3349 "email" => Ok(Field::Email),
3350 "employee" => Ok(Field::Employee),
3351 "employees" => Ok(Field::Employees),
3352 "ethicsPolicy" => Ok(Field::EthicsPolicy),
3353 "event" => Ok(Field::Event),
3354 "events" => Ok(Field::Events),
3355 "faxNumber" => Ok(Field::FaxNumber),
3356 "founder" => Ok(Field::Founder),
3357 "founders" => Ok(Field::Founders),
3358 "foundingDate" => Ok(Field::FoundingDate),
3359 "foundingLocation" => Ok(Field::FoundingLocation),
3360 "funder" => Ok(Field::Funder),
3361 "funding" => Ok(Field::Funding),
3362 "globalLocationNumber" => Ok(Field::GlobalLocationNumber),
3363 "hasCredential" => Ok(Field::HasCredential),
3364 "hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3365 "hasOfferCatalog" => Ok(Field::HasOfferCatalog),
3366 "hasPOS" => Ok(Field::HasPos),
3367 "hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3368 "interactionStatistic" => Ok(Field::InteractionStatistic),
3369 "isicV4" => Ok(Field::IsicV4),
3370 "iso6523Code" => Ok(Field::Iso6523Code),
3371 "keywords" => Ok(Field::Keywords),
3372 "knowsAbout" => Ok(Field::KnowsAbout),
3373 "knowsLanguage" => Ok(Field::KnowsLanguage),
3374 "legalName" => Ok(Field::LegalName),
3375 "leiCode" => Ok(Field::LeiCode),
3376 "location" => Ok(Field::Location),
3377 "logo" => Ok(Field::Logo),
3378 "makesOffer" => Ok(Field::MakesOffer),
3379 "member" => Ok(Field::Member),
3380 "memberOf" => Ok(Field::MemberOf),
3381 "members" => Ok(Field::Members),
3382 "naics" => Ok(Field::Naics),
3383 "nonprofitStatus" => Ok(Field::NonprofitStatus),
3384 "numberOfEmployees" => Ok(Field::NumberOfEmployees),
3385 "ownershipFundingInfo" => Ok(Field::OwnershipFundingInfo),
3386 "owns" => Ok(Field::Owns),
3387 "parentOrganization" => Ok(Field::ParentOrganization),
3388 "publishingPrinciples" => Ok(Field::PublishingPrinciples),
3389 "review" => Ok(Field::Review),
3390 "reviews" => Ok(Field::Reviews),
3391 "seeks" => Ok(Field::Seeks),
3392 "serviceArea" => Ok(Field::ServiceArea),
3393 "slogan" => Ok(Field::Slogan),
3394 "sponsor" => Ok(Field::Sponsor),
3395 "subOrganization" => Ok(Field::SubOrganization),
3396 "taxID" => Ok(Field::TaxId),
3397 "telephone" => Ok(Field::Telephone),
3398 "unnamedSourcesPolicy" => Ok(Field::UnnamedSourcesPolicy),
3399 "vatID" => Ok(Field::VatId),
3400 "additionalProperty" => Ok(Field::AdditionalProperty),
3401 "amenityFeature" => Ok(Field::AmenityFeature),
3402 "branchCode" => Ok(Field::BranchCode),
3403 "containedIn" => Ok(Field::ContainedIn),
3404 "containedInPlace" => Ok(Field::ContainedInPlace),
3405 "containsPlace" => Ok(Field::ContainsPlace),
3406 "geo" => Ok(Field::Geo),
3407 "geoContains" => Ok(Field::GeoContains),
3408 "geoCoveredBy" => Ok(Field::GeoCoveredBy),
3409 "geoCovers" => Ok(Field::GeoCovers),
3410 "geoCrosses" => Ok(Field::GeoCrosses),
3411 "geoDisjoint" => Ok(Field::GeoDisjoint),
3412 "geoEquals" => Ok(Field::GeoEquals),
3413 "geoIntersects" => Ok(Field::GeoIntersects),
3414 "geoOverlaps" => Ok(Field::GeoOverlaps),
3415 "geoTouches" => Ok(Field::GeoTouches),
3416 "geoWithin" => Ok(Field::GeoWithin),
3417 "hasDriveThroughService" => Ok(Field::HasDriveThroughService),
3418 "hasMap" => Ok(Field::HasMap),
3419 "isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
3420 "latitude" => Ok(Field::Latitude),
3421 "longitude" => Ok(Field::Longitude),
3422 "map" => Ok(Field::Map),
3423 "maps" => Ok(Field::Maps),
3424 "maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
3425 "openingHoursSpecification" => Ok(Field::OpeningHoursSpecification),
3426 "photo" => Ok(Field::Photo),
3427 "photos" => Ok(Field::Photos),
3428 "publicAccess" => Ok(Field::PublicAccess),
3429 "smokingAllowed" => Ok(Field::SmokingAllowed),
3430 "specialOpeningHoursSpecification" => {
3431 Ok(Field::SpecialOpeningHoursSpecification)
3432 }
3433 "tourBookingPage" => Ok(Field::TourBookingPage),
3434 "additionalType" => Ok(Field::AdditionalType),
3435 "alternateName" => Ok(Field::AlternateName),
3436 "description" => Ok(Field::Description),
3437 "disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3438 "identifier" => Ok(Field::Identifier),
3439 "image" => Ok(Field::Image),
3440 "mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3441 "name" => Ok(Field::Name),
3442 "potentialAction" => Ok(Field::PotentialAction),
3443 "sameAs" => Ok(Field::SameAs),
3444 "subjectOf" => Ok(Field::SubjectOf),
3445 "url" => Ok(Field::Url),
3446 "id" | "type" => Ok(Field::Ignore),
3447 _ => Err(de::Error::unknown_field(value, FIELDS)),
3448 }
3449 }
3450 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
3451 where
3452 E: de::Error,
3453 {
3454 match value {
3455 b"alumni" => Ok(Field::Alumni),
3456 b"openingHours" => Ok(Field::OpeningHours),
3457 b"actionableFeedbackPolicy" => Ok(Field::ActionableFeedbackPolicy),
3458 b"address" => Ok(Field::Address),
3459 b"agentInteractionStatistic" => Ok(Field::AgentInteractionStatistic),
3460 b"aggregateRating" => Ok(Field::AggregateRating),
3461 b"areaServed" => Ok(Field::AreaServed),
3462 b"award" => Ok(Field::Award),
3463 b"awards" => Ok(Field::Awards),
3464 b"brand" => Ok(Field::Brand),
3465 b"contactPoint" => Ok(Field::ContactPoint),
3466 b"contactPoints" => Ok(Field::ContactPoints),
3467 b"correctionsPolicy" => Ok(Field::CorrectionsPolicy),
3468 b"department" => Ok(Field::Department),
3469 b"dissolutionDate" => Ok(Field::DissolutionDate),
3470 b"diversityPolicy" => Ok(Field::DiversityPolicy),
3471 b"diversityStaffingReport" => Ok(Field::DiversityStaffingReport),
3472 b"duns" => Ok(Field::Duns),
3473 b"email" => Ok(Field::Email),
3474 b"employee" => Ok(Field::Employee),
3475 b"employees" => Ok(Field::Employees),
3476 b"ethicsPolicy" => Ok(Field::EthicsPolicy),
3477 b"event" => Ok(Field::Event),
3478 b"events" => Ok(Field::Events),
3479 b"faxNumber" => Ok(Field::FaxNumber),
3480 b"founder" => Ok(Field::Founder),
3481 b"founders" => Ok(Field::Founders),
3482 b"foundingDate" => Ok(Field::FoundingDate),
3483 b"foundingLocation" => Ok(Field::FoundingLocation),
3484 b"funder" => Ok(Field::Funder),
3485 b"funding" => Ok(Field::Funding),
3486 b"globalLocationNumber" => Ok(Field::GlobalLocationNumber),
3487 b"hasCredential" => Ok(Field::HasCredential),
3488 b"hasMerchantReturnPolicy" => Ok(Field::HasMerchantReturnPolicy),
3489 b"hasOfferCatalog" => Ok(Field::HasOfferCatalog),
3490 b"hasPOS" => Ok(Field::HasPos),
3491 b"hasProductReturnPolicy" => Ok(Field::HasProductReturnPolicy),
3492 b"interactionStatistic" => Ok(Field::InteractionStatistic),
3493 b"isicV4" => Ok(Field::IsicV4),
3494 b"iso6523Code" => Ok(Field::Iso6523Code),
3495 b"keywords" => Ok(Field::Keywords),
3496 b"knowsAbout" => Ok(Field::KnowsAbout),
3497 b"knowsLanguage" => Ok(Field::KnowsLanguage),
3498 b"legalName" => Ok(Field::LegalName),
3499 b"leiCode" => Ok(Field::LeiCode),
3500 b"location" => Ok(Field::Location),
3501 b"logo" => Ok(Field::Logo),
3502 b"makesOffer" => Ok(Field::MakesOffer),
3503 b"member" => Ok(Field::Member),
3504 b"memberOf" => Ok(Field::MemberOf),
3505 b"members" => Ok(Field::Members),
3506 b"naics" => Ok(Field::Naics),
3507 b"nonprofitStatus" => Ok(Field::NonprofitStatus),
3508 b"numberOfEmployees" => Ok(Field::NumberOfEmployees),
3509 b"ownershipFundingInfo" => Ok(Field::OwnershipFundingInfo),
3510 b"owns" => Ok(Field::Owns),
3511 b"parentOrganization" => Ok(Field::ParentOrganization),
3512 b"publishingPrinciples" => Ok(Field::PublishingPrinciples),
3513 b"review" => Ok(Field::Review),
3514 b"reviews" => Ok(Field::Reviews),
3515 b"seeks" => Ok(Field::Seeks),
3516 b"serviceArea" => Ok(Field::ServiceArea),
3517 b"slogan" => Ok(Field::Slogan),
3518 b"sponsor" => Ok(Field::Sponsor),
3519 b"subOrganization" => Ok(Field::SubOrganization),
3520 b"taxID" => Ok(Field::TaxId),
3521 b"telephone" => Ok(Field::Telephone),
3522 b"unnamedSourcesPolicy" => Ok(Field::UnnamedSourcesPolicy),
3523 b"vatID" => Ok(Field::VatId),
3524 b"additionalProperty" => Ok(Field::AdditionalProperty),
3525 b"amenityFeature" => Ok(Field::AmenityFeature),
3526 b"branchCode" => Ok(Field::BranchCode),
3527 b"containedIn" => Ok(Field::ContainedIn),
3528 b"containedInPlace" => Ok(Field::ContainedInPlace),
3529 b"containsPlace" => Ok(Field::ContainsPlace),
3530 b"geo" => Ok(Field::Geo),
3531 b"geoContains" => Ok(Field::GeoContains),
3532 b"geoCoveredBy" => Ok(Field::GeoCoveredBy),
3533 b"geoCovers" => Ok(Field::GeoCovers),
3534 b"geoCrosses" => Ok(Field::GeoCrosses),
3535 b"geoDisjoint" => Ok(Field::GeoDisjoint),
3536 b"geoEquals" => Ok(Field::GeoEquals),
3537 b"geoIntersects" => Ok(Field::GeoIntersects),
3538 b"geoOverlaps" => Ok(Field::GeoOverlaps),
3539 b"geoTouches" => Ok(Field::GeoTouches),
3540 b"geoWithin" => Ok(Field::GeoWithin),
3541 b"hasDriveThroughService" => Ok(Field::HasDriveThroughService),
3542 b"hasMap" => Ok(Field::HasMap),
3543 b"isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
3544 b"latitude" => Ok(Field::Latitude),
3545 b"longitude" => Ok(Field::Longitude),
3546 b"map" => Ok(Field::Map),
3547 b"maps" => Ok(Field::Maps),
3548 b"maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
3549 b"openingHoursSpecification" => Ok(Field::OpeningHoursSpecification),
3550 b"photo" => Ok(Field::Photo),
3551 b"photos" => Ok(Field::Photos),
3552 b"publicAccess" => Ok(Field::PublicAccess),
3553 b"smokingAllowed" => Ok(Field::SmokingAllowed),
3554 b"specialOpeningHoursSpecification" => {
3555 Ok(Field::SpecialOpeningHoursSpecification)
3556 }
3557 b"tourBookingPage" => Ok(Field::TourBookingPage),
3558 b"additionalType" => Ok(Field::AdditionalType),
3559 b"alternateName" => Ok(Field::AlternateName),
3560 b"description" => Ok(Field::Description),
3561 b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
3562 b"identifier" => Ok(Field::Identifier),
3563 b"image" => Ok(Field::Image),
3564 b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
3565 b"name" => Ok(Field::Name),
3566 b"potentialAction" => Ok(Field::PotentialAction),
3567 b"sameAs" => Ok(Field::SameAs),
3568 b"subjectOf" => Ok(Field::SubjectOf),
3569 b"url" => Ok(Field::Url),
3570 b"id" | b"type" => Ok(Field::Ignore),
3571 _ => {
3572 let value = &String::from_utf8_lossy(value);
3573 Err(de::Error::unknown_field(value, FIELDS))
3574 }
3575 }
3576 }
3577 }
3578 impl<'de> Deserialize<'de> for Field {
3579 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3580 where
3581 D: Deserializer<'de>,
3582 {
3583 deserializer.deserialize_identifier(FieldVisitor)
3584 }
3585 }
3586 struct ClassVisitor;
3587 impl<'de> Visitor<'de> for ClassVisitor {
3588 type Value = EducationalOrganization;
3589 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
3590 formatter.write_str("schema.org schema EducationalOrganization")
3591 }
3592 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
3593 where
3594 A: de::MapAccess<'de>,
3595 {
3596 let mut r#alumni_property = None;
3597 let mut r#opening_hours_property = None;
3598 let mut r#actionable_feedback_policy_property = None;
3599 let mut r#address_property = None;
3600 let mut r#agent_interaction_statistic_property = None;
3601 let mut r#aggregate_rating_property = None;
3602 let mut r#area_served_property = None;
3603 let mut r#award_property = None;
3604 let mut r#awards_property = None;
3605 let mut r#brand_property = None;
3606 let mut r#contact_point_property = None;
3607 let mut r#contact_points_property = None;
3608 let mut r#corrections_policy_property = None;
3609 let mut r#department_property = None;
3610 let mut r#dissolution_date_property = None;
3611 let mut r#diversity_policy_property = None;
3612 let mut r#diversity_staffing_report_property = None;
3613 let mut r#duns_property = None;
3614 let mut r#email_property = None;
3615 let mut r#employee_property = None;
3616 let mut r#employees_property = None;
3617 let mut r#ethics_policy_property = None;
3618 let mut r#event_property = None;
3619 let mut r#events_property = None;
3620 let mut r#fax_number_property = None;
3621 let mut r#founder_property = None;
3622 let mut r#founders_property = None;
3623 let mut r#founding_date_property = None;
3624 let mut r#founding_location_property = None;
3625 let mut r#funder_property = None;
3626 let mut r#funding_property = None;
3627 let mut r#global_location_number_property = None;
3628 let mut r#has_credential_property = None;
3629 let mut r#has_merchant_return_policy_property = None;
3630 let mut r#has_offer_catalog_property = None;
3631 let mut r#has_pos_property = None;
3632 let mut r#has_product_return_policy_property = None;
3633 let mut r#interaction_statistic_property = None;
3634 let mut r#isic_v_4_property = None;
3635 let mut r#iso_6523_code_property = None;
3636 let mut r#keywords_property = None;
3637 let mut r#knows_about_property = None;
3638 let mut r#knows_language_property = None;
3639 let mut r#legal_name_property = None;
3640 let mut r#lei_code_property = None;
3641 let mut r#location_property = None;
3642 let mut r#logo_property = None;
3643 let mut r#makes_offer_property = None;
3644 let mut r#member_property = None;
3645 let mut r#member_of_property = None;
3646 let mut r#members_property = None;
3647 let mut r#naics_property = None;
3648 let mut r#nonprofit_status_property = None;
3649 let mut r#number_of_employees_property = None;
3650 let mut r#ownership_funding_info_property = None;
3651 let mut r#owns_property = None;
3652 let mut r#parent_organization_property = None;
3653 let mut r#publishing_principles_property = None;
3654 let mut r#review_property = None;
3655 let mut r#reviews_property = None;
3656 let mut r#seeks_property = None;
3657 let mut r#service_area_property = None;
3658 let mut r#slogan_property = None;
3659 let mut r#sponsor_property = None;
3660 let mut r#sub_organization_property = None;
3661 let mut r#tax_id_property = None;
3662 let mut r#telephone_property = None;
3663 let mut r#unnamed_sources_policy_property = None;
3664 let mut r#vat_id_property = None;
3665 let mut r#additional_property_property = None;
3666 let mut r#amenity_feature_property = None;
3667 let mut r#branch_code_property = None;
3668 let mut r#contained_in_property = None;
3669 let mut r#contained_in_place_property = None;
3670 let mut r#contains_place_property = None;
3671 let mut r#geo_property = None;
3672 let mut r#geo_contains_property = None;
3673 let mut r#geo_covered_by_property = None;
3674 let mut r#geo_covers_property = None;
3675 let mut r#geo_crosses_property = None;
3676 let mut r#geo_disjoint_property = None;
3677 let mut r#geo_equals_property = None;
3678 let mut r#geo_intersects_property = None;
3679 let mut r#geo_overlaps_property = None;
3680 let mut r#geo_touches_property = None;
3681 let mut r#geo_within_property = None;
3682 let mut r#has_drive_through_service_property = None;
3683 let mut r#has_map_property = None;
3684 let mut r#is_accessible_for_free_property = None;
3685 let mut r#latitude_property = None;
3686 let mut r#longitude_property = None;
3687 let mut r#map_property = None;
3688 let mut r#maps_property = None;
3689 let mut r#maximum_attendee_capacity_property = None;
3690 let mut r#opening_hours_specification_property = None;
3691 let mut r#photo_property = None;
3692 let mut r#photos_property = None;
3693 let mut r#public_access_property = None;
3694 let mut r#smoking_allowed_property = None;
3695 let mut r#special_opening_hours_specification_property = None;
3696 let mut r#tour_booking_page_property = None;
3697 let mut r#additional_type_property = None;
3698 let mut r#alternate_name_property = None;
3699 let mut r#description_property = None;
3700 let mut r#disambiguating_description_property = None;
3701 let mut r#identifier_property = None;
3702 let mut r#image_property = None;
3703 let mut r#main_entity_of_page_property = None;
3704 let mut r#name_property = None;
3705 let mut r#potential_action_property = None;
3706 let mut r#same_as_property = None;
3707 let mut r#subject_of_property = None;
3708 let mut r#url_property = None;
3709 while let Some(key) = map.next_key::<Field>()? {
3710 match key {
3711 Field::Alumni => {
3712 if r#alumni_property.is_some() {
3713 return Err(<A::Error as de::Error>::duplicate_field("alumni"));
3714 }
3715 r#alumni_property = Some({
3716 struct DeserializeWith(Vec<AlumniProperty>);
3717 impl<'de> Deserialize<'de> for DeserializeWith {
3718 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3719 where
3720 D: Deserializer<'de>,
3721 {
3722 Ok(DeserializeWith(serde_with::As::<
3723 serde_with::OneOrMany<serde_with::Same>,
3724 >::deserialize(deserializer)?))
3725 }
3726 }
3727 match map.next_value::<DeserializeWith>() {
3728 Ok(deserialize_with) => deserialize_with.0,
3729 Err(err) => {
3730 return Err(err);
3731 }
3732 }
3733 });
3734 }
3735 Field::OpeningHours => {
3736 if r#opening_hours_property.is_some() {
3737 return Err(<A::Error as de::Error>::duplicate_field(
3738 "openingHours",
3739 ));
3740 }
3741 r#opening_hours_property = Some({
3742 struct DeserializeWith(Vec<OpeningHoursProperty>);
3743 impl<'de> Deserialize<'de> for DeserializeWith {
3744 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3745 where
3746 D: Deserializer<'de>,
3747 {
3748 Ok(DeserializeWith(serde_with::As::<
3749 serde_with::OneOrMany<serde_with::Same>,
3750 >::deserialize(deserializer)?))
3751 }
3752 }
3753 match map.next_value::<DeserializeWith>() {
3754 Ok(deserialize_with) => deserialize_with.0,
3755 Err(err) => {
3756 return Err(err);
3757 }
3758 }
3759 });
3760 }
3761 Field::ActionableFeedbackPolicy => {
3762 if r#actionable_feedback_policy_property.is_some() {
3763 return Err(<A::Error as de::Error>::duplicate_field(
3764 "actionableFeedbackPolicy",
3765 ));
3766 }
3767 r#actionable_feedback_policy_property = Some({
3768 struct DeserializeWith(Vec<ActionableFeedbackPolicyProperty>);
3769 impl<'de> Deserialize<'de> for DeserializeWith {
3770 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3771 where
3772 D: Deserializer<'de>,
3773 {
3774 Ok(DeserializeWith(serde_with::As::<
3775 serde_with::OneOrMany<serde_with::Same>,
3776 >::deserialize(deserializer)?))
3777 }
3778 }
3779 match map.next_value::<DeserializeWith>() {
3780 Ok(deserialize_with) => deserialize_with.0,
3781 Err(err) => {
3782 return Err(err);
3783 }
3784 }
3785 });
3786 }
3787 Field::Address => {
3788 if r#address_property.is_some() {
3789 return Err(<A::Error as de::Error>::duplicate_field(
3790 "address",
3791 ));
3792 }
3793 r#address_property = Some({
3794 struct DeserializeWith(Vec<AddressProperty>);
3795 impl<'de> Deserialize<'de> for DeserializeWith {
3796 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3797 where
3798 D: Deserializer<'de>,
3799 {
3800 Ok(DeserializeWith(serde_with::As::<
3801 serde_with::OneOrMany<serde_with::Same>,
3802 >::deserialize(deserializer)?))
3803 }
3804 }
3805 match map.next_value::<DeserializeWith>() {
3806 Ok(deserialize_with) => deserialize_with.0,
3807 Err(err) => {
3808 return Err(err);
3809 }
3810 }
3811 });
3812 }
3813 Field::AgentInteractionStatistic => {
3814 if r#agent_interaction_statistic_property.is_some() {
3815 return Err(<A::Error as de::Error>::duplicate_field(
3816 "agentInteractionStatistic",
3817 ));
3818 }
3819 r#agent_interaction_statistic_property = Some({
3820 struct DeserializeWith(Vec<AgentInteractionStatisticProperty>);
3821 impl<'de> Deserialize<'de> for DeserializeWith {
3822 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3823 where
3824 D: Deserializer<'de>,
3825 {
3826 Ok(DeserializeWith(serde_with::As::<
3827 serde_with::OneOrMany<serde_with::Same>,
3828 >::deserialize(deserializer)?))
3829 }
3830 }
3831 match map.next_value::<DeserializeWith>() {
3832 Ok(deserialize_with) => deserialize_with.0,
3833 Err(err) => {
3834 return Err(err);
3835 }
3836 }
3837 });
3838 }
3839 Field::AggregateRating => {
3840 if r#aggregate_rating_property.is_some() {
3841 return Err(<A::Error as de::Error>::duplicate_field(
3842 "aggregateRating",
3843 ));
3844 }
3845 r#aggregate_rating_property = Some({
3846 struct DeserializeWith(Vec<AggregateRatingProperty>);
3847 impl<'de> Deserialize<'de> for DeserializeWith {
3848 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3849 where
3850 D: Deserializer<'de>,
3851 {
3852 Ok(DeserializeWith(serde_with::As::<
3853 serde_with::OneOrMany<serde_with::Same>,
3854 >::deserialize(deserializer)?))
3855 }
3856 }
3857 match map.next_value::<DeserializeWith>() {
3858 Ok(deserialize_with) => deserialize_with.0,
3859 Err(err) => {
3860 return Err(err);
3861 }
3862 }
3863 });
3864 }
3865 Field::AreaServed => {
3866 if r#area_served_property.is_some() {
3867 return Err(<A::Error as de::Error>::duplicate_field(
3868 "areaServed",
3869 ));
3870 }
3871 r#area_served_property = Some({
3872 struct DeserializeWith(Vec<AreaServedProperty>);
3873 impl<'de> Deserialize<'de> for DeserializeWith {
3874 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3875 where
3876 D: Deserializer<'de>,
3877 {
3878 Ok(DeserializeWith(serde_with::As::<
3879 serde_with::OneOrMany<serde_with::Same>,
3880 >::deserialize(deserializer)?))
3881 }
3882 }
3883 match map.next_value::<DeserializeWith>() {
3884 Ok(deserialize_with) => deserialize_with.0,
3885 Err(err) => {
3886 return Err(err);
3887 }
3888 }
3889 });
3890 }
3891 Field::Award => {
3892 if r#award_property.is_some() {
3893 return Err(<A::Error as de::Error>::duplicate_field("award"));
3894 }
3895 r#award_property = Some({
3896 struct DeserializeWith(Vec<AwardProperty>);
3897 impl<'de> Deserialize<'de> for DeserializeWith {
3898 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3899 where
3900 D: Deserializer<'de>,
3901 {
3902 Ok(DeserializeWith(serde_with::As::<
3903 serde_with::OneOrMany<serde_with::Same>,
3904 >::deserialize(deserializer)?))
3905 }
3906 }
3907 match map.next_value::<DeserializeWith>() {
3908 Ok(deserialize_with) => deserialize_with.0,
3909 Err(err) => {
3910 return Err(err);
3911 }
3912 }
3913 });
3914 }
3915 Field::Awards => {
3916 if r#awards_property.is_some() {
3917 return Err(<A::Error as de::Error>::duplicate_field("awards"));
3918 }
3919 r#awards_property = Some({
3920 struct DeserializeWith(Vec<AwardsProperty>);
3921 impl<'de> Deserialize<'de> for DeserializeWith {
3922 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3923 where
3924 D: Deserializer<'de>,
3925 {
3926 Ok(DeserializeWith(serde_with::As::<
3927 serde_with::OneOrMany<serde_with::Same>,
3928 >::deserialize(deserializer)?))
3929 }
3930 }
3931 match map.next_value::<DeserializeWith>() {
3932 Ok(deserialize_with) => deserialize_with.0,
3933 Err(err) => {
3934 return Err(err);
3935 }
3936 }
3937 });
3938 }
3939 Field::Brand => {
3940 if r#brand_property.is_some() {
3941 return Err(<A::Error as de::Error>::duplicate_field("brand"));
3942 }
3943 r#brand_property = Some({
3944 struct DeserializeWith(Vec<BrandProperty>);
3945 impl<'de> Deserialize<'de> for DeserializeWith {
3946 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3947 where
3948 D: Deserializer<'de>,
3949 {
3950 Ok(DeserializeWith(serde_with::As::<
3951 serde_with::OneOrMany<serde_with::Same>,
3952 >::deserialize(deserializer)?))
3953 }
3954 }
3955 match map.next_value::<DeserializeWith>() {
3956 Ok(deserialize_with) => deserialize_with.0,
3957 Err(err) => {
3958 return Err(err);
3959 }
3960 }
3961 });
3962 }
3963 Field::ContactPoint => {
3964 if r#contact_point_property.is_some() {
3965 return Err(<A::Error as de::Error>::duplicate_field(
3966 "contactPoint",
3967 ));
3968 }
3969 r#contact_point_property = Some({
3970 struct DeserializeWith(Vec<ContactPointProperty>);
3971 impl<'de> Deserialize<'de> for DeserializeWith {
3972 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3973 where
3974 D: Deserializer<'de>,
3975 {
3976 Ok(DeserializeWith(serde_with::As::<
3977 serde_with::OneOrMany<serde_with::Same>,
3978 >::deserialize(deserializer)?))
3979 }
3980 }
3981 match map.next_value::<DeserializeWith>() {
3982 Ok(deserialize_with) => deserialize_with.0,
3983 Err(err) => {
3984 return Err(err);
3985 }
3986 }
3987 });
3988 }
3989 Field::ContactPoints => {
3990 if r#contact_points_property.is_some() {
3991 return Err(<A::Error as de::Error>::duplicate_field(
3992 "contactPoints",
3993 ));
3994 }
3995 r#contact_points_property = Some({
3996 struct DeserializeWith(Vec<ContactPointsProperty>);
3997 impl<'de> Deserialize<'de> for DeserializeWith {
3998 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3999 where
4000 D: Deserializer<'de>,
4001 {
4002 Ok(DeserializeWith(serde_with::As::<
4003 serde_with::OneOrMany<serde_with::Same>,
4004 >::deserialize(deserializer)?))
4005 }
4006 }
4007 match map.next_value::<DeserializeWith>() {
4008 Ok(deserialize_with) => deserialize_with.0,
4009 Err(err) => {
4010 return Err(err);
4011 }
4012 }
4013 });
4014 }
4015 Field::CorrectionsPolicy => {
4016 if r#corrections_policy_property.is_some() {
4017 return Err(<A::Error as de::Error>::duplicate_field(
4018 "correctionsPolicy",
4019 ));
4020 }
4021 r#corrections_policy_property = Some({
4022 struct DeserializeWith(Vec<CorrectionsPolicyProperty>);
4023 impl<'de> Deserialize<'de> for DeserializeWith {
4024 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4025 where
4026 D: Deserializer<'de>,
4027 {
4028 Ok(DeserializeWith(serde_with::As::<
4029 serde_with::OneOrMany<serde_with::Same>,
4030 >::deserialize(deserializer)?))
4031 }
4032 }
4033 match map.next_value::<DeserializeWith>() {
4034 Ok(deserialize_with) => deserialize_with.0,
4035 Err(err) => {
4036 return Err(err);
4037 }
4038 }
4039 });
4040 }
4041 Field::Department => {
4042 if r#department_property.is_some() {
4043 return Err(<A::Error as de::Error>::duplicate_field(
4044 "department",
4045 ));
4046 }
4047 r#department_property = Some({
4048 struct DeserializeWith(Vec<DepartmentProperty>);
4049 impl<'de> Deserialize<'de> for DeserializeWith {
4050 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4051 where
4052 D: Deserializer<'de>,
4053 {
4054 Ok(DeserializeWith(serde_with::As::<
4055 serde_with::OneOrMany<serde_with::Same>,
4056 >::deserialize(deserializer)?))
4057 }
4058 }
4059 match map.next_value::<DeserializeWith>() {
4060 Ok(deserialize_with) => deserialize_with.0,
4061 Err(err) => {
4062 return Err(err);
4063 }
4064 }
4065 });
4066 }
4067 Field::DissolutionDate => {
4068 if r#dissolution_date_property.is_some() {
4069 return Err(<A::Error as de::Error>::duplicate_field(
4070 "dissolutionDate",
4071 ));
4072 }
4073 r#dissolution_date_property = Some({
4074 struct DeserializeWith(Vec<DissolutionDateProperty>);
4075 impl<'de> Deserialize<'de> for DeserializeWith {
4076 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4077 where
4078 D: Deserializer<'de>,
4079 {
4080 Ok(DeserializeWith(serde_with::As::<
4081 serde_with::OneOrMany<serde_with::Same>,
4082 >::deserialize(deserializer)?))
4083 }
4084 }
4085 match map.next_value::<DeserializeWith>() {
4086 Ok(deserialize_with) => deserialize_with.0,
4087 Err(err) => {
4088 return Err(err);
4089 }
4090 }
4091 });
4092 }
4093 Field::DiversityPolicy => {
4094 if r#diversity_policy_property.is_some() {
4095 return Err(<A::Error as de::Error>::duplicate_field(
4096 "diversityPolicy",
4097 ));
4098 }
4099 r#diversity_policy_property = Some({
4100 struct DeserializeWith(Vec<DiversityPolicyProperty>);
4101 impl<'de> Deserialize<'de> for DeserializeWith {
4102 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4103 where
4104 D: Deserializer<'de>,
4105 {
4106 Ok(DeserializeWith(serde_with::As::<
4107 serde_with::OneOrMany<serde_with::Same>,
4108 >::deserialize(deserializer)?))
4109 }
4110 }
4111 match map.next_value::<DeserializeWith>() {
4112 Ok(deserialize_with) => deserialize_with.0,
4113 Err(err) => {
4114 return Err(err);
4115 }
4116 }
4117 });
4118 }
4119 Field::DiversityStaffingReport => {
4120 if r#diversity_staffing_report_property.is_some() {
4121 return Err(<A::Error as de::Error>::duplicate_field(
4122 "diversityStaffingReport",
4123 ));
4124 }
4125 r#diversity_staffing_report_property = Some({
4126 struct DeserializeWith(Vec<DiversityStaffingReportProperty>);
4127 impl<'de> Deserialize<'de> for DeserializeWith {
4128 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4129 where
4130 D: Deserializer<'de>,
4131 {
4132 Ok(DeserializeWith(serde_with::As::<
4133 serde_with::OneOrMany<serde_with::Same>,
4134 >::deserialize(deserializer)?))
4135 }
4136 }
4137 match map.next_value::<DeserializeWith>() {
4138 Ok(deserialize_with) => deserialize_with.0,
4139 Err(err) => {
4140 return Err(err);
4141 }
4142 }
4143 });
4144 }
4145 Field::Duns => {
4146 if r#duns_property.is_some() {
4147 return Err(<A::Error as de::Error>::duplicate_field("duns"));
4148 }
4149 r#duns_property = Some({
4150 struct DeserializeWith(Vec<DunsProperty>);
4151 impl<'de> Deserialize<'de> for DeserializeWith {
4152 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4153 where
4154 D: Deserializer<'de>,
4155 {
4156 Ok(DeserializeWith(serde_with::As::<
4157 serde_with::OneOrMany<serde_with::Same>,
4158 >::deserialize(deserializer)?))
4159 }
4160 }
4161 match map.next_value::<DeserializeWith>() {
4162 Ok(deserialize_with) => deserialize_with.0,
4163 Err(err) => {
4164 return Err(err);
4165 }
4166 }
4167 });
4168 }
4169 Field::Email => {
4170 if r#email_property.is_some() {
4171 return Err(<A::Error as de::Error>::duplicate_field("email"));
4172 }
4173 r#email_property = Some({
4174 struct DeserializeWith(Vec<EmailProperty>);
4175 impl<'de> Deserialize<'de> for DeserializeWith {
4176 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4177 where
4178 D: Deserializer<'de>,
4179 {
4180 Ok(DeserializeWith(serde_with::As::<
4181 serde_with::OneOrMany<serde_with::Same>,
4182 >::deserialize(deserializer)?))
4183 }
4184 }
4185 match map.next_value::<DeserializeWith>() {
4186 Ok(deserialize_with) => deserialize_with.0,
4187 Err(err) => {
4188 return Err(err);
4189 }
4190 }
4191 });
4192 }
4193 Field::Employee => {
4194 if r#employee_property.is_some() {
4195 return Err(<A::Error as de::Error>::duplicate_field(
4196 "employee",
4197 ));
4198 }
4199 r#employee_property = Some({
4200 struct DeserializeWith(Vec<EmployeeProperty>);
4201 impl<'de> Deserialize<'de> for DeserializeWith {
4202 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4203 where
4204 D: Deserializer<'de>,
4205 {
4206 Ok(DeserializeWith(serde_with::As::<
4207 serde_with::OneOrMany<serde_with::Same>,
4208 >::deserialize(deserializer)?))
4209 }
4210 }
4211 match map.next_value::<DeserializeWith>() {
4212 Ok(deserialize_with) => deserialize_with.0,
4213 Err(err) => {
4214 return Err(err);
4215 }
4216 }
4217 });
4218 }
4219 Field::Employees => {
4220 if r#employees_property.is_some() {
4221 return Err(<A::Error as de::Error>::duplicate_field(
4222 "employees",
4223 ));
4224 }
4225 r#employees_property = Some({
4226 struct DeserializeWith(Vec<EmployeesProperty>);
4227 impl<'de> Deserialize<'de> for DeserializeWith {
4228 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4229 where
4230 D: Deserializer<'de>,
4231 {
4232 Ok(DeserializeWith(serde_with::As::<
4233 serde_with::OneOrMany<serde_with::Same>,
4234 >::deserialize(deserializer)?))
4235 }
4236 }
4237 match map.next_value::<DeserializeWith>() {
4238 Ok(deserialize_with) => deserialize_with.0,
4239 Err(err) => {
4240 return Err(err);
4241 }
4242 }
4243 });
4244 }
4245 Field::EthicsPolicy => {
4246 if r#ethics_policy_property.is_some() {
4247 return Err(<A::Error as de::Error>::duplicate_field(
4248 "ethicsPolicy",
4249 ));
4250 }
4251 r#ethics_policy_property = Some({
4252 struct DeserializeWith(Vec<EthicsPolicyProperty>);
4253 impl<'de> Deserialize<'de> for DeserializeWith {
4254 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4255 where
4256 D: Deserializer<'de>,
4257 {
4258 Ok(DeserializeWith(serde_with::As::<
4259 serde_with::OneOrMany<serde_with::Same>,
4260 >::deserialize(deserializer)?))
4261 }
4262 }
4263 match map.next_value::<DeserializeWith>() {
4264 Ok(deserialize_with) => deserialize_with.0,
4265 Err(err) => {
4266 return Err(err);
4267 }
4268 }
4269 });
4270 }
4271 Field::Event => {
4272 if r#event_property.is_some() {
4273 return Err(<A::Error as de::Error>::duplicate_field("event"));
4274 }
4275 r#event_property = Some({
4276 struct DeserializeWith(Vec<EventProperty>);
4277 impl<'de> Deserialize<'de> for DeserializeWith {
4278 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4279 where
4280 D: Deserializer<'de>,
4281 {
4282 Ok(DeserializeWith(serde_with::As::<
4283 serde_with::OneOrMany<serde_with::Same>,
4284 >::deserialize(deserializer)?))
4285 }
4286 }
4287 match map.next_value::<DeserializeWith>() {
4288 Ok(deserialize_with) => deserialize_with.0,
4289 Err(err) => {
4290 return Err(err);
4291 }
4292 }
4293 });
4294 }
4295 Field::Events => {
4296 if r#events_property.is_some() {
4297 return Err(<A::Error as de::Error>::duplicate_field("events"));
4298 }
4299 r#events_property = Some({
4300 struct DeserializeWith(Vec<EventsProperty>);
4301 impl<'de> Deserialize<'de> for DeserializeWith {
4302 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4303 where
4304 D: Deserializer<'de>,
4305 {
4306 Ok(DeserializeWith(serde_with::As::<
4307 serde_with::OneOrMany<serde_with::Same>,
4308 >::deserialize(deserializer)?))
4309 }
4310 }
4311 match map.next_value::<DeserializeWith>() {
4312 Ok(deserialize_with) => deserialize_with.0,
4313 Err(err) => {
4314 return Err(err);
4315 }
4316 }
4317 });
4318 }
4319 Field::FaxNumber => {
4320 if r#fax_number_property.is_some() {
4321 return Err(<A::Error as de::Error>::duplicate_field(
4322 "faxNumber",
4323 ));
4324 }
4325 r#fax_number_property = Some({
4326 struct DeserializeWith(Vec<FaxNumberProperty>);
4327 impl<'de> Deserialize<'de> for DeserializeWith {
4328 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4329 where
4330 D: Deserializer<'de>,
4331 {
4332 Ok(DeserializeWith(serde_with::As::<
4333 serde_with::OneOrMany<serde_with::Same>,
4334 >::deserialize(deserializer)?))
4335 }
4336 }
4337 match map.next_value::<DeserializeWith>() {
4338 Ok(deserialize_with) => deserialize_with.0,
4339 Err(err) => {
4340 return Err(err);
4341 }
4342 }
4343 });
4344 }
4345 Field::Founder => {
4346 if r#founder_property.is_some() {
4347 return Err(<A::Error as de::Error>::duplicate_field(
4348 "founder",
4349 ));
4350 }
4351 r#founder_property = Some({
4352 struct DeserializeWith(Vec<FounderProperty>);
4353 impl<'de> Deserialize<'de> for DeserializeWith {
4354 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4355 where
4356 D: Deserializer<'de>,
4357 {
4358 Ok(DeserializeWith(serde_with::As::<
4359 serde_with::OneOrMany<serde_with::Same>,
4360 >::deserialize(deserializer)?))
4361 }
4362 }
4363 match map.next_value::<DeserializeWith>() {
4364 Ok(deserialize_with) => deserialize_with.0,
4365 Err(err) => {
4366 return Err(err);
4367 }
4368 }
4369 });
4370 }
4371 Field::Founders => {
4372 if r#founders_property.is_some() {
4373 return Err(<A::Error as de::Error>::duplicate_field(
4374 "founders",
4375 ));
4376 }
4377 r#founders_property = Some({
4378 struct DeserializeWith(Vec<FoundersProperty>);
4379 impl<'de> Deserialize<'de> for DeserializeWith {
4380 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4381 where
4382 D: Deserializer<'de>,
4383 {
4384 Ok(DeserializeWith(serde_with::As::<
4385 serde_with::OneOrMany<serde_with::Same>,
4386 >::deserialize(deserializer)?))
4387 }
4388 }
4389 match map.next_value::<DeserializeWith>() {
4390 Ok(deserialize_with) => deserialize_with.0,
4391 Err(err) => {
4392 return Err(err);
4393 }
4394 }
4395 });
4396 }
4397 Field::FoundingDate => {
4398 if r#founding_date_property.is_some() {
4399 return Err(<A::Error as de::Error>::duplicate_field(
4400 "foundingDate",
4401 ));
4402 }
4403 r#founding_date_property = Some({
4404 struct DeserializeWith(Vec<FoundingDateProperty>);
4405 impl<'de> Deserialize<'de> for DeserializeWith {
4406 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4407 where
4408 D: Deserializer<'de>,
4409 {
4410 Ok(DeserializeWith(serde_with::As::<
4411 serde_with::OneOrMany<serde_with::Same>,
4412 >::deserialize(deserializer)?))
4413 }
4414 }
4415 match map.next_value::<DeserializeWith>() {
4416 Ok(deserialize_with) => deserialize_with.0,
4417 Err(err) => {
4418 return Err(err);
4419 }
4420 }
4421 });
4422 }
4423 Field::FoundingLocation => {
4424 if r#founding_location_property.is_some() {
4425 return Err(<A::Error as de::Error>::duplicate_field(
4426 "foundingLocation",
4427 ));
4428 }
4429 r#founding_location_property = Some({
4430 struct DeserializeWith(Vec<FoundingLocationProperty>);
4431 impl<'de> Deserialize<'de> for DeserializeWith {
4432 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4433 where
4434 D: Deserializer<'de>,
4435 {
4436 Ok(DeserializeWith(serde_with::As::<
4437 serde_with::OneOrMany<serde_with::Same>,
4438 >::deserialize(deserializer)?))
4439 }
4440 }
4441 match map.next_value::<DeserializeWith>() {
4442 Ok(deserialize_with) => deserialize_with.0,
4443 Err(err) => {
4444 return Err(err);
4445 }
4446 }
4447 });
4448 }
4449 Field::Funder => {
4450 if r#funder_property.is_some() {
4451 return Err(<A::Error as de::Error>::duplicate_field("funder"));
4452 }
4453 r#funder_property = Some({
4454 struct DeserializeWith(Vec<FunderProperty>);
4455 impl<'de> Deserialize<'de> for DeserializeWith {
4456 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4457 where
4458 D: Deserializer<'de>,
4459 {
4460 Ok(DeserializeWith(serde_with::As::<
4461 serde_with::OneOrMany<serde_with::Same>,
4462 >::deserialize(deserializer)?))
4463 }
4464 }
4465 match map.next_value::<DeserializeWith>() {
4466 Ok(deserialize_with) => deserialize_with.0,
4467 Err(err) => {
4468 return Err(err);
4469 }
4470 }
4471 });
4472 }
4473 Field::Funding => {
4474 if r#funding_property.is_some() {
4475 return Err(<A::Error as de::Error>::duplicate_field(
4476 "funding",
4477 ));
4478 }
4479 r#funding_property = Some({
4480 struct DeserializeWith(Vec<FundingProperty>);
4481 impl<'de> Deserialize<'de> for DeserializeWith {
4482 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4483 where
4484 D: Deserializer<'de>,
4485 {
4486 Ok(DeserializeWith(serde_with::As::<
4487 serde_with::OneOrMany<serde_with::Same>,
4488 >::deserialize(deserializer)?))
4489 }
4490 }
4491 match map.next_value::<DeserializeWith>() {
4492 Ok(deserialize_with) => deserialize_with.0,
4493 Err(err) => {
4494 return Err(err);
4495 }
4496 }
4497 });
4498 }
4499 Field::GlobalLocationNumber => {
4500 if r#global_location_number_property.is_some() {
4501 return Err(<A::Error as de::Error>::duplicate_field(
4502 "globalLocationNumber",
4503 ));
4504 }
4505 r#global_location_number_property = Some({
4506 struct DeserializeWith(Vec<GlobalLocationNumberProperty>);
4507 impl<'de> Deserialize<'de> for DeserializeWith {
4508 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4509 where
4510 D: Deserializer<'de>,
4511 {
4512 Ok(DeserializeWith(serde_with::As::<
4513 serde_with::OneOrMany<serde_with::Same>,
4514 >::deserialize(deserializer)?))
4515 }
4516 }
4517 match map.next_value::<DeserializeWith>() {
4518 Ok(deserialize_with) => deserialize_with.0,
4519 Err(err) => {
4520 return Err(err);
4521 }
4522 }
4523 });
4524 }
4525 Field::HasCredential => {
4526 if r#has_credential_property.is_some() {
4527 return Err(<A::Error as de::Error>::duplicate_field(
4528 "hasCredential",
4529 ));
4530 }
4531 r#has_credential_property = Some({
4532 struct DeserializeWith(Vec<HasCredentialProperty>);
4533 impl<'de> Deserialize<'de> for DeserializeWith {
4534 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4535 where
4536 D: Deserializer<'de>,
4537 {
4538 Ok(DeserializeWith(serde_with::As::<
4539 serde_with::OneOrMany<serde_with::Same>,
4540 >::deserialize(deserializer)?))
4541 }
4542 }
4543 match map.next_value::<DeserializeWith>() {
4544 Ok(deserialize_with) => deserialize_with.0,
4545 Err(err) => {
4546 return Err(err);
4547 }
4548 }
4549 });
4550 }
4551 Field::HasMerchantReturnPolicy => {
4552 if r#has_merchant_return_policy_property.is_some() {
4553 return Err(<A::Error as de::Error>::duplicate_field(
4554 "hasMerchantReturnPolicy",
4555 ));
4556 }
4557 r#has_merchant_return_policy_property = Some({
4558 struct DeserializeWith(Vec<HasMerchantReturnPolicyProperty>);
4559 impl<'de> Deserialize<'de> for DeserializeWith {
4560 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4561 where
4562 D: Deserializer<'de>,
4563 {
4564 Ok(DeserializeWith(serde_with::As::<
4565 serde_with::OneOrMany<serde_with::Same>,
4566 >::deserialize(deserializer)?))
4567 }
4568 }
4569 match map.next_value::<DeserializeWith>() {
4570 Ok(deserialize_with) => deserialize_with.0,
4571 Err(err) => {
4572 return Err(err);
4573 }
4574 }
4575 });
4576 }
4577 Field::HasOfferCatalog => {
4578 if r#has_offer_catalog_property.is_some() {
4579 return Err(<A::Error as de::Error>::duplicate_field(
4580 "hasOfferCatalog",
4581 ));
4582 }
4583 r#has_offer_catalog_property = Some({
4584 struct DeserializeWith(Vec<HasOfferCatalogProperty>);
4585 impl<'de> Deserialize<'de> for DeserializeWith {
4586 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4587 where
4588 D: Deserializer<'de>,
4589 {
4590 Ok(DeserializeWith(serde_with::As::<
4591 serde_with::OneOrMany<serde_with::Same>,
4592 >::deserialize(deserializer)?))
4593 }
4594 }
4595 match map.next_value::<DeserializeWith>() {
4596 Ok(deserialize_with) => deserialize_with.0,
4597 Err(err) => {
4598 return Err(err);
4599 }
4600 }
4601 });
4602 }
4603 Field::HasPos => {
4604 if r#has_pos_property.is_some() {
4605 return Err(<A::Error as de::Error>::duplicate_field("hasPOS"));
4606 }
4607 r#has_pos_property = Some({
4608 struct DeserializeWith(Vec<HasPosProperty>);
4609 impl<'de> Deserialize<'de> for DeserializeWith {
4610 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4611 where
4612 D: Deserializer<'de>,
4613 {
4614 Ok(DeserializeWith(serde_with::As::<
4615 serde_with::OneOrMany<serde_with::Same>,
4616 >::deserialize(deserializer)?))
4617 }
4618 }
4619 match map.next_value::<DeserializeWith>() {
4620 Ok(deserialize_with) => deserialize_with.0,
4621 Err(err) => {
4622 return Err(err);
4623 }
4624 }
4625 });
4626 }
4627 Field::HasProductReturnPolicy => {
4628 if r#has_product_return_policy_property.is_some() {
4629 return Err(<A::Error as de::Error>::duplicate_field(
4630 "hasProductReturnPolicy",
4631 ));
4632 }
4633 r#has_product_return_policy_property = Some({
4634 struct DeserializeWith(Vec<HasProductReturnPolicyProperty>);
4635 impl<'de> Deserialize<'de> for DeserializeWith {
4636 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4637 where
4638 D: Deserializer<'de>,
4639 {
4640 Ok(DeserializeWith(serde_with::As::<
4641 serde_with::OneOrMany<serde_with::Same>,
4642 >::deserialize(deserializer)?))
4643 }
4644 }
4645 match map.next_value::<DeserializeWith>() {
4646 Ok(deserialize_with) => deserialize_with.0,
4647 Err(err) => {
4648 return Err(err);
4649 }
4650 }
4651 });
4652 }
4653 Field::InteractionStatistic => {
4654 if r#interaction_statistic_property.is_some() {
4655 return Err(<A::Error as de::Error>::duplicate_field(
4656 "interactionStatistic",
4657 ));
4658 }
4659 r#interaction_statistic_property = Some({
4660 struct DeserializeWith(Vec<InteractionStatisticProperty>);
4661 impl<'de> Deserialize<'de> for DeserializeWith {
4662 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4663 where
4664 D: Deserializer<'de>,
4665 {
4666 Ok(DeserializeWith(serde_with::As::<
4667 serde_with::OneOrMany<serde_with::Same>,
4668 >::deserialize(deserializer)?))
4669 }
4670 }
4671 match map.next_value::<DeserializeWith>() {
4672 Ok(deserialize_with) => deserialize_with.0,
4673 Err(err) => {
4674 return Err(err);
4675 }
4676 }
4677 });
4678 }
4679 Field::IsicV4 => {
4680 if r#isic_v_4_property.is_some() {
4681 return Err(<A::Error as de::Error>::duplicate_field("isicV4"));
4682 }
4683 r#isic_v_4_property = Some({
4684 struct DeserializeWith(Vec<IsicV4Property>);
4685 impl<'de> Deserialize<'de> for DeserializeWith {
4686 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4687 where
4688 D: Deserializer<'de>,
4689 {
4690 Ok(DeserializeWith(serde_with::As::<
4691 serde_with::OneOrMany<serde_with::Same>,
4692 >::deserialize(deserializer)?))
4693 }
4694 }
4695 match map.next_value::<DeserializeWith>() {
4696 Ok(deserialize_with) => deserialize_with.0,
4697 Err(err) => {
4698 return Err(err);
4699 }
4700 }
4701 });
4702 }
4703 Field::Iso6523Code => {
4704 if r#iso_6523_code_property.is_some() {
4705 return Err(<A::Error as de::Error>::duplicate_field(
4706 "iso6523Code",
4707 ));
4708 }
4709 r#iso_6523_code_property = Some({
4710 struct DeserializeWith(Vec<Iso6523CodeProperty>);
4711 impl<'de> Deserialize<'de> for DeserializeWith {
4712 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4713 where
4714 D: Deserializer<'de>,
4715 {
4716 Ok(DeserializeWith(serde_with::As::<
4717 serde_with::OneOrMany<serde_with::Same>,
4718 >::deserialize(deserializer)?))
4719 }
4720 }
4721 match map.next_value::<DeserializeWith>() {
4722 Ok(deserialize_with) => deserialize_with.0,
4723 Err(err) => {
4724 return Err(err);
4725 }
4726 }
4727 });
4728 }
4729 Field::Keywords => {
4730 if r#keywords_property.is_some() {
4731 return Err(<A::Error as de::Error>::duplicate_field(
4732 "keywords",
4733 ));
4734 }
4735 r#keywords_property = Some({
4736 struct DeserializeWith(Vec<KeywordsProperty>);
4737 impl<'de> Deserialize<'de> for DeserializeWith {
4738 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4739 where
4740 D: Deserializer<'de>,
4741 {
4742 Ok(DeserializeWith(serde_with::As::<
4743 serde_with::OneOrMany<serde_with::Same>,
4744 >::deserialize(deserializer)?))
4745 }
4746 }
4747 match map.next_value::<DeserializeWith>() {
4748 Ok(deserialize_with) => deserialize_with.0,
4749 Err(err) => {
4750 return Err(err);
4751 }
4752 }
4753 });
4754 }
4755 Field::KnowsAbout => {
4756 if r#knows_about_property.is_some() {
4757 return Err(<A::Error as de::Error>::duplicate_field(
4758 "knowsAbout",
4759 ));
4760 }
4761 r#knows_about_property = Some({
4762 struct DeserializeWith(Vec<KnowsAboutProperty>);
4763 impl<'de> Deserialize<'de> for DeserializeWith {
4764 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4765 where
4766 D: Deserializer<'de>,
4767 {
4768 Ok(DeserializeWith(serde_with::As::<
4769 serde_with::OneOrMany<serde_with::Same>,
4770 >::deserialize(deserializer)?))
4771 }
4772 }
4773 match map.next_value::<DeserializeWith>() {
4774 Ok(deserialize_with) => deserialize_with.0,
4775 Err(err) => {
4776 return Err(err);
4777 }
4778 }
4779 });
4780 }
4781 Field::KnowsLanguage => {
4782 if r#knows_language_property.is_some() {
4783 return Err(<A::Error as de::Error>::duplicate_field(
4784 "knowsLanguage",
4785 ));
4786 }
4787 r#knows_language_property = Some({
4788 struct DeserializeWith(Vec<KnowsLanguageProperty>);
4789 impl<'de> Deserialize<'de> for DeserializeWith {
4790 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4791 where
4792 D: Deserializer<'de>,
4793 {
4794 Ok(DeserializeWith(serde_with::As::<
4795 serde_with::OneOrMany<serde_with::Same>,
4796 >::deserialize(deserializer)?))
4797 }
4798 }
4799 match map.next_value::<DeserializeWith>() {
4800 Ok(deserialize_with) => deserialize_with.0,
4801 Err(err) => {
4802 return Err(err);
4803 }
4804 }
4805 });
4806 }
4807 Field::LegalName => {
4808 if r#legal_name_property.is_some() {
4809 return Err(<A::Error as de::Error>::duplicate_field(
4810 "legalName",
4811 ));
4812 }
4813 r#legal_name_property = Some({
4814 struct DeserializeWith(Vec<LegalNameProperty>);
4815 impl<'de> Deserialize<'de> for DeserializeWith {
4816 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4817 where
4818 D: Deserializer<'de>,
4819 {
4820 Ok(DeserializeWith(serde_with::As::<
4821 serde_with::OneOrMany<serde_with::Same>,
4822 >::deserialize(deserializer)?))
4823 }
4824 }
4825 match map.next_value::<DeserializeWith>() {
4826 Ok(deserialize_with) => deserialize_with.0,
4827 Err(err) => {
4828 return Err(err);
4829 }
4830 }
4831 });
4832 }
4833 Field::LeiCode => {
4834 if r#lei_code_property.is_some() {
4835 return Err(<A::Error as de::Error>::duplicate_field(
4836 "leiCode",
4837 ));
4838 }
4839 r#lei_code_property = Some({
4840 struct DeserializeWith(Vec<LeiCodeProperty>);
4841 impl<'de> Deserialize<'de> for DeserializeWith {
4842 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4843 where
4844 D: Deserializer<'de>,
4845 {
4846 Ok(DeserializeWith(serde_with::As::<
4847 serde_with::OneOrMany<serde_with::Same>,
4848 >::deserialize(deserializer)?))
4849 }
4850 }
4851 match map.next_value::<DeserializeWith>() {
4852 Ok(deserialize_with) => deserialize_with.0,
4853 Err(err) => {
4854 return Err(err);
4855 }
4856 }
4857 });
4858 }
4859 Field::Location => {
4860 if r#location_property.is_some() {
4861 return Err(<A::Error as de::Error>::duplicate_field(
4862 "location",
4863 ));
4864 }
4865 r#location_property = Some({
4866 struct DeserializeWith(Vec<LocationProperty>);
4867 impl<'de> Deserialize<'de> for DeserializeWith {
4868 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4869 where
4870 D: Deserializer<'de>,
4871 {
4872 Ok(DeserializeWith(serde_with::As::<
4873 serde_with::OneOrMany<serde_with::Same>,
4874 >::deserialize(deserializer)?))
4875 }
4876 }
4877 match map.next_value::<DeserializeWith>() {
4878 Ok(deserialize_with) => deserialize_with.0,
4879 Err(err) => {
4880 return Err(err);
4881 }
4882 }
4883 });
4884 }
4885 Field::Logo => {
4886 if r#logo_property.is_some() {
4887 return Err(<A::Error as de::Error>::duplicate_field("logo"));
4888 }
4889 r#logo_property = Some({
4890 struct DeserializeWith(Vec<LogoProperty>);
4891 impl<'de> Deserialize<'de> for DeserializeWith {
4892 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4893 where
4894 D: Deserializer<'de>,
4895 {
4896 Ok(DeserializeWith(serde_with::As::<
4897 serde_with::OneOrMany<serde_with::Same>,
4898 >::deserialize(deserializer)?))
4899 }
4900 }
4901 match map.next_value::<DeserializeWith>() {
4902 Ok(deserialize_with) => deserialize_with.0,
4903 Err(err) => {
4904 return Err(err);
4905 }
4906 }
4907 });
4908 }
4909 Field::MakesOffer => {
4910 if r#makes_offer_property.is_some() {
4911 return Err(<A::Error as de::Error>::duplicate_field(
4912 "makesOffer",
4913 ));
4914 }
4915 r#makes_offer_property = Some({
4916 struct DeserializeWith(Vec<MakesOfferProperty>);
4917 impl<'de> Deserialize<'de> for DeserializeWith {
4918 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4919 where
4920 D: Deserializer<'de>,
4921 {
4922 Ok(DeserializeWith(serde_with::As::<
4923 serde_with::OneOrMany<serde_with::Same>,
4924 >::deserialize(deserializer)?))
4925 }
4926 }
4927 match map.next_value::<DeserializeWith>() {
4928 Ok(deserialize_with) => deserialize_with.0,
4929 Err(err) => {
4930 return Err(err);
4931 }
4932 }
4933 });
4934 }
4935 Field::Member => {
4936 if r#member_property.is_some() {
4937 return Err(<A::Error as de::Error>::duplicate_field("member"));
4938 }
4939 r#member_property = Some({
4940 struct DeserializeWith(Vec<MemberProperty>);
4941 impl<'de> Deserialize<'de> for DeserializeWith {
4942 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4943 where
4944 D: Deserializer<'de>,
4945 {
4946 Ok(DeserializeWith(serde_with::As::<
4947 serde_with::OneOrMany<serde_with::Same>,
4948 >::deserialize(deserializer)?))
4949 }
4950 }
4951 match map.next_value::<DeserializeWith>() {
4952 Ok(deserialize_with) => deserialize_with.0,
4953 Err(err) => {
4954 return Err(err);
4955 }
4956 }
4957 });
4958 }
4959 Field::MemberOf => {
4960 if r#member_of_property.is_some() {
4961 return Err(<A::Error as de::Error>::duplicate_field(
4962 "memberOf",
4963 ));
4964 }
4965 r#member_of_property = Some({
4966 struct DeserializeWith(Vec<MemberOfProperty>);
4967 impl<'de> Deserialize<'de> for DeserializeWith {
4968 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4969 where
4970 D: Deserializer<'de>,
4971 {
4972 Ok(DeserializeWith(serde_with::As::<
4973 serde_with::OneOrMany<serde_with::Same>,
4974 >::deserialize(deserializer)?))
4975 }
4976 }
4977 match map.next_value::<DeserializeWith>() {
4978 Ok(deserialize_with) => deserialize_with.0,
4979 Err(err) => {
4980 return Err(err);
4981 }
4982 }
4983 });
4984 }
4985 Field::Members => {
4986 if r#members_property.is_some() {
4987 return Err(<A::Error as de::Error>::duplicate_field(
4988 "members",
4989 ));
4990 }
4991 r#members_property = Some({
4992 struct DeserializeWith(Vec<MembersProperty>);
4993 impl<'de> Deserialize<'de> for DeserializeWith {
4994 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
4995 where
4996 D: Deserializer<'de>,
4997 {
4998 Ok(DeserializeWith(serde_with::As::<
4999 serde_with::OneOrMany<serde_with::Same>,
5000 >::deserialize(deserializer)?))
5001 }
5002 }
5003 match map.next_value::<DeserializeWith>() {
5004 Ok(deserialize_with) => deserialize_with.0,
5005 Err(err) => {
5006 return Err(err);
5007 }
5008 }
5009 });
5010 }
5011 Field::Naics => {
5012 if r#naics_property.is_some() {
5013 return Err(<A::Error as de::Error>::duplicate_field("naics"));
5014 }
5015 r#naics_property = Some({
5016 struct DeserializeWith(Vec<NaicsProperty>);
5017 impl<'de> Deserialize<'de> for DeserializeWith {
5018 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5019 where
5020 D: Deserializer<'de>,
5021 {
5022 Ok(DeserializeWith(serde_with::As::<
5023 serde_with::OneOrMany<serde_with::Same>,
5024 >::deserialize(deserializer)?))
5025 }
5026 }
5027 match map.next_value::<DeserializeWith>() {
5028 Ok(deserialize_with) => deserialize_with.0,
5029 Err(err) => {
5030 return Err(err);
5031 }
5032 }
5033 });
5034 }
5035 Field::NonprofitStatus => {
5036 if r#nonprofit_status_property.is_some() {
5037 return Err(<A::Error as de::Error>::duplicate_field(
5038 "nonprofitStatus",
5039 ));
5040 }
5041 r#nonprofit_status_property = Some({
5042 struct DeserializeWith(Vec<NonprofitStatusProperty>);
5043 impl<'de> Deserialize<'de> for DeserializeWith {
5044 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5045 where
5046 D: Deserializer<'de>,
5047 {
5048 Ok(DeserializeWith(serde_with::As::<
5049 serde_with::OneOrMany<serde_with::Same>,
5050 >::deserialize(deserializer)?))
5051 }
5052 }
5053 match map.next_value::<DeserializeWith>() {
5054 Ok(deserialize_with) => deserialize_with.0,
5055 Err(err) => {
5056 return Err(err);
5057 }
5058 }
5059 });
5060 }
5061 Field::NumberOfEmployees => {
5062 if r#number_of_employees_property.is_some() {
5063 return Err(<A::Error as de::Error>::duplicate_field(
5064 "numberOfEmployees",
5065 ));
5066 }
5067 r#number_of_employees_property = Some({
5068 struct DeserializeWith(Vec<NumberOfEmployeesProperty>);
5069 impl<'de> Deserialize<'de> for DeserializeWith {
5070 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5071 where
5072 D: Deserializer<'de>,
5073 {
5074 Ok(DeserializeWith(serde_with::As::<
5075 serde_with::OneOrMany<serde_with::Same>,
5076 >::deserialize(deserializer)?))
5077 }
5078 }
5079 match map.next_value::<DeserializeWith>() {
5080 Ok(deserialize_with) => deserialize_with.0,
5081 Err(err) => {
5082 return Err(err);
5083 }
5084 }
5085 });
5086 }
5087 Field::OwnershipFundingInfo => {
5088 if r#ownership_funding_info_property.is_some() {
5089 return Err(<A::Error as de::Error>::duplicate_field(
5090 "ownershipFundingInfo",
5091 ));
5092 }
5093 r#ownership_funding_info_property = Some({
5094 struct DeserializeWith(Vec<OwnershipFundingInfoProperty>);
5095 impl<'de> Deserialize<'de> for DeserializeWith {
5096 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5097 where
5098 D: Deserializer<'de>,
5099 {
5100 Ok(DeserializeWith(serde_with::As::<
5101 serde_with::OneOrMany<serde_with::Same>,
5102 >::deserialize(deserializer)?))
5103 }
5104 }
5105 match map.next_value::<DeserializeWith>() {
5106 Ok(deserialize_with) => deserialize_with.0,
5107 Err(err) => {
5108 return Err(err);
5109 }
5110 }
5111 });
5112 }
5113 Field::Owns => {
5114 if r#owns_property.is_some() {
5115 return Err(<A::Error as de::Error>::duplicate_field("owns"));
5116 }
5117 r#owns_property = Some({
5118 struct DeserializeWith(Vec<OwnsProperty>);
5119 impl<'de> Deserialize<'de> for DeserializeWith {
5120 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5121 where
5122 D: Deserializer<'de>,
5123 {
5124 Ok(DeserializeWith(serde_with::As::<
5125 serde_with::OneOrMany<serde_with::Same>,
5126 >::deserialize(deserializer)?))
5127 }
5128 }
5129 match map.next_value::<DeserializeWith>() {
5130 Ok(deserialize_with) => deserialize_with.0,
5131 Err(err) => {
5132 return Err(err);
5133 }
5134 }
5135 });
5136 }
5137 Field::ParentOrganization => {
5138 if r#parent_organization_property.is_some() {
5139 return Err(<A::Error as de::Error>::duplicate_field(
5140 "parentOrganization",
5141 ));
5142 }
5143 r#parent_organization_property = Some({
5144 struct DeserializeWith(Vec<ParentOrganizationProperty>);
5145 impl<'de> Deserialize<'de> for DeserializeWith {
5146 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5147 where
5148 D: Deserializer<'de>,
5149 {
5150 Ok(DeserializeWith(serde_with::As::<
5151 serde_with::OneOrMany<serde_with::Same>,
5152 >::deserialize(deserializer)?))
5153 }
5154 }
5155 match map.next_value::<DeserializeWith>() {
5156 Ok(deserialize_with) => deserialize_with.0,
5157 Err(err) => {
5158 return Err(err);
5159 }
5160 }
5161 });
5162 }
5163 Field::PublishingPrinciples => {
5164 if r#publishing_principles_property.is_some() {
5165 return Err(<A::Error as de::Error>::duplicate_field(
5166 "publishingPrinciples",
5167 ));
5168 }
5169 r#publishing_principles_property = Some({
5170 struct DeserializeWith(Vec<PublishingPrinciplesProperty>);
5171 impl<'de> Deserialize<'de> for DeserializeWith {
5172 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5173 where
5174 D: Deserializer<'de>,
5175 {
5176 Ok(DeserializeWith(serde_with::As::<
5177 serde_with::OneOrMany<serde_with::Same>,
5178 >::deserialize(deserializer)?))
5179 }
5180 }
5181 match map.next_value::<DeserializeWith>() {
5182 Ok(deserialize_with) => deserialize_with.0,
5183 Err(err) => {
5184 return Err(err);
5185 }
5186 }
5187 });
5188 }
5189 Field::Review => {
5190 if r#review_property.is_some() {
5191 return Err(<A::Error as de::Error>::duplicate_field("review"));
5192 }
5193 r#review_property = Some({
5194 struct DeserializeWith(Vec<ReviewProperty>);
5195 impl<'de> Deserialize<'de> for DeserializeWith {
5196 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5197 where
5198 D: Deserializer<'de>,
5199 {
5200 Ok(DeserializeWith(serde_with::As::<
5201 serde_with::OneOrMany<serde_with::Same>,
5202 >::deserialize(deserializer)?))
5203 }
5204 }
5205 match map.next_value::<DeserializeWith>() {
5206 Ok(deserialize_with) => deserialize_with.0,
5207 Err(err) => {
5208 return Err(err);
5209 }
5210 }
5211 });
5212 }
5213 Field::Reviews => {
5214 if r#reviews_property.is_some() {
5215 return Err(<A::Error as de::Error>::duplicate_field(
5216 "reviews",
5217 ));
5218 }
5219 r#reviews_property = Some({
5220 struct DeserializeWith(Vec<ReviewsProperty>);
5221 impl<'de> Deserialize<'de> for DeserializeWith {
5222 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5223 where
5224 D: Deserializer<'de>,
5225 {
5226 Ok(DeserializeWith(serde_with::As::<
5227 serde_with::OneOrMany<serde_with::Same>,
5228 >::deserialize(deserializer)?))
5229 }
5230 }
5231 match map.next_value::<DeserializeWith>() {
5232 Ok(deserialize_with) => deserialize_with.0,
5233 Err(err) => {
5234 return Err(err);
5235 }
5236 }
5237 });
5238 }
5239 Field::Seeks => {
5240 if r#seeks_property.is_some() {
5241 return Err(<A::Error as de::Error>::duplicate_field("seeks"));
5242 }
5243 r#seeks_property = Some({
5244 struct DeserializeWith(Vec<SeeksProperty>);
5245 impl<'de> Deserialize<'de> for DeserializeWith {
5246 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5247 where
5248 D: Deserializer<'de>,
5249 {
5250 Ok(DeserializeWith(serde_with::As::<
5251 serde_with::OneOrMany<serde_with::Same>,
5252 >::deserialize(deserializer)?))
5253 }
5254 }
5255 match map.next_value::<DeserializeWith>() {
5256 Ok(deserialize_with) => deserialize_with.0,
5257 Err(err) => {
5258 return Err(err);
5259 }
5260 }
5261 });
5262 }
5263 Field::ServiceArea => {
5264 if r#service_area_property.is_some() {
5265 return Err(<A::Error as de::Error>::duplicate_field(
5266 "serviceArea",
5267 ));
5268 }
5269 r#service_area_property = Some({
5270 struct DeserializeWith(Vec<ServiceAreaProperty>);
5271 impl<'de> Deserialize<'de> for DeserializeWith {
5272 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5273 where
5274 D: Deserializer<'de>,
5275 {
5276 Ok(DeserializeWith(serde_with::As::<
5277 serde_with::OneOrMany<serde_with::Same>,
5278 >::deserialize(deserializer)?))
5279 }
5280 }
5281 match map.next_value::<DeserializeWith>() {
5282 Ok(deserialize_with) => deserialize_with.0,
5283 Err(err) => {
5284 return Err(err);
5285 }
5286 }
5287 });
5288 }
5289 Field::Slogan => {
5290 if r#slogan_property.is_some() {
5291 return Err(<A::Error as de::Error>::duplicate_field("slogan"));
5292 }
5293 r#slogan_property = Some({
5294 struct DeserializeWith(Vec<SloganProperty>);
5295 impl<'de> Deserialize<'de> for DeserializeWith {
5296 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5297 where
5298 D: Deserializer<'de>,
5299 {
5300 Ok(DeserializeWith(serde_with::As::<
5301 serde_with::OneOrMany<serde_with::Same>,
5302 >::deserialize(deserializer)?))
5303 }
5304 }
5305 match map.next_value::<DeserializeWith>() {
5306 Ok(deserialize_with) => deserialize_with.0,
5307 Err(err) => {
5308 return Err(err);
5309 }
5310 }
5311 });
5312 }
5313 Field::Sponsor => {
5314 if r#sponsor_property.is_some() {
5315 return Err(<A::Error as de::Error>::duplicate_field(
5316 "sponsor",
5317 ));
5318 }
5319 r#sponsor_property = Some({
5320 struct DeserializeWith(Vec<SponsorProperty>);
5321 impl<'de> Deserialize<'de> for DeserializeWith {
5322 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5323 where
5324 D: Deserializer<'de>,
5325 {
5326 Ok(DeserializeWith(serde_with::As::<
5327 serde_with::OneOrMany<serde_with::Same>,
5328 >::deserialize(deserializer)?))
5329 }
5330 }
5331 match map.next_value::<DeserializeWith>() {
5332 Ok(deserialize_with) => deserialize_with.0,
5333 Err(err) => {
5334 return Err(err);
5335 }
5336 }
5337 });
5338 }
5339 Field::SubOrganization => {
5340 if r#sub_organization_property.is_some() {
5341 return Err(<A::Error as de::Error>::duplicate_field(
5342 "subOrganization",
5343 ));
5344 }
5345 r#sub_organization_property = Some({
5346 struct DeserializeWith(Vec<SubOrganizationProperty>);
5347 impl<'de> Deserialize<'de> for DeserializeWith {
5348 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5349 where
5350 D: Deserializer<'de>,
5351 {
5352 Ok(DeserializeWith(serde_with::As::<
5353 serde_with::OneOrMany<serde_with::Same>,
5354 >::deserialize(deserializer)?))
5355 }
5356 }
5357 match map.next_value::<DeserializeWith>() {
5358 Ok(deserialize_with) => deserialize_with.0,
5359 Err(err) => {
5360 return Err(err);
5361 }
5362 }
5363 });
5364 }
5365 Field::TaxId => {
5366 if r#tax_id_property.is_some() {
5367 return Err(<A::Error as de::Error>::duplicate_field("taxID"));
5368 }
5369 r#tax_id_property = Some({
5370 struct DeserializeWith(Vec<TaxIdProperty>);
5371 impl<'de> Deserialize<'de> for DeserializeWith {
5372 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5373 where
5374 D: Deserializer<'de>,
5375 {
5376 Ok(DeserializeWith(serde_with::As::<
5377 serde_with::OneOrMany<serde_with::Same>,
5378 >::deserialize(deserializer)?))
5379 }
5380 }
5381 match map.next_value::<DeserializeWith>() {
5382 Ok(deserialize_with) => deserialize_with.0,
5383 Err(err) => {
5384 return Err(err);
5385 }
5386 }
5387 });
5388 }
5389 Field::Telephone => {
5390 if r#telephone_property.is_some() {
5391 return Err(<A::Error as de::Error>::duplicate_field(
5392 "telephone",
5393 ));
5394 }
5395 r#telephone_property = Some({
5396 struct DeserializeWith(Vec<TelephoneProperty>);
5397 impl<'de> Deserialize<'de> for DeserializeWith {
5398 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5399 where
5400 D: Deserializer<'de>,
5401 {
5402 Ok(DeserializeWith(serde_with::As::<
5403 serde_with::OneOrMany<serde_with::Same>,
5404 >::deserialize(deserializer)?))
5405 }
5406 }
5407 match map.next_value::<DeserializeWith>() {
5408 Ok(deserialize_with) => deserialize_with.0,
5409 Err(err) => {
5410 return Err(err);
5411 }
5412 }
5413 });
5414 }
5415 Field::UnnamedSourcesPolicy => {
5416 if r#unnamed_sources_policy_property.is_some() {
5417 return Err(<A::Error as de::Error>::duplicate_field(
5418 "unnamedSourcesPolicy",
5419 ));
5420 }
5421 r#unnamed_sources_policy_property = Some({
5422 struct DeserializeWith(Vec<UnnamedSourcesPolicyProperty>);
5423 impl<'de> Deserialize<'de> for DeserializeWith {
5424 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5425 where
5426 D: Deserializer<'de>,
5427 {
5428 Ok(DeserializeWith(serde_with::As::<
5429 serde_with::OneOrMany<serde_with::Same>,
5430 >::deserialize(deserializer)?))
5431 }
5432 }
5433 match map.next_value::<DeserializeWith>() {
5434 Ok(deserialize_with) => deserialize_with.0,
5435 Err(err) => {
5436 return Err(err);
5437 }
5438 }
5439 });
5440 }
5441 Field::VatId => {
5442 if r#vat_id_property.is_some() {
5443 return Err(<A::Error as de::Error>::duplicate_field("vatID"));
5444 }
5445 r#vat_id_property = Some({
5446 struct DeserializeWith(Vec<VatIdProperty>);
5447 impl<'de> Deserialize<'de> for DeserializeWith {
5448 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5449 where
5450 D: Deserializer<'de>,
5451 {
5452 Ok(DeserializeWith(serde_with::As::<
5453 serde_with::OneOrMany<serde_with::Same>,
5454 >::deserialize(deserializer)?))
5455 }
5456 }
5457 match map.next_value::<DeserializeWith>() {
5458 Ok(deserialize_with) => deserialize_with.0,
5459 Err(err) => {
5460 return Err(err);
5461 }
5462 }
5463 });
5464 }
5465 Field::AdditionalProperty => {
5466 if r#additional_property_property.is_some() {
5467 return Err(<A::Error as de::Error>::duplicate_field(
5468 "additionalProperty",
5469 ));
5470 }
5471 r#additional_property_property = Some({
5472 struct DeserializeWith(Vec<AdditionalPropertyProperty>);
5473 impl<'de> Deserialize<'de> for DeserializeWith {
5474 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5475 where
5476 D: Deserializer<'de>,
5477 {
5478 Ok(DeserializeWith(serde_with::As::<
5479 serde_with::OneOrMany<serde_with::Same>,
5480 >::deserialize(deserializer)?))
5481 }
5482 }
5483 match map.next_value::<DeserializeWith>() {
5484 Ok(deserialize_with) => deserialize_with.0,
5485 Err(err) => {
5486 return Err(err);
5487 }
5488 }
5489 });
5490 }
5491 Field::AmenityFeature => {
5492 if r#amenity_feature_property.is_some() {
5493 return Err(<A::Error as de::Error>::duplicate_field(
5494 "amenityFeature",
5495 ));
5496 }
5497 r#amenity_feature_property = Some({
5498 struct DeserializeWith(Vec<AmenityFeatureProperty>);
5499 impl<'de> Deserialize<'de> for DeserializeWith {
5500 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5501 where
5502 D: Deserializer<'de>,
5503 {
5504 Ok(DeserializeWith(serde_with::As::<
5505 serde_with::OneOrMany<serde_with::Same>,
5506 >::deserialize(deserializer)?))
5507 }
5508 }
5509 match map.next_value::<DeserializeWith>() {
5510 Ok(deserialize_with) => deserialize_with.0,
5511 Err(err) => {
5512 return Err(err);
5513 }
5514 }
5515 });
5516 }
5517 Field::BranchCode => {
5518 if r#branch_code_property.is_some() {
5519 return Err(<A::Error as de::Error>::duplicate_field(
5520 "branchCode",
5521 ));
5522 }
5523 r#branch_code_property = Some({
5524 struct DeserializeWith(Vec<BranchCodeProperty>);
5525 impl<'de> Deserialize<'de> for DeserializeWith {
5526 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5527 where
5528 D: Deserializer<'de>,
5529 {
5530 Ok(DeserializeWith(serde_with::As::<
5531 serde_with::OneOrMany<serde_with::Same>,
5532 >::deserialize(deserializer)?))
5533 }
5534 }
5535 match map.next_value::<DeserializeWith>() {
5536 Ok(deserialize_with) => deserialize_with.0,
5537 Err(err) => {
5538 return Err(err);
5539 }
5540 }
5541 });
5542 }
5543 Field::ContainedIn => {
5544 if r#contained_in_property.is_some() {
5545 return Err(<A::Error as de::Error>::duplicate_field(
5546 "containedIn",
5547 ));
5548 }
5549 r#contained_in_property = Some({
5550 struct DeserializeWith(Vec<ContainedInProperty>);
5551 impl<'de> Deserialize<'de> for DeserializeWith {
5552 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5553 where
5554 D: Deserializer<'de>,
5555 {
5556 Ok(DeserializeWith(serde_with::As::<
5557 serde_with::OneOrMany<serde_with::Same>,
5558 >::deserialize(deserializer)?))
5559 }
5560 }
5561 match map.next_value::<DeserializeWith>() {
5562 Ok(deserialize_with) => deserialize_with.0,
5563 Err(err) => {
5564 return Err(err);
5565 }
5566 }
5567 });
5568 }
5569 Field::ContainedInPlace => {
5570 if r#contained_in_place_property.is_some() {
5571 return Err(<A::Error as de::Error>::duplicate_field(
5572 "containedInPlace",
5573 ));
5574 }
5575 r#contained_in_place_property = Some({
5576 struct DeserializeWith(Vec<ContainedInPlaceProperty>);
5577 impl<'de> Deserialize<'de> for DeserializeWith {
5578 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5579 where
5580 D: Deserializer<'de>,
5581 {
5582 Ok(DeserializeWith(serde_with::As::<
5583 serde_with::OneOrMany<serde_with::Same>,
5584 >::deserialize(deserializer)?))
5585 }
5586 }
5587 match map.next_value::<DeserializeWith>() {
5588 Ok(deserialize_with) => deserialize_with.0,
5589 Err(err) => {
5590 return Err(err);
5591 }
5592 }
5593 });
5594 }
5595 Field::ContainsPlace => {
5596 if r#contains_place_property.is_some() {
5597 return Err(<A::Error as de::Error>::duplicate_field(
5598 "containsPlace",
5599 ));
5600 }
5601 r#contains_place_property = Some({
5602 struct DeserializeWith(Vec<ContainsPlaceProperty>);
5603 impl<'de> Deserialize<'de> for DeserializeWith {
5604 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5605 where
5606 D: Deserializer<'de>,
5607 {
5608 Ok(DeserializeWith(serde_with::As::<
5609 serde_with::OneOrMany<serde_with::Same>,
5610 >::deserialize(deserializer)?))
5611 }
5612 }
5613 match map.next_value::<DeserializeWith>() {
5614 Ok(deserialize_with) => deserialize_with.0,
5615 Err(err) => {
5616 return Err(err);
5617 }
5618 }
5619 });
5620 }
5621 Field::Geo => {
5622 if r#geo_property.is_some() {
5623 return Err(<A::Error as de::Error>::duplicate_field("geo"));
5624 }
5625 r#geo_property = Some({
5626 struct DeserializeWith(Vec<GeoProperty>);
5627 impl<'de> Deserialize<'de> for DeserializeWith {
5628 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5629 where
5630 D: Deserializer<'de>,
5631 {
5632 Ok(DeserializeWith(serde_with::As::<
5633 serde_with::OneOrMany<serde_with::Same>,
5634 >::deserialize(deserializer)?))
5635 }
5636 }
5637 match map.next_value::<DeserializeWith>() {
5638 Ok(deserialize_with) => deserialize_with.0,
5639 Err(err) => {
5640 return Err(err);
5641 }
5642 }
5643 });
5644 }
5645 Field::GeoContains => {
5646 if r#geo_contains_property.is_some() {
5647 return Err(<A::Error as de::Error>::duplicate_field(
5648 "geoContains",
5649 ));
5650 }
5651 r#geo_contains_property = Some({
5652 struct DeserializeWith(Vec<GeoContainsProperty>);
5653 impl<'de> Deserialize<'de> for DeserializeWith {
5654 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5655 where
5656 D: Deserializer<'de>,
5657 {
5658 Ok(DeserializeWith(serde_with::As::<
5659 serde_with::OneOrMany<serde_with::Same>,
5660 >::deserialize(deserializer)?))
5661 }
5662 }
5663 match map.next_value::<DeserializeWith>() {
5664 Ok(deserialize_with) => deserialize_with.0,
5665 Err(err) => {
5666 return Err(err);
5667 }
5668 }
5669 });
5670 }
5671 Field::GeoCoveredBy => {
5672 if r#geo_covered_by_property.is_some() {
5673 return Err(<A::Error as de::Error>::duplicate_field(
5674 "geoCoveredBy",
5675 ));
5676 }
5677 r#geo_covered_by_property = Some({
5678 struct DeserializeWith(Vec<GeoCoveredByProperty>);
5679 impl<'de> Deserialize<'de> for DeserializeWith {
5680 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5681 where
5682 D: Deserializer<'de>,
5683 {
5684 Ok(DeserializeWith(serde_with::As::<
5685 serde_with::OneOrMany<serde_with::Same>,
5686 >::deserialize(deserializer)?))
5687 }
5688 }
5689 match map.next_value::<DeserializeWith>() {
5690 Ok(deserialize_with) => deserialize_with.0,
5691 Err(err) => {
5692 return Err(err);
5693 }
5694 }
5695 });
5696 }
5697 Field::GeoCovers => {
5698 if r#geo_covers_property.is_some() {
5699 return Err(<A::Error as de::Error>::duplicate_field(
5700 "geoCovers",
5701 ));
5702 }
5703 r#geo_covers_property = Some({
5704 struct DeserializeWith(Vec<GeoCoversProperty>);
5705 impl<'de> Deserialize<'de> for DeserializeWith {
5706 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5707 where
5708 D: Deserializer<'de>,
5709 {
5710 Ok(DeserializeWith(serde_with::As::<
5711 serde_with::OneOrMany<serde_with::Same>,
5712 >::deserialize(deserializer)?))
5713 }
5714 }
5715 match map.next_value::<DeserializeWith>() {
5716 Ok(deserialize_with) => deserialize_with.0,
5717 Err(err) => {
5718 return Err(err);
5719 }
5720 }
5721 });
5722 }
5723 Field::GeoCrosses => {
5724 if r#geo_crosses_property.is_some() {
5725 return Err(<A::Error as de::Error>::duplicate_field(
5726 "geoCrosses",
5727 ));
5728 }
5729 r#geo_crosses_property = Some({
5730 struct DeserializeWith(Vec<GeoCrossesProperty>);
5731 impl<'de> Deserialize<'de> for DeserializeWith {
5732 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5733 where
5734 D: Deserializer<'de>,
5735 {
5736 Ok(DeserializeWith(serde_with::As::<
5737 serde_with::OneOrMany<serde_with::Same>,
5738 >::deserialize(deserializer)?))
5739 }
5740 }
5741 match map.next_value::<DeserializeWith>() {
5742 Ok(deserialize_with) => deserialize_with.0,
5743 Err(err) => {
5744 return Err(err);
5745 }
5746 }
5747 });
5748 }
5749 Field::GeoDisjoint => {
5750 if r#geo_disjoint_property.is_some() {
5751 return Err(<A::Error as de::Error>::duplicate_field(
5752 "geoDisjoint",
5753 ));
5754 }
5755 r#geo_disjoint_property = Some({
5756 struct DeserializeWith(Vec<GeoDisjointProperty>);
5757 impl<'de> Deserialize<'de> for DeserializeWith {
5758 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5759 where
5760 D: Deserializer<'de>,
5761 {
5762 Ok(DeserializeWith(serde_with::As::<
5763 serde_with::OneOrMany<serde_with::Same>,
5764 >::deserialize(deserializer)?))
5765 }
5766 }
5767 match map.next_value::<DeserializeWith>() {
5768 Ok(deserialize_with) => deserialize_with.0,
5769 Err(err) => {
5770 return Err(err);
5771 }
5772 }
5773 });
5774 }
5775 Field::GeoEquals => {
5776 if r#geo_equals_property.is_some() {
5777 return Err(<A::Error as de::Error>::duplicate_field(
5778 "geoEquals",
5779 ));
5780 }
5781 r#geo_equals_property = Some({
5782 struct DeserializeWith(Vec<GeoEqualsProperty>);
5783 impl<'de> Deserialize<'de> for DeserializeWith {
5784 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5785 where
5786 D: Deserializer<'de>,
5787 {
5788 Ok(DeserializeWith(serde_with::As::<
5789 serde_with::OneOrMany<serde_with::Same>,
5790 >::deserialize(deserializer)?))
5791 }
5792 }
5793 match map.next_value::<DeserializeWith>() {
5794 Ok(deserialize_with) => deserialize_with.0,
5795 Err(err) => {
5796 return Err(err);
5797 }
5798 }
5799 });
5800 }
5801 Field::GeoIntersects => {
5802 if r#geo_intersects_property.is_some() {
5803 return Err(<A::Error as de::Error>::duplicate_field(
5804 "geoIntersects",
5805 ));
5806 }
5807 r#geo_intersects_property = Some({
5808 struct DeserializeWith(Vec<GeoIntersectsProperty>);
5809 impl<'de> Deserialize<'de> for DeserializeWith {
5810 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5811 where
5812 D: Deserializer<'de>,
5813 {
5814 Ok(DeserializeWith(serde_with::As::<
5815 serde_with::OneOrMany<serde_with::Same>,
5816 >::deserialize(deserializer)?))
5817 }
5818 }
5819 match map.next_value::<DeserializeWith>() {
5820 Ok(deserialize_with) => deserialize_with.0,
5821 Err(err) => {
5822 return Err(err);
5823 }
5824 }
5825 });
5826 }
5827 Field::GeoOverlaps => {
5828 if r#geo_overlaps_property.is_some() {
5829 return Err(<A::Error as de::Error>::duplicate_field(
5830 "geoOverlaps",
5831 ));
5832 }
5833 r#geo_overlaps_property = Some({
5834 struct DeserializeWith(Vec<GeoOverlapsProperty>);
5835 impl<'de> Deserialize<'de> for DeserializeWith {
5836 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5837 where
5838 D: Deserializer<'de>,
5839 {
5840 Ok(DeserializeWith(serde_with::As::<
5841 serde_with::OneOrMany<serde_with::Same>,
5842 >::deserialize(deserializer)?))
5843 }
5844 }
5845 match map.next_value::<DeserializeWith>() {
5846 Ok(deserialize_with) => deserialize_with.0,
5847 Err(err) => {
5848 return Err(err);
5849 }
5850 }
5851 });
5852 }
5853 Field::GeoTouches => {
5854 if r#geo_touches_property.is_some() {
5855 return Err(<A::Error as de::Error>::duplicate_field(
5856 "geoTouches",
5857 ));
5858 }
5859 r#geo_touches_property = Some({
5860 struct DeserializeWith(Vec<GeoTouchesProperty>);
5861 impl<'de> Deserialize<'de> for DeserializeWith {
5862 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5863 where
5864 D: Deserializer<'de>,
5865 {
5866 Ok(DeserializeWith(serde_with::As::<
5867 serde_with::OneOrMany<serde_with::Same>,
5868 >::deserialize(deserializer)?))
5869 }
5870 }
5871 match map.next_value::<DeserializeWith>() {
5872 Ok(deserialize_with) => deserialize_with.0,
5873 Err(err) => {
5874 return Err(err);
5875 }
5876 }
5877 });
5878 }
5879 Field::GeoWithin => {
5880 if r#geo_within_property.is_some() {
5881 return Err(<A::Error as de::Error>::duplicate_field(
5882 "geoWithin",
5883 ));
5884 }
5885 r#geo_within_property = Some({
5886 struct DeserializeWith(Vec<GeoWithinProperty>);
5887 impl<'de> Deserialize<'de> for DeserializeWith {
5888 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5889 where
5890 D: Deserializer<'de>,
5891 {
5892 Ok(DeserializeWith(serde_with::As::<
5893 serde_with::OneOrMany<serde_with::Same>,
5894 >::deserialize(deserializer)?))
5895 }
5896 }
5897 match map.next_value::<DeserializeWith>() {
5898 Ok(deserialize_with) => deserialize_with.0,
5899 Err(err) => {
5900 return Err(err);
5901 }
5902 }
5903 });
5904 }
5905 Field::HasDriveThroughService => {
5906 if r#has_drive_through_service_property.is_some() {
5907 return Err(<A::Error as de::Error>::duplicate_field(
5908 "hasDriveThroughService",
5909 ));
5910 }
5911 r#has_drive_through_service_property = Some({
5912 struct DeserializeWith(Vec<HasDriveThroughServiceProperty>);
5913 impl<'de> Deserialize<'de> for DeserializeWith {
5914 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5915 where
5916 D: Deserializer<'de>,
5917 {
5918 Ok(DeserializeWith(serde_with::As::<
5919 serde_with::OneOrMany<serde_with::Same>,
5920 >::deserialize(deserializer)?))
5921 }
5922 }
5923 match map.next_value::<DeserializeWith>() {
5924 Ok(deserialize_with) => deserialize_with.0,
5925 Err(err) => {
5926 return Err(err);
5927 }
5928 }
5929 });
5930 }
5931 Field::HasMap => {
5932 if r#has_map_property.is_some() {
5933 return Err(<A::Error as de::Error>::duplicate_field("hasMap"));
5934 }
5935 r#has_map_property = Some({
5936 struct DeserializeWith(Vec<HasMapProperty>);
5937 impl<'de> Deserialize<'de> for DeserializeWith {
5938 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5939 where
5940 D: Deserializer<'de>,
5941 {
5942 Ok(DeserializeWith(serde_with::As::<
5943 serde_with::OneOrMany<serde_with::Same>,
5944 >::deserialize(deserializer)?))
5945 }
5946 }
5947 match map.next_value::<DeserializeWith>() {
5948 Ok(deserialize_with) => deserialize_with.0,
5949 Err(err) => {
5950 return Err(err);
5951 }
5952 }
5953 });
5954 }
5955 Field::IsAccessibleForFree => {
5956 if r#is_accessible_for_free_property.is_some() {
5957 return Err(<A::Error as de::Error>::duplicate_field(
5958 "isAccessibleForFree",
5959 ));
5960 }
5961 r#is_accessible_for_free_property = Some({
5962 struct DeserializeWith(Vec<IsAccessibleForFreeProperty>);
5963 impl<'de> Deserialize<'de> for DeserializeWith {
5964 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5965 where
5966 D: Deserializer<'de>,
5967 {
5968 Ok(DeserializeWith(serde_with::As::<
5969 serde_with::OneOrMany<serde_with::Same>,
5970 >::deserialize(deserializer)?))
5971 }
5972 }
5973 match map.next_value::<DeserializeWith>() {
5974 Ok(deserialize_with) => deserialize_with.0,
5975 Err(err) => {
5976 return Err(err);
5977 }
5978 }
5979 });
5980 }
5981 Field::Latitude => {
5982 if r#latitude_property.is_some() {
5983 return Err(<A::Error as de::Error>::duplicate_field(
5984 "latitude",
5985 ));
5986 }
5987 r#latitude_property = Some({
5988 struct DeserializeWith(Vec<LatitudeProperty>);
5989 impl<'de> Deserialize<'de> for DeserializeWith {
5990 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
5991 where
5992 D: Deserializer<'de>,
5993 {
5994 Ok(DeserializeWith(serde_with::As::<
5995 serde_with::OneOrMany<serde_with::Same>,
5996 >::deserialize(deserializer)?))
5997 }
5998 }
5999 match map.next_value::<DeserializeWith>() {
6000 Ok(deserialize_with) => deserialize_with.0,
6001 Err(err) => {
6002 return Err(err);
6003 }
6004 }
6005 });
6006 }
6007 Field::Longitude => {
6008 if r#longitude_property.is_some() {
6009 return Err(<A::Error as de::Error>::duplicate_field(
6010 "longitude",
6011 ));
6012 }
6013 r#longitude_property = Some({
6014 struct DeserializeWith(Vec<LongitudeProperty>);
6015 impl<'de> Deserialize<'de> for DeserializeWith {
6016 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6017 where
6018 D: Deserializer<'de>,
6019 {
6020 Ok(DeserializeWith(serde_with::As::<
6021 serde_with::OneOrMany<serde_with::Same>,
6022 >::deserialize(deserializer)?))
6023 }
6024 }
6025 match map.next_value::<DeserializeWith>() {
6026 Ok(deserialize_with) => deserialize_with.0,
6027 Err(err) => {
6028 return Err(err);
6029 }
6030 }
6031 });
6032 }
6033 Field::Map => {
6034 if r#map_property.is_some() {
6035 return Err(<A::Error as de::Error>::duplicate_field("map"));
6036 }
6037 r#map_property = Some({
6038 struct DeserializeWith(Vec<MapProperty>);
6039 impl<'de> Deserialize<'de> for DeserializeWith {
6040 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6041 where
6042 D: Deserializer<'de>,
6043 {
6044 Ok(DeserializeWith(serde_with::As::<
6045 serde_with::OneOrMany<serde_with::Same>,
6046 >::deserialize(deserializer)?))
6047 }
6048 }
6049 match map.next_value::<DeserializeWith>() {
6050 Ok(deserialize_with) => deserialize_with.0,
6051 Err(err) => {
6052 return Err(err);
6053 }
6054 }
6055 });
6056 }
6057 Field::Maps => {
6058 if r#maps_property.is_some() {
6059 return Err(<A::Error as de::Error>::duplicate_field("maps"));
6060 }
6061 r#maps_property = Some({
6062 struct DeserializeWith(Vec<MapsProperty>);
6063 impl<'de> Deserialize<'de> for DeserializeWith {
6064 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6065 where
6066 D: Deserializer<'de>,
6067 {
6068 Ok(DeserializeWith(serde_with::As::<
6069 serde_with::OneOrMany<serde_with::Same>,
6070 >::deserialize(deserializer)?))
6071 }
6072 }
6073 match map.next_value::<DeserializeWith>() {
6074 Ok(deserialize_with) => deserialize_with.0,
6075 Err(err) => {
6076 return Err(err);
6077 }
6078 }
6079 });
6080 }
6081 Field::MaximumAttendeeCapacity => {
6082 if r#maximum_attendee_capacity_property.is_some() {
6083 return Err(<A::Error as de::Error>::duplicate_field(
6084 "maximumAttendeeCapacity",
6085 ));
6086 }
6087 r#maximum_attendee_capacity_property = Some({
6088 struct DeserializeWith(Vec<MaximumAttendeeCapacityProperty>);
6089 impl<'de> Deserialize<'de> for DeserializeWith {
6090 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6091 where
6092 D: Deserializer<'de>,
6093 {
6094 Ok(DeserializeWith(serde_with::As::<
6095 serde_with::OneOrMany<serde_with::Same>,
6096 >::deserialize(deserializer)?))
6097 }
6098 }
6099 match map.next_value::<DeserializeWith>() {
6100 Ok(deserialize_with) => deserialize_with.0,
6101 Err(err) => {
6102 return Err(err);
6103 }
6104 }
6105 });
6106 }
6107 Field::OpeningHoursSpecification => {
6108 if r#opening_hours_specification_property.is_some() {
6109 return Err(<A::Error as de::Error>::duplicate_field(
6110 "openingHoursSpecification",
6111 ));
6112 }
6113 r#opening_hours_specification_property = Some({
6114 struct DeserializeWith(Vec<OpeningHoursSpecificationProperty>);
6115 impl<'de> Deserialize<'de> for DeserializeWith {
6116 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6117 where
6118 D: Deserializer<'de>,
6119 {
6120 Ok(DeserializeWith(serde_with::As::<
6121 serde_with::OneOrMany<serde_with::Same>,
6122 >::deserialize(deserializer)?))
6123 }
6124 }
6125 match map.next_value::<DeserializeWith>() {
6126 Ok(deserialize_with) => deserialize_with.0,
6127 Err(err) => {
6128 return Err(err);
6129 }
6130 }
6131 });
6132 }
6133 Field::Photo => {
6134 if r#photo_property.is_some() {
6135 return Err(<A::Error as de::Error>::duplicate_field("photo"));
6136 }
6137 r#photo_property = Some({
6138 struct DeserializeWith(Vec<PhotoProperty>);
6139 impl<'de> Deserialize<'de> for DeserializeWith {
6140 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6141 where
6142 D: Deserializer<'de>,
6143 {
6144 Ok(DeserializeWith(serde_with::As::<
6145 serde_with::OneOrMany<serde_with::Same>,
6146 >::deserialize(deserializer)?))
6147 }
6148 }
6149 match map.next_value::<DeserializeWith>() {
6150 Ok(deserialize_with) => deserialize_with.0,
6151 Err(err) => {
6152 return Err(err);
6153 }
6154 }
6155 });
6156 }
6157 Field::Photos => {
6158 if r#photos_property.is_some() {
6159 return Err(<A::Error as de::Error>::duplicate_field("photos"));
6160 }
6161 r#photos_property = Some({
6162 struct DeserializeWith(Vec<PhotosProperty>);
6163 impl<'de> Deserialize<'de> for DeserializeWith {
6164 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6165 where
6166 D: Deserializer<'de>,
6167 {
6168 Ok(DeserializeWith(serde_with::As::<
6169 serde_with::OneOrMany<serde_with::Same>,
6170 >::deserialize(deserializer)?))
6171 }
6172 }
6173 match map.next_value::<DeserializeWith>() {
6174 Ok(deserialize_with) => deserialize_with.0,
6175 Err(err) => {
6176 return Err(err);
6177 }
6178 }
6179 });
6180 }
6181 Field::PublicAccess => {
6182 if r#public_access_property.is_some() {
6183 return Err(<A::Error as de::Error>::duplicate_field(
6184 "publicAccess",
6185 ));
6186 }
6187 r#public_access_property = Some({
6188 struct DeserializeWith(Vec<PublicAccessProperty>);
6189 impl<'de> Deserialize<'de> for DeserializeWith {
6190 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6191 where
6192 D: Deserializer<'de>,
6193 {
6194 Ok(DeserializeWith(serde_with::As::<
6195 serde_with::OneOrMany<serde_with::Same>,
6196 >::deserialize(deserializer)?))
6197 }
6198 }
6199 match map.next_value::<DeserializeWith>() {
6200 Ok(deserialize_with) => deserialize_with.0,
6201 Err(err) => {
6202 return Err(err);
6203 }
6204 }
6205 });
6206 }
6207 Field::SmokingAllowed => {
6208 if r#smoking_allowed_property.is_some() {
6209 return Err(<A::Error as de::Error>::duplicate_field(
6210 "smokingAllowed",
6211 ));
6212 }
6213 r#smoking_allowed_property = Some({
6214 struct DeserializeWith(Vec<SmokingAllowedProperty>);
6215 impl<'de> Deserialize<'de> for DeserializeWith {
6216 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6217 where
6218 D: Deserializer<'de>,
6219 {
6220 Ok(DeserializeWith(serde_with::As::<
6221 serde_with::OneOrMany<serde_with::Same>,
6222 >::deserialize(deserializer)?))
6223 }
6224 }
6225 match map.next_value::<DeserializeWith>() {
6226 Ok(deserialize_with) => deserialize_with.0,
6227 Err(err) => {
6228 return Err(err);
6229 }
6230 }
6231 });
6232 }
6233 Field::SpecialOpeningHoursSpecification => {
6234 if r#special_opening_hours_specification_property.is_some() {
6235 return Err(<A::Error as de::Error>::duplicate_field(
6236 "specialOpeningHoursSpecification",
6237 ));
6238 }
6239 r#special_opening_hours_specification_property = Some({
6240 struct DeserializeWith(
6241 Vec<SpecialOpeningHoursSpecificationProperty>,
6242 );
6243 impl<'de> Deserialize<'de> for DeserializeWith {
6244 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6245 where
6246 D: Deserializer<'de>,
6247 {
6248 Ok(DeserializeWith(serde_with::As::<
6249 serde_with::OneOrMany<serde_with::Same>,
6250 >::deserialize(deserializer)?))
6251 }
6252 }
6253 match map.next_value::<DeserializeWith>() {
6254 Ok(deserialize_with) => deserialize_with.0,
6255 Err(err) => {
6256 return Err(err);
6257 }
6258 }
6259 });
6260 }
6261 Field::TourBookingPage => {
6262 if r#tour_booking_page_property.is_some() {
6263 return Err(<A::Error as de::Error>::duplicate_field(
6264 "tourBookingPage",
6265 ));
6266 }
6267 r#tour_booking_page_property = Some({
6268 struct DeserializeWith(Vec<TourBookingPageProperty>);
6269 impl<'de> Deserialize<'de> for DeserializeWith {
6270 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6271 where
6272 D: Deserializer<'de>,
6273 {
6274 Ok(DeserializeWith(serde_with::As::<
6275 serde_with::OneOrMany<serde_with::Same>,
6276 >::deserialize(deserializer)?))
6277 }
6278 }
6279 match map.next_value::<DeserializeWith>() {
6280 Ok(deserialize_with) => deserialize_with.0,
6281 Err(err) => {
6282 return Err(err);
6283 }
6284 }
6285 });
6286 }
6287 Field::AdditionalType => {
6288 if r#additional_type_property.is_some() {
6289 return Err(<A::Error as de::Error>::duplicate_field(
6290 "additionalType",
6291 ));
6292 }
6293 r#additional_type_property = Some({
6294 struct DeserializeWith(Vec<AdditionalTypeProperty>);
6295 impl<'de> Deserialize<'de> for DeserializeWith {
6296 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6297 where
6298 D: Deserializer<'de>,
6299 {
6300 Ok(DeserializeWith(serde_with::As::<
6301 serde_with::OneOrMany<serde_with::Same>,
6302 >::deserialize(deserializer)?))
6303 }
6304 }
6305 match map.next_value::<DeserializeWith>() {
6306 Ok(deserialize_with) => deserialize_with.0,
6307 Err(err) => {
6308 return Err(err);
6309 }
6310 }
6311 });
6312 }
6313 Field::AlternateName => {
6314 if r#alternate_name_property.is_some() {
6315 return Err(<A::Error as de::Error>::duplicate_field(
6316 "alternateName",
6317 ));
6318 }
6319 r#alternate_name_property = Some({
6320 struct DeserializeWith(Vec<AlternateNameProperty>);
6321 impl<'de> Deserialize<'de> for DeserializeWith {
6322 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6323 where
6324 D: Deserializer<'de>,
6325 {
6326 Ok(DeserializeWith(serde_with::As::<
6327 serde_with::OneOrMany<serde_with::Same>,
6328 >::deserialize(deserializer)?))
6329 }
6330 }
6331 match map.next_value::<DeserializeWith>() {
6332 Ok(deserialize_with) => deserialize_with.0,
6333 Err(err) => {
6334 return Err(err);
6335 }
6336 }
6337 });
6338 }
6339 Field::Description => {
6340 if r#description_property.is_some() {
6341 return Err(<A::Error as de::Error>::duplicate_field(
6342 "description",
6343 ));
6344 }
6345 r#description_property = Some({
6346 struct DeserializeWith(Vec<DescriptionProperty>);
6347 impl<'de> Deserialize<'de> for DeserializeWith {
6348 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6349 where
6350 D: Deserializer<'de>,
6351 {
6352 Ok(DeserializeWith(serde_with::As::<
6353 serde_with::OneOrMany<serde_with::Same>,
6354 >::deserialize(deserializer)?))
6355 }
6356 }
6357 match map.next_value::<DeserializeWith>() {
6358 Ok(deserialize_with) => deserialize_with.0,
6359 Err(err) => {
6360 return Err(err);
6361 }
6362 }
6363 });
6364 }
6365 Field::DisambiguatingDescription => {
6366 if r#disambiguating_description_property.is_some() {
6367 return Err(<A::Error as de::Error>::duplicate_field(
6368 "disambiguatingDescription",
6369 ));
6370 }
6371 r#disambiguating_description_property = Some({
6372 struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
6373 impl<'de> Deserialize<'de> for DeserializeWith {
6374 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6375 where
6376 D: Deserializer<'de>,
6377 {
6378 Ok(DeserializeWith(serde_with::As::<
6379 serde_with::OneOrMany<serde_with::Same>,
6380 >::deserialize(deserializer)?))
6381 }
6382 }
6383 match map.next_value::<DeserializeWith>() {
6384 Ok(deserialize_with) => deserialize_with.0,
6385 Err(err) => {
6386 return Err(err);
6387 }
6388 }
6389 });
6390 }
6391 Field::Identifier => {
6392 if r#identifier_property.is_some() {
6393 return Err(<A::Error as de::Error>::duplicate_field(
6394 "identifier",
6395 ));
6396 }
6397 r#identifier_property = Some({
6398 struct DeserializeWith(Vec<IdentifierProperty>);
6399 impl<'de> Deserialize<'de> for DeserializeWith {
6400 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6401 where
6402 D: Deserializer<'de>,
6403 {
6404 Ok(DeserializeWith(serde_with::As::<
6405 serde_with::OneOrMany<serde_with::Same>,
6406 >::deserialize(deserializer)?))
6407 }
6408 }
6409 match map.next_value::<DeserializeWith>() {
6410 Ok(deserialize_with) => deserialize_with.0,
6411 Err(err) => {
6412 return Err(err);
6413 }
6414 }
6415 });
6416 }
6417 Field::Image => {
6418 if r#image_property.is_some() {
6419 return Err(<A::Error as de::Error>::duplicate_field("image"));
6420 }
6421 r#image_property = Some({
6422 struct DeserializeWith(Vec<ImageProperty>);
6423 impl<'de> Deserialize<'de> for DeserializeWith {
6424 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6425 where
6426 D: Deserializer<'de>,
6427 {
6428 Ok(DeserializeWith(serde_with::As::<
6429 serde_with::OneOrMany<serde_with::Same>,
6430 >::deserialize(deserializer)?))
6431 }
6432 }
6433 match map.next_value::<DeserializeWith>() {
6434 Ok(deserialize_with) => deserialize_with.0,
6435 Err(err) => {
6436 return Err(err);
6437 }
6438 }
6439 });
6440 }
6441 Field::MainEntityOfPage => {
6442 if r#main_entity_of_page_property.is_some() {
6443 return Err(<A::Error as de::Error>::duplicate_field(
6444 "mainEntityOfPage",
6445 ));
6446 }
6447 r#main_entity_of_page_property = Some({
6448 struct DeserializeWith(Vec<MainEntityOfPageProperty>);
6449 impl<'de> Deserialize<'de> for DeserializeWith {
6450 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6451 where
6452 D: Deserializer<'de>,
6453 {
6454 Ok(DeserializeWith(serde_with::As::<
6455 serde_with::OneOrMany<serde_with::Same>,
6456 >::deserialize(deserializer)?))
6457 }
6458 }
6459 match map.next_value::<DeserializeWith>() {
6460 Ok(deserialize_with) => deserialize_with.0,
6461 Err(err) => {
6462 return Err(err);
6463 }
6464 }
6465 });
6466 }
6467 Field::Name => {
6468 if r#name_property.is_some() {
6469 return Err(<A::Error as de::Error>::duplicate_field("name"));
6470 }
6471 r#name_property = Some({
6472 struct DeserializeWith(Vec<NameProperty>);
6473 impl<'de> Deserialize<'de> for DeserializeWith {
6474 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6475 where
6476 D: Deserializer<'de>,
6477 {
6478 Ok(DeserializeWith(serde_with::As::<
6479 serde_with::OneOrMany<serde_with::Same>,
6480 >::deserialize(deserializer)?))
6481 }
6482 }
6483 match map.next_value::<DeserializeWith>() {
6484 Ok(deserialize_with) => deserialize_with.0,
6485 Err(err) => {
6486 return Err(err);
6487 }
6488 }
6489 });
6490 }
6491 Field::PotentialAction => {
6492 if r#potential_action_property.is_some() {
6493 return Err(<A::Error as de::Error>::duplicate_field(
6494 "potentialAction",
6495 ));
6496 }
6497 r#potential_action_property = Some({
6498 struct DeserializeWith(Vec<PotentialActionProperty>);
6499 impl<'de> Deserialize<'de> for DeserializeWith {
6500 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6501 where
6502 D: Deserializer<'de>,
6503 {
6504 Ok(DeserializeWith(serde_with::As::<
6505 serde_with::OneOrMany<serde_with::Same>,
6506 >::deserialize(deserializer)?))
6507 }
6508 }
6509 match map.next_value::<DeserializeWith>() {
6510 Ok(deserialize_with) => deserialize_with.0,
6511 Err(err) => {
6512 return Err(err);
6513 }
6514 }
6515 });
6516 }
6517 Field::SameAs => {
6518 if r#same_as_property.is_some() {
6519 return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
6520 }
6521 r#same_as_property = Some({
6522 struct DeserializeWith(Vec<SameAsProperty>);
6523 impl<'de> Deserialize<'de> for DeserializeWith {
6524 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6525 where
6526 D: Deserializer<'de>,
6527 {
6528 Ok(DeserializeWith(serde_with::As::<
6529 serde_with::OneOrMany<serde_with::Same>,
6530 >::deserialize(deserializer)?))
6531 }
6532 }
6533 match map.next_value::<DeserializeWith>() {
6534 Ok(deserialize_with) => deserialize_with.0,
6535 Err(err) => {
6536 return Err(err);
6537 }
6538 }
6539 });
6540 }
6541 Field::SubjectOf => {
6542 if r#subject_of_property.is_some() {
6543 return Err(<A::Error as de::Error>::duplicate_field(
6544 "subjectOf",
6545 ));
6546 }
6547 r#subject_of_property = Some({
6548 struct DeserializeWith(Vec<SubjectOfProperty>);
6549 impl<'de> Deserialize<'de> for DeserializeWith {
6550 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6551 where
6552 D: Deserializer<'de>,
6553 {
6554 Ok(DeserializeWith(serde_with::As::<
6555 serde_with::OneOrMany<serde_with::Same>,
6556 >::deserialize(deserializer)?))
6557 }
6558 }
6559 match map.next_value::<DeserializeWith>() {
6560 Ok(deserialize_with) => deserialize_with.0,
6561 Err(err) => {
6562 return Err(err);
6563 }
6564 }
6565 });
6566 }
6567 Field::Url => {
6568 if r#url_property.is_some() {
6569 return Err(<A::Error as de::Error>::duplicate_field("url"));
6570 }
6571 r#url_property = Some({
6572 struct DeserializeWith(Vec<UrlProperty>);
6573 impl<'de> Deserialize<'de> for DeserializeWith {
6574 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6575 where
6576 D: Deserializer<'de>,
6577 {
6578 Ok(DeserializeWith(serde_with::As::<
6579 serde_with::OneOrMany<serde_with::Same>,
6580 >::deserialize(deserializer)?))
6581 }
6582 }
6583 match map.next_value::<DeserializeWith>() {
6584 Ok(deserialize_with) => deserialize_with.0,
6585 Err(err) => {
6586 return Err(err);
6587 }
6588 }
6589 });
6590 }
6591 Field::Ignore => {
6592 let _ = map.next_value::<de::IgnoredAny>()?;
6593 }
6594 }
6595 }
6596 Ok(EducationalOrganization {
6597 r#alumni: r#alumni_property.unwrap_or_default(),
6598 r#opening_hours: r#opening_hours_property.unwrap_or_default(),
6599 r#actionable_feedback_policy: r#actionable_feedback_policy_property
6600 .unwrap_or_default(),
6601 r#address: r#address_property.unwrap_or_default(),
6602 r#agent_interaction_statistic: r#agent_interaction_statistic_property
6603 .unwrap_or_default(),
6604 r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
6605 r#area_served: r#area_served_property.unwrap_or_default(),
6606 r#award: r#award_property.unwrap_or_default(),
6607 r#awards: r#awards_property.unwrap_or_default(),
6608 r#brand: r#brand_property.unwrap_or_default(),
6609 r#contact_point: r#contact_point_property.unwrap_or_default(),
6610 r#contact_points: r#contact_points_property.unwrap_or_default(),
6611 r#corrections_policy: r#corrections_policy_property.unwrap_or_default(),
6612 r#department: r#department_property.unwrap_or_default(),
6613 r#dissolution_date: r#dissolution_date_property.unwrap_or_default(),
6614 r#diversity_policy: r#diversity_policy_property.unwrap_or_default(),
6615 r#diversity_staffing_report: r#diversity_staffing_report_property
6616 .unwrap_or_default(),
6617 r#duns: r#duns_property.unwrap_or_default(),
6618 r#email: r#email_property.unwrap_or_default(),
6619 r#employee: r#employee_property.unwrap_or_default(),
6620 r#employees: r#employees_property.unwrap_or_default(),
6621 r#ethics_policy: r#ethics_policy_property.unwrap_or_default(),
6622 r#event: r#event_property.unwrap_or_default(),
6623 r#events: r#events_property.unwrap_or_default(),
6624 r#fax_number: r#fax_number_property.unwrap_or_default(),
6625 r#founder: r#founder_property.unwrap_or_default(),
6626 r#founders: r#founders_property.unwrap_or_default(),
6627 r#founding_date: r#founding_date_property.unwrap_or_default(),
6628 r#founding_location: r#founding_location_property.unwrap_or_default(),
6629 r#funder: r#funder_property.unwrap_or_default(),
6630 r#funding: r#funding_property.unwrap_or_default(),
6631 r#global_location_number: r#global_location_number_property
6632 .unwrap_or_default(),
6633 r#has_credential: r#has_credential_property.unwrap_or_default(),
6634 r#has_merchant_return_policy: r#has_merchant_return_policy_property
6635 .unwrap_or_default(),
6636 r#has_offer_catalog: r#has_offer_catalog_property.unwrap_or_default(),
6637 r#has_pos: r#has_pos_property.unwrap_or_default(),
6638 r#has_product_return_policy: r#has_product_return_policy_property
6639 .unwrap_or_default(),
6640 r#interaction_statistic: r#interaction_statistic_property
6641 .unwrap_or_default(),
6642 r#isic_v_4: r#isic_v_4_property.unwrap_or_default(),
6643 r#iso_6523_code: r#iso_6523_code_property.unwrap_or_default(),
6644 r#keywords: r#keywords_property.unwrap_or_default(),
6645 r#knows_about: r#knows_about_property.unwrap_or_default(),
6646 r#knows_language: r#knows_language_property.unwrap_or_default(),
6647 r#legal_name: r#legal_name_property.unwrap_or_default(),
6648 r#lei_code: r#lei_code_property.unwrap_or_default(),
6649 r#location: r#location_property.unwrap_or_default(),
6650 r#logo: r#logo_property.unwrap_or_default(),
6651 r#makes_offer: r#makes_offer_property.unwrap_or_default(),
6652 r#member: r#member_property.unwrap_or_default(),
6653 r#member_of: r#member_of_property.unwrap_or_default(),
6654 r#members: r#members_property.unwrap_or_default(),
6655 r#naics: r#naics_property.unwrap_or_default(),
6656 r#nonprofit_status: r#nonprofit_status_property.unwrap_or_default(),
6657 r#number_of_employees: r#number_of_employees_property.unwrap_or_default(),
6658 r#ownership_funding_info: r#ownership_funding_info_property
6659 .unwrap_or_default(),
6660 r#owns: r#owns_property.unwrap_or_default(),
6661 r#parent_organization: r#parent_organization_property.unwrap_or_default(),
6662 r#publishing_principles: r#publishing_principles_property
6663 .unwrap_or_default(),
6664 r#review: r#review_property.unwrap_or_default(),
6665 r#reviews: r#reviews_property.unwrap_or_default(),
6666 r#seeks: r#seeks_property.unwrap_or_default(),
6667 r#service_area: r#service_area_property.unwrap_or_default(),
6668 r#slogan: r#slogan_property.unwrap_or_default(),
6669 r#sponsor: r#sponsor_property.unwrap_or_default(),
6670 r#sub_organization: r#sub_organization_property.unwrap_or_default(),
6671 r#tax_id: r#tax_id_property.unwrap_or_default(),
6672 r#telephone: r#telephone_property.unwrap_or_default(),
6673 r#unnamed_sources_policy: r#unnamed_sources_policy_property
6674 .unwrap_or_default(),
6675 r#vat_id: r#vat_id_property.unwrap_or_default(),
6676 r#additional_property: r#additional_property_property.unwrap_or_default(),
6677 r#amenity_feature: r#amenity_feature_property.unwrap_or_default(),
6678 r#branch_code: r#branch_code_property.unwrap_or_default(),
6679 r#contained_in: r#contained_in_property.unwrap_or_default(),
6680 r#contained_in_place: r#contained_in_place_property.unwrap_or_default(),
6681 r#contains_place: r#contains_place_property.unwrap_or_default(),
6682 r#geo: r#geo_property.unwrap_or_default(),
6683 r#geo_contains: r#geo_contains_property.unwrap_or_default(),
6684 r#geo_covered_by: r#geo_covered_by_property.unwrap_or_default(),
6685 r#geo_covers: r#geo_covers_property.unwrap_or_default(),
6686 r#geo_crosses: r#geo_crosses_property.unwrap_or_default(),
6687 r#geo_disjoint: r#geo_disjoint_property.unwrap_or_default(),
6688 r#geo_equals: r#geo_equals_property.unwrap_or_default(),
6689 r#geo_intersects: r#geo_intersects_property.unwrap_or_default(),
6690 r#geo_overlaps: r#geo_overlaps_property.unwrap_or_default(),
6691 r#geo_touches: r#geo_touches_property.unwrap_or_default(),
6692 r#geo_within: r#geo_within_property.unwrap_or_default(),
6693 r#has_drive_through_service: r#has_drive_through_service_property
6694 .unwrap_or_default(),
6695 r#has_map: r#has_map_property.unwrap_or_default(),
6696 r#is_accessible_for_free: r#is_accessible_for_free_property
6697 .unwrap_or_default(),
6698 r#latitude: r#latitude_property.unwrap_or_default(),
6699 r#longitude: r#longitude_property.unwrap_or_default(),
6700 r#map: r#map_property.unwrap_or_default(),
6701 r#maps: r#maps_property.unwrap_or_default(),
6702 r#maximum_attendee_capacity: r#maximum_attendee_capacity_property
6703 .unwrap_or_default(),
6704 r#opening_hours_specification: r#opening_hours_specification_property
6705 .unwrap_or_default(),
6706 r#photo: r#photo_property.unwrap_or_default(),
6707 r#photos: r#photos_property.unwrap_or_default(),
6708 r#public_access: r#public_access_property.unwrap_or_default(),
6709 r#smoking_allowed: r#smoking_allowed_property.unwrap_or_default(),
6710 r#special_opening_hours_specification:
6711 r#special_opening_hours_specification_property.unwrap_or_default(),
6712 r#tour_booking_page: r#tour_booking_page_property.unwrap_or_default(),
6713 r#additional_type: r#additional_type_property.unwrap_or_default(),
6714 r#alternate_name: r#alternate_name_property.unwrap_or_default(),
6715 r#description: r#description_property.unwrap_or_default(),
6716 r#disambiguating_description: r#disambiguating_description_property
6717 .unwrap_or_default(),
6718 r#identifier: r#identifier_property.unwrap_or_default(),
6719 r#image: r#image_property.unwrap_or_default(),
6720 r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
6721 r#name: r#name_property.unwrap_or_default(),
6722 r#potential_action: r#potential_action_property.unwrap_or_default(),
6723 r#same_as: r#same_as_property.unwrap_or_default(),
6724 r#subject_of: r#subject_of_property.unwrap_or_default(),
6725 r#url: r#url_property.unwrap_or_default(),
6726 })
6727 }
6728 }
6729 const FIELDS: &[&str] = &[
6730 "alumni",
6731 "openingHours",
6732 "actionableFeedbackPolicy",
6733 "address",
6734 "agentInteractionStatistic",
6735 "aggregateRating",
6736 "areaServed",
6737 "award",
6738 "awards",
6739 "brand",
6740 "contactPoint",
6741 "contactPoints",
6742 "correctionsPolicy",
6743 "department",
6744 "dissolutionDate",
6745 "diversityPolicy",
6746 "diversityStaffingReport",
6747 "duns",
6748 "email",
6749 "employee",
6750 "employees",
6751 "ethicsPolicy",
6752 "event",
6753 "events",
6754 "faxNumber",
6755 "founder",
6756 "founders",
6757 "foundingDate",
6758 "foundingLocation",
6759 "funder",
6760 "funding",
6761 "globalLocationNumber",
6762 "hasCredential",
6763 "hasMerchantReturnPolicy",
6764 "hasOfferCatalog",
6765 "hasPOS",
6766 "hasProductReturnPolicy",
6767 "interactionStatistic",
6768 "isicV4",
6769 "iso6523Code",
6770 "keywords",
6771 "knowsAbout",
6772 "knowsLanguage",
6773 "legalName",
6774 "leiCode",
6775 "location",
6776 "logo",
6777 "makesOffer",
6778 "member",
6779 "memberOf",
6780 "members",
6781 "naics",
6782 "nonprofitStatus",
6783 "numberOfEmployees",
6784 "ownershipFundingInfo",
6785 "owns",
6786 "parentOrganization",
6787 "publishingPrinciples",
6788 "review",
6789 "reviews",
6790 "seeks",
6791 "serviceArea",
6792 "slogan",
6793 "sponsor",
6794 "subOrganization",
6795 "taxID",
6796 "telephone",
6797 "unnamedSourcesPolicy",
6798 "vatID",
6799 "additionalProperty",
6800 "amenityFeature",
6801 "branchCode",
6802 "containedIn",
6803 "containedInPlace",
6804 "containsPlace",
6805 "geo",
6806 "geoContains",
6807 "geoCoveredBy",
6808 "geoCovers",
6809 "geoCrosses",
6810 "geoDisjoint",
6811 "geoEquals",
6812 "geoIntersects",
6813 "geoOverlaps",
6814 "geoTouches",
6815 "geoWithin",
6816 "hasDriveThroughService",
6817 "hasMap",
6818 "isAccessibleForFree",
6819 "latitude",
6820 "longitude",
6821 "map",
6822 "maps",
6823 "maximumAttendeeCapacity",
6824 "openingHoursSpecification",
6825 "photo",
6826 "photos",
6827 "publicAccess",
6828 "smokingAllowed",
6829 "specialOpeningHoursSpecification",
6830 "tourBookingPage",
6831 "additionalType",
6832 "alternateName",
6833 "description",
6834 "disambiguatingDescription",
6835 "identifier",
6836 "image",
6837 "mainEntityOfPage",
6838 "name",
6839 "potentialAction",
6840 "sameAs",
6841 "subjectOf",
6842 "url",
6843 ];
6844 deserializer.deserialize_struct("EducationalOrganization", FIELDS, ClassVisitor)
6845 }
6846 }
6847}