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