diff --git a/create_pydantic.py b/create_pydantic.py
index 7e0d271d..ee6c04e1 100755
--- a/create_pydantic.py
+++ b/create_pydantic.py
@@ -142,7 +142,7 @@ def generate_models(graph: Graph):
python_type = f"_{python_type}"
# Ditto for property names
if prop_name[0].isdigit() or prop_name.lower() in kwlist:
- prop_name = f"_{prop_name}"
+ prop_name = f"{prop_name}_"
class_info["properties"].append((prop_name, python_type))
except Exception:
pass
@@ -182,6 +182,11 @@ def generate_models(graph: Graph):
# Class definition
if class_info["parent"]:
+ # Use the @dataclass decorator for subclasses
+ # Using @pydantic decorator results in a deep recursion
+ # and slow startup
+ f.write("from dataclasses import dataclass\n\n")
+ f.write("@dataclass\n")
f.write(f"class {class_name}({class_info['parent']}):\n")
else:
if class_name == "Thing":
diff --git a/schema_models/_3_d_model.py b/schema_models/_3_d_model.py
index 182c57d0..a9131bb1 100644
--- a/schema_models/_3_d_model.py
+++ b/schema_models/_3_d_model.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_object import MediaObject
+@dataclass
class _3DModel(MediaObject):
"""
A 3D model represents some kind of 3D content, which may have [[encoding]]s in one or more [[MediaObject]]s. Many 3D formats are available (e.g. see [Wikipedia](https://en.wikipedia.org/wiki/Category:3D_graphics_file_formats)); specific encoding formats can be represented using the [[encodingFormat]] property applied to the relevant [[MediaObject]]. For the
diff --git a/schema_models/__class.py b/schema_models/__class.py
index 02f0c672..76c2a46f 100644
--- a/schema_models/__class.py
+++ b/schema_models/__class.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class _Class(Intangible):
"""
A class, also often called a 'Type'; equivalent to rdfs:Class.
diff --git a/schema_models/about_page.py b/schema_models/about_page.py
index 14c9ced2..f739437b 100644
--- a/schema_models/about_page.py
+++ b/schema_models/about_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class AboutPage(WebPage):
"""
Web page type: About page.
diff --git a/schema_models/accept_action.py b/schema_models/accept_action.py
index 2d9724e1..1b7707a3 100644
--- a/schema_models/accept_action.py
+++ b/schema_models/accept_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.allocate_action import AllocateAction
+@dataclass
class AcceptAction(AllocateAction):
"""
The act of committing to/adopting an object.
diff --git a/schema_models/accommodation.py b/schema_models/accommodation.py
index 81ce2f05..16d9318b 100644
--- a/schema_models/accommodation.py
+++ b/schema_models/accommodation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.place import Place
+@dataclass
class Accommodation(Place):
"""
An accommodation is a place that can accommodate human beings, e.g. a hotel room, a camping pitch, or a meeting room. Many accommodations are for overnight stays, but this is not a mandatory requirement.
diff --git a/schema_models/accounting_service.py b/schema_models/accounting_service.py
index d9c33866..653e4515 100644
--- a/schema_models/accounting_service.py
+++ b/schema_models/accounting_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_service import FinancialService
+@dataclass
class AccountingService(FinancialService):
"""
Accountancy business.
diff --git a/schema_models/achieve_action.py b/schema_models/achieve_action.py
index 2821b696..c8721257 100644
--- a/schema_models/achieve_action.py
+++ b/schema_models/achieve_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class AchieveAction(Action):
"""
The act of accomplishing something via previous efforts. It is an instantaneous action rather than an ongoing process.
diff --git a/schema_models/action.py b/schema_models/action.py
index dfda866d..ef648cdd 100644
--- a/schema_models/action.py
+++ b/schema_models/action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
@@ -7,6 +8,7 @@
from schema_models.thing import Thing
+@dataclass
class Action(Thing):
"""
An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.
diff --git a/schema_models/action_access_specification.py b/schema_models/action_access_specification.py
index ccbb61b9..98d4ca6c 100644
--- a/schema_models/action_access_specification.py
+++ b/schema_models/action_access_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.thing import Thing
+@dataclass
class ActionAccessSpecification(Intangible):
"""
A set of requirements that must be fulfilled in order to perform an Action.
diff --git a/schema_models/action_status_type.py b/schema_models/action_status_type.py
index ca9693d6..d334269c 100644
--- a/schema_models/action_status_type.py
+++ b/schema_models/action_status_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class ActionStatusType(StatusEnumeration):
"""
The status of an Action.
diff --git a/schema_models/activate_action.py b/schema_models/activate_action.py
index 04c784d7..b5e9c42b 100644
--- a/schema_models/activate_action.py
+++ b/schema_models/activate_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.control_action import ControlAction
+@dataclass
class ActivateAction(ControlAction):
"""
The act of starting or activating a device or application (e.g. starting a timer or turning on a flashlight).
diff --git a/schema_models/add_action.py b/schema_models/add_action.py
index f10b8a01..38750a6b 100644
--- a/schema_models/add_action.py
+++ b/schema_models/add_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.update_action import UpdateAction
+@dataclass
class AddAction(UpdateAction):
"""
The act of editing by adding an object to a collection.
diff --git a/schema_models/administrative_area.py b/schema_models/administrative_area.py
index dbb53f85..89feadfc 100644
--- a/schema_models/administrative_area.py
+++ b/schema_models/administrative_area.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place import Place
+@dataclass
class AdministrativeArea(Place):
"""
A geographical region, typically under the jurisdiction of a particular government.
diff --git a/schema_models/adult_entertainment.py b/schema_models/adult_entertainment.py
index cc9edae5..fdf964c1 100644
--- a/schema_models/adult_entertainment.py
+++ b/schema_models/adult_entertainment.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class AdultEntertainment(EntertainmentBusiness):
"""
An adult entertainment establishment.
diff --git a/schema_models/adult_oriented_enumeration.py b/schema_models/adult_oriented_enumeration.py
index 0d25e341..fec79d69 100644
--- a/schema_models/adult_oriented_enumeration.py
+++ b/schema_models/adult_oriented_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class AdultOrientedEnumeration(Enumeration):
"""
Enumeration of considerations that make a product relevant or potentially restricted for adults only.
diff --git a/schema_models/advertiser_content_article.py b/schema_models/advertiser_content_article.py
index b18159e2..cd7bb499 100644
--- a/schema_models/advertiser_content_article.py
+++ b/schema_models/advertiser_content_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.article import Article
+@dataclass
class AdvertiserContentArticle(Article):
"""
An [[Article]] that an external entity has paid to place or to produce to its specifications. Includes [advertorials](https://en.wikipedia.org/wiki/Advertorial), sponsored content, native advertising and other paid content.
diff --git a/schema_models/aggregate_offer.py b/schema_models/aggregate_offer.py
index 85374a7f..85199d58 100644
--- a/schema_models/aggregate_offer.py
+++ b/schema_models/aggregate_offer.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.demand import Demand
from schema_models.offer import Offer
+@dataclass
class AggregateOffer(Offer):
"""
When a single product is associated with multiple offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used.
diff --git a/schema_models/aggregate_rating.py b/schema_models/aggregate_rating.py
index 1dd7b355..2954c93c 100644
--- a/schema_models/aggregate_rating.py
+++ b/schema_models/aggregate_rating.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.rating import Rating
from schema_models.thing import Thing
+@dataclass
class AggregateRating(Rating):
"""
The average rating based on multiple ratings or reviews.
diff --git a/schema_models/agree_action.py b/schema_models/agree_action.py
index 0407e99c..c8de6b79 100644
--- a/schema_models/agree_action.py
+++ b/schema_models/agree_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.react_action import ReactAction
+@dataclass
class AgreeAction(ReactAction):
"""
The act of expressing a consistency of opinion with the object. An agent agrees to/about an object (a proposition, topic or theme) with participants.
diff --git a/schema_models/airline.py b/schema_models/airline.py
index a2a2bace..bdcde6e4 100644
--- a/schema_models/airline.py
+++ b/schema_models/airline.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
+@dataclass
class Airline(Organization):
"""
An organization that provides flights for passengers.
diff --git a/schema_models/airport.py b/schema_models/airport.py
index 5233f4c9..8bda8f7b 100644
--- a/schema_models/airport.py
+++ b/schema_models/airport.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.civic_structure import CivicStructure
+@dataclass
class Airport(CivicStructure):
"""
An airport.
diff --git a/schema_models/alignment_object.py b/schema_models/alignment_object.py
index 30d89636..ba2f1598 100644
--- a/schema_models/alignment_object.py
+++ b/schema_models/alignment_object.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class AlignmentObject(Intangible):
"""
An intangible item that describes an alignment between a learning resource and a node in an educational framework.
diff --git a/schema_models/allocate_action.py b/schema_models/allocate_action.py
index 560389ef..1f70df68 100644
--- a/schema_models/allocate_action.py
+++ b/schema_models/allocate_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organize_action import OrganizeAction
+@dataclass
class AllocateAction(OrganizeAction):
"""
The act of organizing tasks/objects/events by associating resources to it.
diff --git a/schema_models/am_radio_channel.py b/schema_models/am_radio_channel.py
index 8d63c921..701ae54e 100644
--- a/schema_models/am_radio_channel.py
+++ b/schema_models/am_radio_channel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.radio_channel import RadioChannel
+@dataclass
class AMRadioChannel(RadioChannel):
"""
A radio channel that uses AM.
diff --git a/schema_models/amp_story.py b/schema_models/amp_story.py
index 9a52dd56..fcfa14c4 100644
--- a/schema_models/amp_story.py
+++ b/schema_models/amp_story.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_object import MediaObject
+@dataclass
class AmpStory(MediaObject):
"""
A creative work with a visual storytelling format intended to be viewed online, particularly on mobile devices.
diff --git a/schema_models/amusement_park.py b/schema_models/amusement_park.py
index 7c711b78..e2053251 100644
--- a/schema_models/amusement_park.py
+++ b/schema_models/amusement_park.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class AmusementPark(EntertainmentBusiness):
"""
An amusement park.
diff --git a/schema_models/analysis_news_article.py b/schema_models/analysis_news_article.py
index 9e43903c..385e0878 100644
--- a/schema_models/analysis_news_article.py
+++ b/schema_models/analysis_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class AnalysisNewsArticle(NewsArticle):
"""
An AnalysisNewsArticle is a [[NewsArticle]] that, while based on factual reporting, incorporates the expertise of the author/producer, offering interpretations and conclusions.
diff --git a/schema_models/anatomical_structure.py b/schema_models/anatomical_structure.py
index 43668d3d..dc50b5aa 100644
--- a/schema_models/anatomical_structure.py
+++ b/schema_models/anatomical_structure.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_system import AnatomicalSystem
@@ -5,6 +6,7 @@
from schema_models.medical_entity import MedicalEntity
+@dataclass
class AnatomicalStructure(MedicalEntity):
"""
Any part of the human body, typically a component of an anatomical system. Organs, tissues, and cells are all anatomical structures.
diff --git a/schema_models/anatomical_system.py b/schema_models/anatomical_system.py
index af1e9fb9..3d9ae42d 100644
--- a/schema_models/anatomical_system.py
+++ b/schema_models/anatomical_system.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class AnatomicalSystem(MedicalEntity):
"""
An anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can include circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems.
diff --git a/schema_models/animal_shelter.py b/schema_models/animal_shelter.py
index 5ad39f06..df940ef3 100644
--- a/schema_models/animal_shelter.py
+++ b/schema_models/animal_shelter.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class AnimalShelter(LocalBusiness):
"""
Animal shelter.
diff --git a/schema_models/answer.py b/schema_models/answer.py
index 4709b863..f03b425c 100644
--- a/schema_models/answer.py
+++ b/schema_models/answer.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.comment import Comment
@@ -5,6 +6,7 @@
from schema_models.web_content import WebContent
+@dataclass
class Answer(Comment):
"""
An answer offered to a question; perhaps correct, perhaps opinionated or wrong.
diff --git a/schema_models/apartment.py b/schema_models/apartment.py
index 2579578c..603b1330 100644
--- a/schema_models/apartment.py
+++ b/schema_models/apartment.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.accommodation import Accommodation
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class Apartment(Accommodation):
"""
An apartment (in American English) or flat (in British English) is a self-contained housing unit (a type of residential real estate) that occupies only part of a building (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Apartment).
diff --git a/schema_models/apartment_complex.py b/schema_models/apartment_complex.py
index 012a3428..5ac7a32c 100644
--- a/schema_models/apartment_complex.py
+++ b/schema_models/apartment_complex.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.residence import Residence
+@dataclass
class ApartmentComplex(Residence):
"""
Residence type: Apartment complex.
diff --git a/schema_models/api_reference.py b/schema_models/api_reference.py
index dbb1d67e..20b2ab95 100644
--- a/schema_models/api_reference.py
+++ b/schema_models/api_reference.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.tech_article import TechArticle
+@dataclass
class APIReference(TechArticle):
"""
Reference documentation for application programming interfaces (APIs).
diff --git a/schema_models/append_action.py b/schema_models/append_action.py
index 2705f734..aad3af31 100644
--- a/schema_models/append_action.py
+++ b/schema_models/append_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.insert_action import InsertAction
+@dataclass
class AppendAction(InsertAction):
"""
The act of inserting at the end if an ordered collection.
diff --git a/schema_models/apply_action.py b/schema_models/apply_action.py
index aba7f089..68f4560f 100644
--- a/schema_models/apply_action.py
+++ b/schema_models/apply_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organize_action import OrganizeAction
+@dataclass
class ApplyAction(OrganizeAction):
"""
The act of registering to an organization/service without the guarantee to receive it.
diff --git a/schema_models/approved_indication.py b/schema_models/approved_indication.py
index 729b78b7..e0ea10bb 100644
--- a/schema_models/approved_indication.py
+++ b/schema_models/approved_indication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_indication import MedicalIndication
+@dataclass
class ApprovedIndication(MedicalIndication):
"""
An indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US.
diff --git a/schema_models/aquarium.py b/schema_models/aquarium.py
index bb72942b..fe373a30 100644
--- a/schema_models/aquarium.py
+++ b/schema_models/aquarium.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Aquarium(CivicStructure):
"""
Aquarium.
diff --git a/schema_models/archive_component.py b/schema_models/archive_component.py
index ddc39d71..d6ef3622 100644
--- a/schema_models/archive_component.py
+++ b/schema_models/archive_component.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.place import Place
+@dataclass
class ArchiveComponent(CreativeWork):
"""
An intangible type to be applied to any archive content, carrying with it a set of properties required to describe archival items and collections.
diff --git a/schema_models/archive_organization.py b/schema_models/archive_organization.py
index 8152f564..9a511b5f 100644
--- a/schema_models/archive_organization.py
+++ b/schema_models/archive_organization.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.archive_component import ArchiveComponent
from schema_models.local_business import LocalBusiness
+@dataclass
class ArchiveOrganization(LocalBusiness):
"""
An organization with archival holdings. An organization which keeps and preserves archival material and typically makes it accessible to the public.
diff --git a/schema_models/arrive_action.py b/schema_models/arrive_action.py
index a0425286..e76b2905 100644
--- a/schema_models/arrive_action.py
+++ b/schema_models/arrive_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.move_action import MoveAction
+@dataclass
class ArriveAction(MoveAction):
"""
The act of arriving at a place. An agent arrives at a destination from a fromLocation, optionally with participants.
diff --git a/schema_models/art_gallery.py b/schema_models/art_gallery.py
index 526a28f5..6ae5a668 100644
--- a/schema_models/art_gallery.py
+++ b/schema_models/art_gallery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class ArtGallery(EntertainmentBusiness):
"""
An art gallery.
diff --git a/schema_models/artery.py b/schema_models/artery.py
index 1aec00f2..6d6f0c32 100644
--- a/schema_models/artery.py
+++ b/schema_models/artery.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
from schema_models.vessel import Vessel
+@dataclass
class Artery(Vessel):
"""
A type of blood vessel that specifically carries blood away from the heart.
diff --git a/schema_models/article.py b/schema_models/article.py
index 02fae840..5949e66d 100644
--- a/schema_models/article.py
+++ b/schema_models/article.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.speakable_specification import SpeakableSpecification
+@dataclass
class Article(CreativeWork):
"""
An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all.
diff --git a/schema_models/ask_action.py b/schema_models/ask_action.py
index 4216c090..57687fe3 100644
--- a/schema_models/ask_action.py
+++ b/schema_models/ask_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.communicate_action import CommunicateAction
from schema_models.question import Question
+@dataclass
class AskAction(CommunicateAction):
"""
The act of posing a question / favor to someone.
diff --git a/schema_models/ask_public_news_article.py b/schema_models/ask_public_news_article.py
index 000f17f7..e3c05071 100644
--- a/schema_models/ask_public_news_article.py
+++ b/schema_models/ask_public_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class AskPublicNewsArticle(NewsArticle):
"""
A [[NewsArticle]] expressing an open call by a [[NewsMediaOrganization]] asking the public for input, insights, clarifications, anecdotes, documentation, etc., on an issue, for reporting purposes.
diff --git a/schema_models/assess_action.py b/schema_models/assess_action.py
index ec40d0b2..6f085d9f 100644
--- a/schema_models/assess_action.py
+++ b/schema_models/assess_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class AssessAction(Action):
"""
The act of forming one's opinion, reaction or sentiment.
diff --git a/schema_models/assign_action.py b/schema_models/assign_action.py
index cce54364..082818e4 100644
--- a/schema_models/assign_action.py
+++ b/schema_models/assign_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.allocate_action import AllocateAction
+@dataclass
class AssignAction(AllocateAction):
"""
The act of allocating an action/event/task to some destination (someone or something).
diff --git a/schema_models/atlas.py b/schema_models/atlas.py
index f9cca127..0813782b 100644
--- a/schema_models/atlas.py
+++ b/schema_models/atlas.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Atlas(CreativeWork):
"""
A collection or bound volume of maps, charts, plates or tables, physical or in media form illustrating any subject.
diff --git a/schema_models/attorney.py b/schema_models/attorney.py
index c9086a4f..80b638e1 100644
--- a/schema_models/attorney.py
+++ b/schema_models/attorney.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.legal_service import LegalService
+@dataclass
class Attorney(LegalService):
"""
Professional service: Attorney.
diff --git a/schema_models/audience.py b/schema_models/audience.py
index 25483095..01d7a6f7 100644
--- a/schema_models/audience.py
+++ b/schema_models/audience.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class Audience(Intangible):
"""
Intended audience for an item, i.e. the group for whom the item was created.
diff --git a/schema_models/audio_object.py b/schema_models/audio_object.py
index a33dfe50..95469544 100644
--- a/schema_models/audio_object.py
+++ b/schema_models/audio_object.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.media_object import MediaObject
+@dataclass
class AudioObject(MediaObject):
"""
An audio file.
diff --git a/schema_models/audio_object_snapshot.py b/schema_models/audio_object_snapshot.py
index 8a9f9d0b..b9ddbd01 100644
--- a/schema_models/audio_object_snapshot.py
+++ b/schema_models/audio_object_snapshot.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.audio_object import AudioObject
+@dataclass
class AudioObjectSnapshot(AudioObject):
"""
A specific and exact (byte-for-byte) version of an [[AudioObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity.
diff --git a/schema_models/audiobook.py b/schema_models/audiobook.py
index 06ffad17..a267fc81 100644
--- a/schema_models/audiobook.py
+++ b/schema_models/audiobook.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audio_object import AudioObject
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class Audiobook(AudioObject):
"""
An audiobook.
diff --git a/schema_models/authorize_action.py b/schema_models/authorize_action.py
index adc852c1..c84e5d9f 100644
--- a/schema_models/authorize_action.py
+++ b/schema_models/authorize_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.allocate_action import AllocateAction
@@ -7,6 +8,7 @@
from schema_models.person import Person
+@dataclass
class AuthorizeAction(AllocateAction):
"""
The act of granting permission to an object.
diff --git a/schema_models/auto_body_shop.py b/schema_models/auto_body_shop.py
index 1348e6a3..ed6573be 100644
--- a/schema_models/auto_body_shop.py
+++ b/schema_models/auto_body_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class AutoBodyShop(AutomotiveBusiness):
"""
Auto body shop.
diff --git a/schema_models/auto_dealer.py b/schema_models/auto_dealer.py
index 8adac013..7f5a6d48 100644
--- a/schema_models/auto_dealer.py
+++ b/schema_models/auto_dealer.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class AutoDealer(AutomotiveBusiness):
"""
An car dealership.
diff --git a/schema_models/auto_parts_store.py b/schema_models/auto_parts_store.py
index fb37ad21..b607fa31 100644
--- a/schema_models/auto_parts_store.py
+++ b/schema_models/auto_parts_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class AutoPartsStore(Store):
"""
An auto parts store.
diff --git a/schema_models/auto_rental.py b/schema_models/auto_rental.py
index 07c1ce95..783fff9a 100644
--- a/schema_models/auto_rental.py
+++ b/schema_models/auto_rental.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class AutoRental(AutomotiveBusiness):
"""
A car rental business.
diff --git a/schema_models/auto_repair.py b/schema_models/auto_repair.py
index 01425699..391de9c1 100644
--- a/schema_models/auto_repair.py
+++ b/schema_models/auto_repair.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class AutoRepair(AutomotiveBusiness):
"""
Car repair business.
diff --git a/schema_models/auto_wash.py b/schema_models/auto_wash.py
index 41d69c92..95fff1f1 100644
--- a/schema_models/auto_wash.py
+++ b/schema_models/auto_wash.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class AutoWash(AutomotiveBusiness):
"""
A car wash business.
diff --git a/schema_models/automated_teller.py b/schema_models/automated_teller.py
index cd165950..69d5fc5d 100644
--- a/schema_models/automated_teller.py
+++ b/schema_models/automated_teller.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_service import FinancialService
+@dataclass
class AutomatedTeller(FinancialService):
"""
ATM/cash machine.
diff --git a/schema_models/automotive_business.py b/schema_models/automotive_business.py
index 28016c79..c70865a4 100644
--- a/schema_models/automotive_business.py
+++ b/schema_models/automotive_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class AutomotiveBusiness(LocalBusiness):
"""
Car repair, sales, or parts.
diff --git a/schema_models/background_news_article.py b/schema_models/background_news_article.py
index f1de3266..e964eb99 100644
--- a/schema_models/background_news_article.py
+++ b/schema_models/background_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class BackgroundNewsArticle(NewsArticle):
"""
A [[NewsArticle]] providing historical context, definition and detail on a specific topic (aka "explainer" or "backgrounder"). For example, an in-depth article or frequently-asked-questions ([FAQ](https://en.wikipedia.org/wiki/FAQ)) document on topics such as Climate Change or the European Union. Other kinds of background material from a non-news setting are often described using [[Book]] or [[Article]], in particular [[ScholarlyArticle]]. See also [[NewsArticle]] for related vocabulary from a learning/education perspective.
diff --git a/schema_models/bakery.py b/schema_models/bakery.py
index 62fc823f..d427c9d3 100644
--- a/schema_models/bakery.py
+++ b/schema_models/bakery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class Bakery(FoodEstablishment):
"""
A bakery.
diff --git a/schema_models/bank_account.py b/schema_models/bank_account.py
index 2a8de88e..83a80e9d 100644
--- a/schema_models/bank_account.py
+++ b/schema_models/bank_account.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.monetary_amount import MonetaryAmount
+@dataclass
class BankAccount(FinancialProduct):
"""
A product or service offered by a bank whereby one may deposit, withdraw or transfer money and in some cases be paid interest.
diff --git a/schema_models/bank_or_credit_union.py b/schema_models/bank_or_credit_union.py
index 737c2816..d9747dd0 100644
--- a/schema_models/bank_or_credit_union.py
+++ b/schema_models/bank_or_credit_union.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_service import FinancialService
+@dataclass
class BankOrCreditUnion(FinancialService):
"""
Bank or credit union.
diff --git a/schema_models/bar_or_pub.py b/schema_models/bar_or_pub.py
index f688cd52..82867b4d 100644
--- a/schema_models/bar_or_pub.py
+++ b/schema_models/bar_or_pub.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class BarOrPub(FoodEstablishment):
"""
A bar or pub.
diff --git a/schema_models/barcode.py b/schema_models/barcode.py
index c0ade733..ee4070b7 100644
--- a/schema_models/barcode.py
+++ b/schema_models/barcode.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.image_object import ImageObject
+@dataclass
class Barcode(ImageObject):
"""
An image of a visual machine-readable code such as a barcode or QR code.
diff --git a/schema_models/beach.py b/schema_models/beach.py
index 118aca33..9ac9af53 100644
--- a/schema_models/beach.py
+++ b/schema_models/beach.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Beach(CivicStructure):
"""
Beach.
diff --git a/schema_models/beauty_salon.py b/schema_models/beauty_salon.py
index def6718e..a2406dc4 100644
--- a/schema_models/beauty_salon.py
+++ b/schema_models/beauty_salon.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class BeautySalon(HealthAndBeautyBusiness):
"""
Beauty salon.
diff --git a/schema_models/bed_and_breakfast.py b/schema_models/bed_and_breakfast.py
index 332ab7c9..ea8946d0 100644
--- a/schema_models/bed_and_breakfast.py
+++ b/schema_models/bed_and_breakfast.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class BedAndBreakfast(LodgingBusiness):
"""
Bed and breakfast.
diff --git a/schema_models/bed_details.py b/schema_models/bed_details.py
index e456659a..6929fbe2 100644
--- a/schema_models/bed_details.py
+++ b/schema_models/bed_details.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class BedDetails(Intangible):
"""
An entity holding detailed information about the available bed types, e.g. the quantity of twin beds for a hotel room. For the single case of just one bed of a certain type, you can use bed directly with a text. See also [[BedType]] (under development).
diff --git a/schema_models/bed_type.py b/schema_models/bed_type.py
index 24a269aa..7fb87255 100644
--- a/schema_models/bed_type.py
+++ b/schema_models/bed_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.qualitative_value import QualitativeValue
+@dataclass
class BedType(QualitativeValue):
"""
A type of bed. This is used for indicating the bed or beds available in an accommodation.
diff --git a/schema_models/befriend_action.py b/schema_models/befriend_action.py
index d217228e..5c8f3193 100644
--- a/schema_models/befriend_action.py
+++ b/schema_models/befriend_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.interact_action import InteractAction
+@dataclass
class BefriendAction(InteractAction):
"""
The act of forming a personal connection with someone (object) mutually/bidirectionally/symmetrically.
diff --git a/schema_models/bike_store.py b/schema_models/bike_store.py
index c4639082..d99f4926 100644
--- a/schema_models/bike_store.py
+++ b/schema_models/bike_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class BikeStore(Store):
"""
A bike store.
diff --git a/schema_models/bio_chem_entity.py b/schema_models/bio_chem_entity.py
index 2878cac2..c0c63089 100644
--- a/schema_models/bio_chem_entity.py
+++ b/schema_models/bio_chem_entity.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.thing import Thing
+@dataclass
class BioChemEntity(Thing):
"""
Any biological, chemical, or biochemical thing. For example: a protein; a gene; a chemical; a synthetic chemical.
diff --git a/schema_models/blog.py b/schema_models/blog.py
index 35dfa7d8..2644be62 100644
--- a/schema_models/blog.py
+++ b/schema_models/blog.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Blog(CreativeWork):
"""
A [blog](https://en.wikipedia.org/wiki/Blog), sometimes known as a "weblog". Note that the individual posts ([[BlogPosting]]s) in a [[Blog]] are often colloquially referred to by the same term.
diff --git a/schema_models/blog_posting.py b/schema_models/blog_posting.py
index 241a8c8e..ed576cca 100644
--- a/schema_models/blog_posting.py
+++ b/schema_models/blog_posting.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.social_media_posting import SocialMediaPosting
+@dataclass
class BlogPosting(SocialMediaPosting):
"""
A blog post.
diff --git a/schema_models/blood_test.py b/schema_models/blood_test.py
index 9f2c95a8..1565913e 100644
--- a/schema_models/blood_test.py
+++ b/schema_models/blood_test.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_test import MedicalTest
+@dataclass
class BloodTest(MedicalTest):
"""
A medical test performed on a sample of a patient's blood.
diff --git a/schema_models/boarding_policy_type.py b/schema_models/boarding_policy_type.py
index 35ddfe45..d9ab88b8 100644
--- a/schema_models/boarding_policy_type.py
+++ b/schema_models/boarding_policy_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class BoardingPolicyType(Enumeration):
"""
A type of boarding policy used by an airline.
diff --git a/schema_models/boat_reservation.py b/schema_models/boat_reservation.py
index 3695515a..0c4103e2 100644
--- a/schema_models/boat_reservation.py
+++ b/schema_models/boat_reservation.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.reservation import Reservation
+@dataclass
class BoatReservation(Reservation):
"""
A reservation for boat travel.
diff --git a/schema_models/boat_terminal.py b/schema_models/boat_terminal.py
index ef4f357b..3fd972c6 100644
--- a/schema_models/boat_terminal.py
+++ b/schema_models/boat_terminal.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class BoatTerminal(CivicStructure):
"""
A terminal for boats, ships, and other water vessels.
diff --git a/schema_models/boat_trip.py b/schema_models/boat_trip.py
index ac34a5b2..95e089da 100644
--- a/schema_models/boat_trip.py
+++ b/schema_models/boat_trip.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.trip import Trip
+@dataclass
class BoatTrip(Trip):
"""
A trip on a commercial ferry line.
diff --git a/schema_models/body_measurement_type_enumeration.py b/schema_models/body_measurement_type_enumeration.py
index 65e27ac6..96552330 100644
--- a/schema_models/body_measurement_type_enumeration.py
+++ b/schema_models/body_measurement_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.measurement_type_enumeration import MeasurementTypeEnumeration
+@dataclass
class BodyMeasurementTypeEnumeration(MeasurementTypeEnumeration):
"""
Enumerates types (or dimensions) of a person's body measurements, for example for fitting of clothes.
diff --git a/schema_models/body_of_water.py b/schema_models/body_of_water.py
index 0f1cfb2b..2b3df00f 100644
--- a/schema_models/body_of_water.py
+++ b/schema_models/body_of_water.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.landform import Landform
+@dataclass
class BodyOfWater(Landform):
"""
A body of water, such as a sea, ocean, or lake.
diff --git a/schema_models/bone.py b/schema_models/bone.py
index 58ba797b..3adc1c6b 100644
--- a/schema_models/bone.py
+++ b/schema_models/bone.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.anatomical_structure import AnatomicalStructure
+@dataclass
class Bone(AnatomicalStructure):
"""
Rigid connective tissue that comprises up the skeletal structure of the human body.
diff --git a/schema_models/book.py b/schema_models/book.py
index 08fd6a77..d2d5b2c5 100644
--- a/schema_models/book.py
+++ b/schema_models/book.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.person import Person
+@dataclass
class Book(CreativeWork):
"""
A book.
diff --git a/schema_models/book_format_type.py b/schema_models/book_format_type.py
index 20acb9f7..d648dc4e 100644
--- a/schema_models/book_format_type.py
+++ b/schema_models/book_format_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class BookFormatType(Enumeration):
"""
The publication format of the book.
diff --git a/schema_models/book_series.py b/schema_models/book_series.py
index 1edcc81a..9ad86a1f 100644
--- a/schema_models/book_series.py
+++ b/schema_models/book_series.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work_series import CreativeWorkSeries
+@dataclass
class BookSeries(CreativeWorkSeries):
"""
A series of books. Included books can be indicated with the hasPart property.
diff --git a/schema_models/book_store.py b/schema_models/book_store.py
index 524230e8..8e891612 100644
--- a/schema_models/book_store.py
+++ b/schema_models/book_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class BookStore(Store):
"""
A bookstore.
diff --git a/schema_models/bookmark_action.py b/schema_models/bookmark_action.py
index ddea2ca7..e4bc6910 100644
--- a/schema_models/bookmark_action.py
+++ b/schema_models/bookmark_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organize_action import OrganizeAction
+@dataclass
class BookmarkAction(OrganizeAction):
"""
An agent bookmarks/flags/labels/tags/marks an object.
diff --git a/schema_models/borrow_action.py b/schema_models/borrow_action.py
index e03f83e3..03aeb21d 100644
--- a/schema_models/borrow_action.py
+++ b/schema_models/borrow_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
@@ -5,6 +6,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class BorrowAction(TransferAction):
"""
The act of obtaining an object under an agreement to return it at a later date. Reciprocal of LendAction.
diff --git a/schema_models/bowling_alley.py b/schema_models/bowling_alley.py
index 105b72c9..197abcf9 100644
--- a/schema_models/bowling_alley.py
+++ b/schema_models/bowling_alley.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class BowlingAlley(SportsActivityLocation):
"""
A bowling alley.
diff --git a/schema_models/brain_structure.py b/schema_models/brain_structure.py
index fadd09a2..fc85d67b 100644
--- a/schema_models/brain_structure.py
+++ b/schema_models/brain_structure.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.anatomical_structure import AnatomicalStructure
+@dataclass
class BrainStructure(AnatomicalStructure):
"""
Any anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity.
diff --git a/schema_models/brand.py b/schema_models/brand.py
index 0d68242f..ee8ac8fd 100644
--- a/schema_models/brand.py
+++ b/schema_models/brand.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class Brand(Intangible):
"""
A brand is a name used by an organization or business person for labeling a product, product group, or similar.
diff --git a/schema_models/breadcrumb_list.py b/schema_models/breadcrumb_list.py
index eb4f6f99..b056a6a3 100644
--- a/schema_models/breadcrumb_list.py
+++ b/schema_models/breadcrumb_list.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.item_list import ItemList
+@dataclass
class BreadcrumbList(ItemList):
"""
A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.
diff --git a/schema_models/brewery.py b/schema_models/brewery.py
index 81dd67cc..fd8e3c4e 100644
--- a/schema_models/brewery.py
+++ b/schema_models/brewery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class Brewery(FoodEstablishment):
"""
Brewery.
diff --git a/schema_models/bridge.py b/schema_models/bridge.py
index 62ee6950..2f2182e2 100644
--- a/schema_models/bridge.py
+++ b/schema_models/bridge.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Bridge(CivicStructure):
"""
A bridge.
diff --git a/schema_models/broadcast_channel.py b/schema_models/broadcast_channel.py
index 7d189852..4356847d 100644
--- a/schema_models/broadcast_channel.py
+++ b/schema_models/broadcast_channel.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class BroadcastChannel(Intangible):
"""
A unique instance of a BroadcastService on a CableOrSatelliteService lineup.
diff --git a/schema_models/broadcast_event.py b/schema_models/broadcast_event.py
index 348d3093..cf4b4f91 100644
--- a/schema_models/broadcast_event.py
+++ b/schema_models/broadcast_event.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.event import Event
@@ -5,6 +6,7 @@
from schema_models.publication_event import PublicationEvent
+@dataclass
class BroadcastEvent(PublicationEvent):
"""
An over the air or online broadcast event.
diff --git a/schema_models/broadcast_frequency_specification.py b/schema_models/broadcast_frequency_specification.py
index a76bbc71..fe063f72 100644
--- a/schema_models/broadcast_frequency_specification.py
+++ b/schema_models/broadcast_frequency_specification.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class BroadcastFrequencySpecification(Intangible):
"""
The frequency in MHz and the modulation used for a particular BroadcastService.
diff --git a/schema_models/broadcast_service.py b/schema_models/broadcast_service.py
index 71d7a2b3..22593347 100644
--- a/schema_models/broadcast_service.py
+++ b/schema_models/broadcast_service.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.broadcast_channel import BroadcastChannel
@@ -10,6 +11,7 @@
from schema_models.service import Service
+@dataclass
class BroadcastService(Service):
"""
A delivery service through which content is provided via broadcast over the air or online.
diff --git a/schema_models/brokerage_account.py b/schema_models/brokerage_account.py
index d51f4f5d..78446776 100644
--- a/schema_models/brokerage_account.py
+++ b/schema_models/brokerage_account.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.investment_or_deposit import InvestmentOrDeposit
+@dataclass
class BrokerageAccount(InvestmentOrDeposit):
"""
An account that allows an investor to deposit funds and place investment orders with a licensed broker or brokerage firm.
diff --git a/schema_models/buddhist_temple.py b/schema_models/buddhist_temple.py
index 699f990f..40e2b2b4 100644
--- a/schema_models/buddhist_temple.py
+++ b/schema_models/buddhist_temple.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place_of_worship import PlaceOfWorship
+@dataclass
class BuddhistTemple(PlaceOfWorship):
"""
A Buddhist temple.
diff --git a/schema_models/bus_or_coach.py b/schema_models/bus_or_coach.py
index 0e66f810..389804ce 100644
--- a/schema_models/bus_or_coach.py
+++ b/schema_models/bus_or_coach.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.vehicle import Vehicle
+@dataclass
class BusOrCoach(Vehicle):
"""
A bus (also omnibus or autobus) is a road vehicle designed to carry passengers. Coaches are luxury buses, usually in service for long distance travel.
diff --git a/schema_models/bus_reservation.py b/schema_models/bus_reservation.py
index 578435e0..364d905c 100644
--- a/schema_models/bus_reservation.py
+++ b/schema_models/bus_reservation.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.reservation import Reservation
+@dataclass
class BusReservation(Reservation):
"""
A reservation for bus travel.
diff --git a/schema_models/bus_station.py b/schema_models/bus_station.py
index 0a163bd9..91ea24e6 100644
--- a/schema_models/bus_station.py
+++ b/schema_models/bus_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class BusStation(CivicStructure):
"""
A bus station.
diff --git a/schema_models/bus_stop.py b/schema_models/bus_stop.py
index fa07f208..067d26d3 100644
--- a/schema_models/bus_stop.py
+++ b/schema_models/bus_stop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class BusStop(CivicStructure):
"""
A bus stop.
diff --git a/schema_models/bus_trip.py b/schema_models/bus_trip.py
index a945135d..1d90980b 100644
--- a/schema_models/bus_trip.py
+++ b/schema_models/bus_trip.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.trip import Trip
+@dataclass
class BusTrip(Trip):
"""
A trip on a commercial bus line.
diff --git a/schema_models/business_audience.py b/schema_models/business_audience.py
index 2b45343c..3fdd2b1d 100644
--- a/schema_models/business_audience.py
+++ b/schema_models/business_audience.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class BusinessAudience(Audience):
"""
A set of characteristics belonging to businesses, e.g. who compose an item's target audience.
diff --git a/schema_models/business_entity_type.py b/schema_models/business_entity_type.py
index 79ee5b81..5b195601 100644
--- a/schema_models/business_entity_type.py
+++ b/schema_models/business_entity_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class BusinessEntityType(Enumeration):
"""
A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.
diff --git a/schema_models/business_event.py b/schema_models/business_event.py
index fd7fc78d..bd421524 100644
--- a/schema_models/business_event.py
+++ b/schema_models/business_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class BusinessEvent(Event):
"""
Event type: Business event.
diff --git a/schema_models/business_function.py b/schema_models/business_function.py
index 4388ac20..a5edd499 100644
--- a/schema_models/business_function.py
+++ b/schema_models/business_function.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class BusinessFunction(Enumeration):
"""
The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell.
diff --git a/schema_models/buy_action.py b/schema_models/buy_action.py
index 1b3d2031..5e13d809 100644
--- a/schema_models/buy_action.py
+++ b/schema_models/buy_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
@@ -6,6 +7,7 @@
from schema_models.warranty_promise import WarrantyPromise
+@dataclass
class BuyAction(TradeAction):
"""
The act of giving money to a seller in exchange for goods or services rendered. An agent buys an object, product, or service from a seller for a price. Reciprocal of SellAction.
diff --git a/schema_models/cable_or_satellite_service.py b/schema_models/cable_or_satellite_service.py
index 315bc008..0fbc1f6f 100644
--- a/schema_models/cable_or_satellite_service.py
+++ b/schema_models/cable_or_satellite_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.service import Service
+@dataclass
class CableOrSatelliteService(Service):
"""
A service which provides access to media programming like TV or radio. Access may be via cable or satellite.
diff --git a/schema_models/cafe_or_coffee_shop.py b/schema_models/cafe_or_coffee_shop.py
index 577c0506..7fba2b18 100644
--- a/schema_models/cafe_or_coffee_shop.py
+++ b/schema_models/cafe_or_coffee_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class CafeOrCoffeeShop(FoodEstablishment):
"""
A cafe or coffee shop.
diff --git a/schema_models/campground.py b/schema_models/campground.py
index c2a92cba..36378b4e 100644
--- a/schema_models/campground.py
+++ b/schema_models/campground.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class Campground(LodgingBusiness):
"""
A camping site, campsite, or [[Campground]] is a place used for overnight stay in the outdoors, typically containing individual [[CampingPitch]] locations.
diff --git a/schema_models/camping_pitch.py b/schema_models/camping_pitch.py
index 80174e3d..48a86e57 100644
--- a/schema_models/camping_pitch.py
+++ b/schema_models/camping_pitch.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.accommodation import Accommodation
+@dataclass
class CampingPitch(Accommodation):
"""
A [[CampingPitch]] is an individual place for overnight stay in the outdoors, typically being part of a larger camping site, or [[Campground]].
diff --git a/schema_models/canal.py b/schema_models/canal.py
index 6455938e..00ef831d 100644
--- a/schema_models/canal.py
+++ b/schema_models/canal.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class Canal(BodyOfWater):
"""
A canal, like the Panama Canal.
diff --git a/schema_models/cancel_action.py b/schema_models/cancel_action.py
index b285779c..bfa712bf 100644
--- a/schema_models/cancel_action.py
+++ b/schema_models/cancel_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.plan_action import PlanAction
+@dataclass
class CancelAction(PlanAction):
"""
The act of asserting that a future event/action is no longer going to happen.
diff --git a/schema_models/car.py b/schema_models/car.py
index 836b62e5..d77229fe 100644
--- a/schema_models/car.py
+++ b/schema_models/car.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.vehicle import Vehicle
+@dataclass
class Car(Vehicle):
"""
A car is a wheeled, self-powered motor vehicle used for transportation.
diff --git a/schema_models/car_usage_type.py b/schema_models/car_usage_type.py
index be9768bd..6dfc0506 100644
--- a/schema_models/car_usage_type.py
+++ b/schema_models/car_usage_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class CarUsageType(Enumeration):
"""
A value indicating a special usage of a car, e.g. commercial rental, driving school, or as a taxi.
diff --git a/schema_models/casino.py b/schema_models/casino.py
index 45121c05..63625b08 100644
--- a/schema_models/casino.py
+++ b/schema_models/casino.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class Casino(EntertainmentBusiness):
"""
A casino.
diff --git a/schema_models/category_code.py b/schema_models/category_code.py
index 043ecf3d..e2aa0e14 100644
--- a/schema_models/category_code.py
+++ b/schema_models/category_code.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.defined_term import DefinedTerm
+@dataclass
class CategoryCode(DefinedTerm):
"""
A Category Code.
diff --git a/schema_models/category_code_set.py b/schema_models/category_code_set.py
index ed5ad152..49beedf7 100644
--- a/schema_models/category_code_set.py
+++ b/schema_models/category_code_set.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.category_code import CategoryCode
from schema_models.defined_term_set import DefinedTermSet
+@dataclass
class CategoryCodeSet(DefinedTermSet):
"""
A set of Category Code values.
diff --git a/schema_models/catholic_church.py b/schema_models/catholic_church.py
index 1e072ba8..cff0bae8 100644
--- a/schema_models/catholic_church.py
+++ b/schema_models/catholic_church.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.church import Church
+@dataclass
class CatholicChurch(Church):
"""
A Catholic church.
diff --git a/schema_models/cdcpmd_record.py b/schema_models/cdcpmd_record.py
index 3ae5591d..7833b58d 100644
--- a/schema_models/cdcpmd_record.py
+++ b/schema_models/cdcpmd_record.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class CDCPMDRecord(StructuredValue):
"""
A CDCPMDRecord is a data structure representing a record in a CDC tabular data format
diff --git a/schema_models/cemetery.py b/schema_models/cemetery.py
index 5fb39b35..3979bbfa 100644
--- a/schema_models/cemetery.py
+++ b/schema_models/cemetery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Cemetery(CivicStructure):
"""
A graveyard.
diff --git a/schema_models/certification.py b/schema_models/certification.py
index 25850c44..9cb43052 100644
--- a/schema_models/certification.py
+++ b/schema_models/certification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -11,6 +12,7 @@
from schema_models.thing import Thing
+@dataclass
class Certification(CreativeWork):
"""
A Certification is an official and authoritative statement about a subject, for example a product, service, person, or organization. A certification is typically issued by an indendent certification body, for example a professional organization or government. It formally attests certain characteristics about the subject, for example Organizations can be ISO certified, Food products can be certified Organic or Vegan, a Person can be a certified professional, a Place can be certified for food processing. There are certifications for many domains: regulatory, organizational, recycling, food, efficiency, educational, ecological, etc. A certification is a form of credential, as are accreditations and licenses. Mapped from the [gs1:CertificationDetails](https://www.gs1.org/voc/CertificationDetails) class in the GS1 Web Vocabulary.
diff --git a/schema_models/certification_status_enumeration.py b/schema_models/certification_status_enumeration.py
index 3c0850e3..a3c987dd 100644
--- a/schema_models/certification_status_enumeration.py
+++ b/schema_models/certification_status_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class CertificationStatusEnumeration(Enumeration):
"""
Enumerates the different statuses of a Certification (Active and Inactive).
diff --git a/schema_models/chapter.py b/schema_models/chapter.py
index a29d09c2..07c164fb 100644
--- a/schema_models/chapter.py
+++ b/schema_models/chapter.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Chapter(CreativeWork):
"""
One of the sections into which a book is divided. A chapter usually has a section number or a name.
diff --git a/schema_models/check_action.py b/schema_models/check_action.py
index c2e10e1a..e33b7f1a 100644
--- a/schema_models/check_action.py
+++ b/schema_models/check_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.find_action import FindAction
+@dataclass
class CheckAction(FindAction):
"""
An agent inspects, determines, investigates, inquires, or examines an object's accuracy, quality, condition, or state.
diff --git a/schema_models/check_in_action.py b/schema_models/check_in_action.py
index be66708b..b5913718 100644
--- a/schema_models/check_in_action.py
+++ b/schema_models/check_in_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.communicate_action import CommunicateAction
+@dataclass
class CheckInAction(CommunicateAction):
"""
The act of an agent communicating (service provider, social media, etc) their arrival by registering/confirming for a previously reserved service (e.g. flight check-in) or at a place (e.g. hotel), possibly resulting in a result (boarding pass, etc).
diff --git a/schema_models/check_out_action.py b/schema_models/check_out_action.py
index 1442ae5c..be8f59a5 100644
--- a/schema_models/check_out_action.py
+++ b/schema_models/check_out_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.communicate_action import CommunicateAction
+@dataclass
class CheckOutAction(CommunicateAction):
"""
The act of an agent communicating (service provider, social media, etc) their departure of a previously reserved service (e.g. flight check-in) or place (e.g. hotel).
diff --git a/schema_models/checkout_page.py b/schema_models/checkout_page.py
index cdc89513..37d2295b 100644
--- a/schema_models/checkout_page.py
+++ b/schema_models/checkout_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class CheckoutPage(WebPage):
"""
Web page type: Checkout page.
diff --git a/schema_models/chemical_substance.py b/schema_models/chemical_substance.py
index 624a86f2..369fefcd 100644
--- a/schema_models/chemical_substance.py
+++ b/schema_models/chemical_substance.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.bio_chem_entity import BioChemEntity
from schema_models.defined_term import DefinedTerm
+@dataclass
class ChemicalSubstance(BioChemEntity):
"""
A chemical substance is 'a portion of matter of constant composition, composed of molecular entities of the same type or of different types' (source: [ChEBI:59999](https://www.ebi.ac.uk/chebi/searchId.do?chebiId=59999)).
diff --git a/schema_models/child_care.py b/schema_models/child_care.py
index ec0a7f46..7db91035 100644
--- a/schema_models/child_care.py
+++ b/schema_models/child_care.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class ChildCare(LocalBusiness):
"""
A Childcare center.
diff --git a/schema_models/childrens_event.py b/schema_models/childrens_event.py
index da380689..a290d1b1 100644
--- a/schema_models/childrens_event.py
+++ b/schema_models/childrens_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class ChildrensEvent(Event):
"""
Event type: Children's event.
diff --git a/schema_models/choose_action.py b/schema_models/choose_action.py
index b47f700b..639ba718 100644
--- a/schema_models/choose_action.py
+++ b/schema_models/choose_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.assess_action import AssessAction
from schema_models.thing import Thing
+@dataclass
class ChooseAction(AssessAction):
"""
The act of expressing a preference from a set of options or a large or unbounded set of choices/options.
diff --git a/schema_models/church.py b/schema_models/church.py
index e643c937..527f5ce5 100644
--- a/schema_models/church.py
+++ b/schema_models/church.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place_of_worship import PlaceOfWorship
+@dataclass
class Church(PlaceOfWorship):
"""
A church.
diff --git a/schema_models/city.py b/schema_models/city.py
index 77910dcc..f60976aa 100644
--- a/schema_models/city.py
+++ b/schema_models/city.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.administrative_area import AdministrativeArea
+@dataclass
class City(AdministrativeArea):
"""
A city or town.
diff --git a/schema_models/city_hall.py b/schema_models/city_hall.py
index b5b9aeee..eaced1cf 100644
--- a/schema_models/city_hall.py
+++ b/schema_models/city_hall.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_building import GovernmentBuilding
+@dataclass
class CityHall(GovernmentBuilding):
"""
A city hall.
diff --git a/schema_models/civic_structure.py b/schema_models/civic_structure.py
index 740be94a..c7426f4a 100644
--- a/schema_models/civic_structure.py
+++ b/schema_models/civic_structure.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.place import Place
+@dataclass
class CivicStructure(Place):
"""
A public structure, such as a town hall or concert hall.
diff --git a/schema_models/claim.py b/schema_models/claim.py
index f00814a5..741f0c6b 100644
--- a/schema_models/claim.py
+++ b/schema_models/claim.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class Claim(CreativeWork):
"""
A [[Claim]] in Schema.org represents a specific, factually-oriented claim that could be the [[itemReviewed]] in a [[ClaimReview]]. The content of a claim can be summarized with the [[text]] property. Variations on well known claims can have their common identity indicated via [[sameAs]] links, and summarized with a [[name]]. Ideally, a [[Claim]] description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews.
diff --git a/schema_models/claim_review.py b/schema_models/claim_review.py
index a7e9a982..5ebe8ed3 100644
--- a/schema_models/claim_review.py
+++ b/schema_models/claim_review.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.review import Review
+@dataclass
class ClaimReview(Review):
"""
A fact-checking review of claims made (or reported) in some creative work (referenced via itemReviewed).
diff --git a/schema_models/clip.py b/schema_models/clip.py
index 8f046847..8b82868d 100644
--- a/schema_models/clip.py
+++ b/schema_models/clip.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class Clip(CreativeWork):
"""
A short TV or radio program or a segment/part of a program.
diff --git a/schema_models/clothing_store.py b/schema_models/clothing_store.py
index fdc37cc2..a8d2b78b 100644
--- a/schema_models/clothing_store.py
+++ b/schema_models/clothing_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ClothingStore(Store):
"""
A clothing store.
diff --git a/schema_models/code.py b/schema_models/code.py
index 5920d4f8..cea54897 100644
--- a/schema_models/code.py
+++ b/schema_models/code.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Code(CreativeWork):
"""
Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates.
diff --git a/schema_models/collection.py b/schema_models/collection.py
index 3f8a93cd..f0c814d8 100644
--- a/schema_models/collection.py
+++ b/schema_models/collection.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Collection(CreativeWork):
"""
A sub property of object. The collection target of the action.
diff --git a/schema_models/collection_page.py b/schema_models/collection_page.py
index 52e7dc06..7f9ce7c7 100644
--- a/schema_models/collection_page.py
+++ b/schema_models/collection_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class CollectionPage(WebPage):
"""
Web page type: Collection page.
diff --git a/schema_models/college_or_university.py b/schema_models/college_or_university.py
index 72b08fa3..79c2a607 100644
--- a/schema_models/college_or_university.py
+++ b/schema_models/college_or_university.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class CollegeOrUniversity(EducationalOrganization):
"""
A college, university, or other third-level educational institution.
diff --git a/schema_models/comedy_club.py b/schema_models/comedy_club.py
index 373276ce..a3b70763 100644
--- a/schema_models/comedy_club.py
+++ b/schema_models/comedy_club.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class ComedyClub(EntertainmentBusiness):
"""
A comedy club.
diff --git a/schema_models/comedy_event.py b/schema_models/comedy_event.py
index dd40b76f..bfb8f3ba 100644
--- a/schema_models/comedy_event.py
+++ b/schema_models/comedy_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class ComedyEvent(Event):
"""
Event type: Comedy event.
diff --git a/schema_models/comic_cover_art.py b/schema_models/comic_cover_art.py
index 91b99bbf..2c7323e2 100644
--- a/schema_models/comic_cover_art.py
+++ b/schema_models/comic_cover_art.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.comic_story import ComicStory
+@dataclass
class ComicCoverArt(ComicStory):
"""
The artwork on the cover of a comic.
diff --git a/schema_models/comic_issue.py b/schema_models/comic_issue.py
index a9115b60..0e106e69 100644
--- a/schema_models/comic_issue.py
+++ b/schema_models/comic_issue.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.person import Person
from schema_models.publication_issue import PublicationIssue
+@dataclass
class ComicIssue(PublicationIssue):
"""
Individual comic issues are serially published as
diff --git a/schema_models/comic_series.py b/schema_models/comic_series.py
index ec52df49..2f906ece 100644
--- a/schema_models/comic_series.py
+++ b/schema_models/comic_series.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.periodical import Periodical
+@dataclass
class ComicSeries(Periodical):
"""
A sequential publication of comic stories under a
diff --git a/schema_models/comic_story.py b/schema_models/comic_story.py
index ffe1d680..03195c42 100644
--- a/schema_models/comic_story.py
+++ b/schema_models/comic_story.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.person import Person
+@dataclass
class ComicStory(CreativeWork):
"""
The term "story" is any indivisible, re-printable
diff --git a/schema_models/comment.py b/schema_models/comment.py
index f036f93b..f5279876 100644
--- a/schema_models/comment.py
+++ b/schema_models/comment.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Comment(CreativeWork):
"""
A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the [[text]] property, and its topic via [[about]], properties shared with all CreativeWorks.
diff --git a/schema_models/comment_action.py b/schema_models/comment_action.py
index cca27d92..5d949960 100644
--- a/schema_models/comment_action.py
+++ b/schema_models/comment_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.comment import Comment
from schema_models.communicate_action import CommunicateAction
+@dataclass
class CommentAction(CommunicateAction):
"""
The act of generating a comment about a subject.
diff --git a/schema_models/communicate_action.py b/schema_models/communicate_action.py
index 6e4716d0..49a34620 100644
--- a/schema_models/communicate_action.py
+++ b/schema_models/communicate_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -9,6 +10,7 @@
from schema_models.thing import Thing
+@dataclass
class CommunicateAction(InteractAction):
"""
The act of conveying information to another person via a communication medium (instrument) such as speech, email, or telephone conversation.
diff --git a/schema_models/complete_data_feed.py b/schema_models/complete_data_feed.py
index 5476ea37..0b07e249 100644
--- a/schema_models/complete_data_feed.py
+++ b/schema_models/complete_data_feed.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.data_feed import DataFeed
+@dataclass
class CompleteDataFeed(DataFeed):
"""
A [[CompleteDataFeed]] is a [[DataFeed]] whose standard representation includes content for every item currently in the feed.
diff --git a/schema_models/compound_price_specification.py b/schema_models/compound_price_specification.py
index b692a5db..b9e4c82c 100644
--- a/schema_models/compound_price_specification.py
+++ b/schema_models/compound_price_specification.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.price_specification import PriceSpecification
from schema_models.price_type_enumeration import PriceTypeEnumeration
+@dataclass
class CompoundPriceSpecification(PriceSpecification):
"""
A compound price specification is one that bundles multiple prices that all apply in combination for different dimensions of consumption. Use the name property of the attached unit price specification for indicating the dimension of a price component (e.g. "electricity" or "final cleaning").
diff --git a/schema_models/computer_language.py b/schema_models/computer_language.py
index 6f93848c..a6d0578a 100644
--- a/schema_models/computer_language.py
+++ b/schema_models/computer_language.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class ComputerLanguage(Intangible):
"""
This type covers computer programming languages such as Scheme and Lisp, as well as other language-like computer representations. Natural languages are best represented with the [[Language]] type.
diff --git a/schema_models/computer_store.py b/schema_models/computer_store.py
index d1e76bfd..77038096 100644
--- a/schema_models/computer_store.py
+++ b/schema_models/computer_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ComputerStore(Store):
"""
A computer store.
diff --git a/schema_models/confirm_action.py b/schema_models/confirm_action.py
index c1fd3fbc..e073a33f 100644
--- a/schema_models/confirm_action.py
+++ b/schema_models/confirm_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.inform_action import InformAction
+@dataclass
class ConfirmAction(InformAction):
"""
The act of notifying someone that a future event/action is going to happen as expected.
diff --git a/schema_models/consortium.py b/schema_models/consortium.py
index 3576d6ee..3238e8c9 100644
--- a/schema_models/consortium.py
+++ b/schema_models/consortium.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class Consortium(Organization):
"""
A Consortium is a membership [[Organization]] whose members are typically Organizations.
diff --git a/schema_models/constraint_node.py b/schema_models/constraint_node.py
index cc9a915a..fc643030 100644
--- a/schema_models/constraint_node.py
+++ b/schema_models/constraint_node.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class ConstraintNode(Intangible):
"""
The ConstraintNode type is provided to support usecases in which a node in a structured data graph is described with properties which appear to describe a single entity, but are being used in a situation where they serve a more abstract purpose. A [[ConstraintNode]] can be described using [[constraintProperty]] and [[numConstraints]]. These constraint properties can serve a
diff --git a/schema_models/consume_action.py b/schema_models/consume_action.py
index 1327ed7e..eee155af 100644
--- a/schema_models/consume_action.py
+++ b/schema_models/consume_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
@@ -5,6 +6,7 @@
from schema_models.offer import Offer
+@dataclass
class ConsumeAction(Action):
"""
The act of ingesting information/resources/food.
diff --git a/schema_models/contact_page.py b/schema_models/contact_page.py
index 8fcb6781..1c0488ab 100644
--- a/schema_models/contact_page.py
+++ b/schema_models/contact_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class ContactPage(WebPage):
"""
Web page type: Contact page.
diff --git a/schema_models/contact_point.py b/schema_models/contact_point.py
index 0797431c..7cc92435 100644
--- a/schema_models/contact_point.py
+++ b/schema_models/contact_point.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.administrative_area import AdministrativeArea
@@ -10,6 +11,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class ContactPoint(StructuredValue):
"""
A contact point for a person or organization.
diff --git a/schema_models/contact_point_option.py b/schema_models/contact_point_option.py
index 1d43c580..a9a6da2e 100644
--- a/schema_models/contact_point_option.py
+++ b/schema_models/contact_point_option.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ContactPointOption(Enumeration):
"""
Enumerated options related to a ContactPoint.
diff --git a/schema_models/continent.py b/schema_models/continent.py
index edc1a7b6..97cac3c3 100644
--- a/schema_models/continent.py
+++ b/schema_models/continent.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.landform import Landform
+@dataclass
class Continent(Landform):
"""
One of the continents (for example, Europe or Africa).
diff --git a/schema_models/control_action.py b/schema_models/control_action.py
index f6dc9a84..64479e6e 100644
--- a/schema_models/control_action.py
+++ b/schema_models/control_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class ControlAction(Action):
"""
An agent controls a device or application.
diff --git a/schema_models/convenience_store.py b/schema_models/convenience_store.py
index c5cb612d..031b606d 100644
--- a/schema_models/convenience_store.py
+++ b/schema_models/convenience_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ConvenienceStore(Store):
"""
A convenience store.
diff --git a/schema_models/conversation.py b/schema_models/conversation.py
index 5c7c960a..38235dc4 100644
--- a/schema_models/conversation.py
+++ b/schema_models/conversation.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Conversation(CreativeWork):
"""
One or more messages between organizations or people on a particular topic. Individual messages can be linked to the conversation with isPartOf or hasPart properties.
diff --git a/schema_models/cook_action.py b/schema_models/cook_action.py
index 9bcb6fc4..110cd667 100644
--- a/schema_models/cook_action.py
+++ b/schema_models/cook_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.create_action import CreateAction
@@ -5,6 +6,7 @@
from schema_models.place import Place
+@dataclass
class CookAction(CreateAction):
"""
The act of producing/preparing food.
diff --git a/schema_models/corporation.py b/schema_models/corporation.py
index f7d5284b..7e16be59 100644
--- a/schema_models/corporation.py
+++ b/schema_models/corporation.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
+@dataclass
class Corporation(Organization):
"""
Organization: A business corporation.
diff --git a/schema_models/correction_comment.py b/schema_models/correction_comment.py
index b4c6fb24..f7c19b1d 100644
--- a/schema_models/correction_comment.py
+++ b/schema_models/correction_comment.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.comment import Comment
+@dataclass
class CorrectionComment(Comment):
"""
A [[comment]] that corrects [[CreativeWork]].
diff --git a/schema_models/country.py b/schema_models/country.py
index b62608fa..fc2b1c9b 100644
--- a/schema_models/country.py
+++ b/schema_models/country.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.administrative_area import AdministrativeArea
+@dataclass
class Country(AdministrativeArea):
"""
A country.
diff --git a/schema_models/course.py b/schema_models/course.py
index 46fdd4fc..91b55c87 100644
--- a/schema_models/course.py
+++ b/schema_models/course.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -13,6 +14,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class Course(CreativeWork):
"""
A sub property of location. The course where this action was taken.
diff --git a/schema_models/course_instance.py b/schema_models/course_instance.py
index 2b18ed90..a81f1701 100644
--- a/schema_models/course_instance.py
+++ b/schema_models/course_instance.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class CourseInstance(Event):
"""
An instance of a [[Course]] which is distinct from other instances because it is offered at a different time or location or through different media or modes of study or to a specific section of students.
diff --git a/schema_models/courthouse.py b/schema_models/courthouse.py
index 88bc0c2f..94fa75d8 100644
--- a/schema_models/courthouse.py
+++ b/schema_models/courthouse.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_building import GovernmentBuilding
+@dataclass
class Courthouse(GovernmentBuilding):
"""
A courthouse.
diff --git a/schema_models/cover_art.py b/schema_models/cover_art.py
index c4dac03f..04a21e47 100644
--- a/schema_models/cover_art.py
+++ b/schema_models/cover_art.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.visual_artwork import VisualArtwork
+@dataclass
class CoverArt(VisualArtwork):
"""
The artwork on the outer surface of a CreativeWork.
diff --git a/schema_models/covid_testing_facility.py b/schema_models/covid_testing_facility.py
index e5c6dd4c..e26bdab6 100644
--- a/schema_models/covid_testing_facility.py
+++ b/schema_models/covid_testing_facility.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_clinic import MedicalClinic
+@dataclass
class CovidTestingFacility(MedicalClinic):
"""
A CovidTestingFacility is a [[MedicalClinic]] where testing for the COVID-19 Coronavirus
diff --git a/schema_models/create_action.py b/schema_models/create_action.py
index 7c60ac37..fe5ed39f 100644
--- a/schema_models/create_action.py
+++ b/schema_models/create_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class CreateAction(Action):
"""
The act of deliberately creating/producing/generating/building a result out of the agent.
diff --git a/schema_models/creative_work.py b/schema_models/creative_work.py
index 8b1867a5..0013e5a5 100644
--- a/schema_models/creative_work.py
+++ b/schema_models/creative_work.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.thing import Thing
+@dataclass
class CreativeWork(Thing):
"""
The most generic kind of creative work, including books, movies, photographs, software programs, etc.
diff --git a/schema_models/creative_work_season.py b/schema_models/creative_work_season.py
index 8c80f8ab..c5395dca 100644
--- a/schema_models/creative_work_season.py
+++ b/schema_models/creative_work_season.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.person import Person
+@dataclass
class CreativeWorkSeason(CreativeWork):
"""
A media season, e.g. TV, radio, video game etc.
diff --git a/schema_models/creative_work_series.py b/schema_models/creative_work_series.py
index 3e34ba25..19049e5e 100644
--- a/schema_models/creative_work_series.py
+++ b/schema_models/creative_work_series.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class CreativeWorkSeries(CreativeWork):
"""
A CreativeWorkSeries in schema.org is a group of related items, typically but not necessarily of the same kind. CreativeWorkSeries are usually organized into some order, often chronological. Unlike [[ItemList]] which is a general purpose data structure for lists of things, the emphasis with CreativeWorkSeries is on published materials (written e.g. books and periodicals, or media such as TV, radio and games).
diff --git a/schema_models/credit_card.py b/schema_models/credit_card.py
index ef5630c7..31794ef2 100644
--- a/schema_models/credit_card.py
+++ b/schema_models/credit_card.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.loan_or_credit import LoanOrCredit
+@dataclass
class CreditCard(LoanOrCredit):
"""
A card payment method of a particular brand or name. Used to mark up a particular payment method and/or the financial product/service that supplies the card account.
diff --git a/schema_models/crematorium.py b/schema_models/crematorium.py
index 046b8a9f..65ada11b 100644
--- a/schema_models/crematorium.py
+++ b/schema_models/crematorium.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Crematorium(CivicStructure):
"""
A crematorium.
diff --git a/schema_models/critic_review.py b/schema_models/critic_review.py
index c4e9b0e9..ff8b9c0d 100644
--- a/schema_models/critic_review.py
+++ b/schema_models/critic_review.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.review import Review
+@dataclass
class CriticReview(Review):
"""
A [[CriticReview]] is a more specialized form of Review written or published by a source that is recognized for its reviewing activities. These can include online columns, travel and food guides, TV and radio shows, blogs and other independent Web sites. [[CriticReview]]s are typically more in-depth and professionally written. For simpler, casually written user/visitor/viewer/customer reviews, it is more appropriate to use the [[UserReview]] type. Review aggregator sites such as Metacritic already separate out the site's user reviews from selected critic reviews that originate from third-party sources.
diff --git a/schema_models/css_selector_type.py b/schema_models/css_selector_type.py
index 108cf8d1..3d0837d5 100644
--- a/schema_models/css_selector_type.py
+++ b/schema_models/css_selector_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.text import Text
+@dataclass
class CssSelectorType(Text):
"""
Text representing a CSS selector.
diff --git a/schema_models/currency_conversion_service.py b/schema_models/currency_conversion_service.py
index 546575e2..3166bf76 100644
--- a/schema_models/currency_conversion_service.py
+++ b/schema_models/currency_conversion_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_product import FinancialProduct
+@dataclass
class CurrencyConversionService(FinancialProduct):
"""
A service to convert funds from one currency to another currency.
diff --git a/schema_models/d_dx_element.py b/schema_models/d_dx_element.py
index 1c646b1f..68916c73 100644
--- a/schema_models/d_dx_element.py
+++ b/schema_models/d_dx_element.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
@@ -5,6 +6,7 @@
from schema_models.medical_sign_or_symptom import MedicalSignOrSymptom
+@dataclass
class DDxElement(MedicalIntangible):
"""
An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it.
diff --git a/schema_models/dance_event.py b/schema_models/dance_event.py
index c5a3a2b1..f31889ea 100644
--- a/schema_models/dance_event.py
+++ b/schema_models/dance_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class DanceEvent(Event):
"""
Event type: A social dance.
diff --git a/schema_models/dance_group.py b/schema_models/dance_group.py
index 52f29423..765d4367 100644
--- a/schema_models/dance_group.py
+++ b/schema_models/dance_group.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.performing_group import PerformingGroup
+@dataclass
class DanceGroup(PerformingGroup):
"""
A dance group—for example, the Alvin Ailey Dance Theater or Riverdance.
diff --git a/schema_models/data_catalog.py b/schema_models/data_catalog.py
index 013e7a68..4526584b 100644
--- a/schema_models/data_catalog.py
+++ b/schema_models/data_catalog.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.defined_term import DefinedTerm
+@dataclass
class DataCatalog(CreativeWork):
"""
A collection of datasets.
diff --git a/schema_models/data_download.py b/schema_models/data_download.py
index 45efee80..345662c7 100644
--- a/schema_models/data_download.py
+++ b/schema_models/data_download.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.media_object import MediaObject
+@dataclass
class DataDownload(MediaObject):
"""
All or part of a [[Dataset]] in downloadable form.
diff --git a/schema_models/data_feed.py b/schema_models/data_feed.py
index 529d74f8..a888d687 100644
--- a/schema_models/data_feed.py
+++ b/schema_models/data_feed.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.data_feed_item import DataFeedItem
@@ -5,6 +6,7 @@
from schema_models.thing import Thing
+@dataclass
class DataFeed(Dataset):
"""
A single feed providing structured information about one or more entities or topics.
diff --git a/schema_models/data_feed_item.py b/schema_models/data_feed_item.py
index 752a2e75..5ae91e9a 100644
--- a/schema_models/data_feed_item.py
+++ b/schema_models/data_feed_item.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.thing import Thing
+@dataclass
class DataFeedItem(Intangible):
"""
A single item within a larger data feed.
diff --git a/schema_models/dataset.py b/schema_models/dataset.py
index fda71b77..e7da253c 100644
--- a/schema_models/dataset.py
+++ b/schema_models/dataset.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.property import Property
+@dataclass
class Dataset(CreativeWork):
"""
A dataset contained in this catalog.
diff --git a/schema_models/dated_money_specification.py b/schema_models/dated_money_specification.py
index a48c7ae4..b30fcab4 100644
--- a/schema_models/dated_money_specification.py
+++ b/schema_models/dated_money_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class DatedMoneySpecification(StructuredValue):
"""
A DatedMoneySpecification represents monetary values with optional start and end dates. For example, this could represent an employee's salary over a specific period of time. __Note:__ This type has been superseded by [[MonetaryAmount]], use of that type is recommended.
diff --git a/schema_models/day_of_week.py b/schema_models/day_of_week.py
index d9b73cf7..ab39f330 100644
--- a/schema_models/day_of_week.py
+++ b/schema_models/day_of_week.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class DayOfWeek(Enumeration):
"""
The day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer.
diff --git a/schema_models/day_spa.py b/schema_models/day_spa.py
index 72b763be..0d6c6b85 100644
--- a/schema_models/day_spa.py
+++ b/schema_models/day_spa.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class DaySpa(HealthAndBeautyBusiness):
"""
A day spa.
diff --git a/schema_models/deactivate_action.py b/schema_models/deactivate_action.py
index 96055509..f50ff258 100644
--- a/schema_models/deactivate_action.py
+++ b/schema_models/deactivate_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.control_action import ControlAction
+@dataclass
class DeactivateAction(ControlAction):
"""
The act of stopping or deactivating a device or application (e.g. stopping a timer or turning off a flashlight).
diff --git a/schema_models/defence_establishment.py b/schema_models/defence_establishment.py
index c40b4539..6bf375ed 100644
--- a/schema_models/defence_establishment.py
+++ b/schema_models/defence_establishment.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_building import GovernmentBuilding
+@dataclass
class DefenceEstablishment(GovernmentBuilding):
"""
A defence establishment, such as an army or navy base.
diff --git a/schema_models/defined_region.py b/schema_models/defined_region.py
index ea50b8a1..d2c1bb22 100644
--- a/schema_models/defined_region.py
+++ b/schema_models/defined_region.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.postal_code_range_specification import PostalCodeRangeSpecification
from schema_models.structured_value import StructuredValue
+@dataclass
class DefinedRegion(StructuredValue):
"""
A DefinedRegion is a geographic area defined by potentially arbitrary (rather than political, administrative or natural geographical) criteria. Properties are provided for defining a region by reference to sets of postal codes.
diff --git a/schema_models/defined_term.py b/schema_models/defined_term.py
index 4688d9ad..69263ca3 100644
--- a/schema_models/defined_term.py
+++ b/schema_models/defined_term.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class DefinedTerm(Intangible):
"""
A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term.
diff --git a/schema_models/defined_term_set.py b/schema_models/defined_term_set.py
index 73365be0..8143b6a0 100644
--- a/schema_models/defined_term_set.py
+++ b/schema_models/defined_term_set.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.defined_term import DefinedTerm
+@dataclass
class DefinedTermSet(CreativeWork):
"""
A set of defined terms, for example a set of categories or a classification scheme, a glossary, dictionary or enumeration.
diff --git a/schema_models/delete_action.py b/schema_models/delete_action.py
index 618b3d41..1a536abd 100644
--- a/schema_models/delete_action.py
+++ b/schema_models/delete_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.update_action import UpdateAction
+@dataclass
class DeleteAction(UpdateAction):
"""
The act of editing a recipient by removing one of its objects.
diff --git a/schema_models/delivery_charge_specification.py b/schema_models/delivery_charge_specification.py
index ed4fe6ce..a9c7031b 100644
--- a/schema_models/delivery_charge_specification.py
+++ b/schema_models/delivery_charge_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.administrative_area import AdministrativeArea
@@ -7,6 +8,7 @@
from schema_models.price_specification import PriceSpecification
+@dataclass
class DeliveryChargeSpecification(PriceSpecification):
"""
The price for the delivery of an offer using a particular delivery method.
diff --git a/schema_models/delivery_event.py b/schema_models/delivery_event.py
index ceeac3df..ee47ab12 100644
--- a/schema_models/delivery_event.py
+++ b/schema_models/delivery_event.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
from schema_models.event import Event
+@dataclass
class DeliveryEvent(Event):
"""
An event involving the delivery of an item.
diff --git a/schema_models/delivery_method.py b/schema_models/delivery_method.py
index b59d1e81..7e88c6a4 100644
--- a/schema_models/delivery_method.py
+++ b/schema_models/delivery_method.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class DeliveryMethod(Enumeration):
"""
A sub property of instrument. The method of delivery.
diff --git a/schema_models/delivery_time_settings.py b/schema_models/delivery_time_settings.py
index 3ddce272..11e46eec 100644
--- a/schema_models/delivery_time_settings.py
+++ b/schema_models/delivery_time_settings.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class DeliveryTimeSettings(StructuredValue):
"""
A DeliveryTimeSettings represents re-usable pieces of shipping information, relating to timing. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of an [[OfferShippingDetails]]. Several occurrences can be published, distinguished (and identified/referenced) by their different values for [[transitTimeLabel]].
diff --git a/schema_models/demand.py b/schema_models/demand.py
index 40d3e3b2..066e642f 100644
--- a/schema_models/demand.py
+++ b/schema_models/demand.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -13,6 +14,7 @@
from schema_models.trip import Trip
+@dataclass
class Demand(Intangible):
"""
A demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply.
diff --git a/schema_models/dentist.py b/schema_models/dentist.py
index bc8c70ca..ad4dd3fb 100644
--- a/schema_models/dentist.py
+++ b/schema_models/dentist.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_organization import MedicalOrganization
+@dataclass
class Dentist(MedicalOrganization):
"""
A dentist.
diff --git a/schema_models/depart_action.py b/schema_models/depart_action.py
index 6c8d7559..7d83c580 100644
--- a/schema_models/depart_action.py
+++ b/schema_models/depart_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.move_action import MoveAction
+@dataclass
class DepartAction(MoveAction):
"""
The act of departing from a place. An agent departs from a fromLocation for a destination, optionally with participants.
diff --git a/schema_models/department_store.py b/schema_models/department_store.py
index 851f0a2b..bf20b1cf 100644
--- a/schema_models/department_store.py
+++ b/schema_models/department_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class DepartmentStore(Store):
"""
A department store.
diff --git a/schema_models/deposit_account.py b/schema_models/deposit_account.py
index 53e194e5..72bc0d61 100644
--- a/schema_models/deposit_account.py
+++ b/schema_models/deposit_account.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.bank_account import BankAccount
+@dataclass
class DepositAccount(BankAccount):
"""
A type of Bank Account with a main purpose of depositing funds to gain interest or other benefits.
diff --git a/schema_models/diagnostic_lab.py b/schema_models/diagnostic_lab.py
index b4577309..f12c2978 100644
--- a/schema_models/diagnostic_lab.py
+++ b/schema_models/diagnostic_lab.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_organization import MedicalOrganization
from schema_models.medical_test import MedicalTest
+@dataclass
class DiagnosticLab(MedicalOrganization):
"""
A medical laboratory that offers on-site or off-site diagnostic services.
diff --git a/schema_models/diagnostic_procedure.py b/schema_models/diagnostic_procedure.py
index b1cc3bfd..c04ad6b0 100644
--- a/schema_models/diagnostic_procedure.py
+++ b/schema_models/diagnostic_procedure.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_procedure import MedicalProcedure
+@dataclass
class DiagnosticProcedure(MedicalProcedure):
"""
A medical procedure intended primarily for diagnostic, as opposed to therapeutic, purposes.
diff --git a/schema_models/diet.py b/schema_models/diet.py
index bc35ea79..4a67b547 100644
--- a/schema_models/diet.py
+++ b/schema_models/diet.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class Diet(CreativeWork):
"""
A strategy of regulating the intake of food to achieve or maintain a specific health-related goal.
diff --git a/schema_models/dietary_supplement.py b/schema_models/dietary_supplement.py
index 5c90ebaf..aaafefe9 100644
--- a/schema_models/dietary_supplement.py
+++ b/schema_models/dietary_supplement.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.substance import Substance
+@dataclass
class DietarySupplement(Substance):
"""
A product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites.
diff --git a/schema_models/digital_document.py b/schema_models/digital_document.py
index d46efc9f..5b0b62c2 100644
--- a/schema_models/digital_document.py
+++ b/schema_models/digital_document.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.digital_document_permission import DigitalDocumentPermission
+@dataclass
class DigitalDocument(CreativeWork):
"""
An electronic file or document.
diff --git a/schema_models/digital_document_permission.py b/schema_models/digital_document_permission.py
index 7fe71621..a5e90469 100644
--- a/schema_models/digital_document_permission.py
+++ b/schema_models/digital_document_permission.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class DigitalDocumentPermission(Intangible):
"""
A permission for a particular person or group to access a particular file.
diff --git a/schema_models/digital_document_permission_type.py b/schema_models/digital_document_permission_type.py
index 828faa48..7df8a04d 100644
--- a/schema_models/digital_document_permission_type.py
+++ b/schema_models/digital_document_permission_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class DigitalDocumentPermissionType(Enumeration):
"""
A type of permission which can be granted for accessing a digital document.
diff --git a/schema_models/digital_platform_enumeration.py b/schema_models/digital_platform_enumeration.py
index 9a82468c..aa85500b 100644
--- a/schema_models/digital_platform_enumeration.py
+++ b/schema_models/digital_platform_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class DigitalPlatformEnumeration(Enumeration):
"""
Enumerates some common technology platforms, for use with properties such as [[actionPlatform]]. It is not supposed to be comprehensive - when a suitable code is not enumerated here, textual or URL values can be used instead. These codes are at a fairly high level and do not deal with versioning and other nuance. Additional codes can be suggested [in github](https://github.com/schemaorg/schemaorg/issues/3057).
diff --git a/schema_models/disagree_action.py b/schema_models/disagree_action.py
index 5ee1c7b1..a84576c1 100644
--- a/schema_models/disagree_action.py
+++ b/schema_models/disagree_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.react_action import ReactAction
+@dataclass
class DisagreeAction(ReactAction):
"""
The act of expressing a difference of opinion with the object. An agent disagrees to/about an object (a proposition, topic or theme) with participants.
diff --git a/schema_models/discover_action.py b/schema_models/discover_action.py
index 9ac9e600..09a4ab76 100644
--- a/schema_models/discover_action.py
+++ b/schema_models/discover_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.find_action import FindAction
+@dataclass
class DiscoverAction(FindAction):
"""
The act of discovering/finding an object.
diff --git a/schema_models/discussion_forum_posting.py b/schema_models/discussion_forum_posting.py
index f5506fe2..92a75844 100644
--- a/schema_models/discussion_forum_posting.py
+++ b/schema_models/discussion_forum_posting.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.social_media_posting import SocialMediaPosting
+@dataclass
class DiscussionForumPosting(SocialMediaPosting):
"""
A posting to a discussion forum.
diff --git a/schema_models/dislike_action.py b/schema_models/dislike_action.py
index 0728bc62..40c28690 100644
--- a/schema_models/dislike_action.py
+++ b/schema_models/dislike_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.react_action import ReactAction
+@dataclass
class DislikeAction(ReactAction):
"""
The act of expressing a negative sentiment about the object. An agent dislikes an object (a proposition, topic or theme) with participants.
diff --git a/schema_models/distance.py b/schema_models/distance.py
index 55a0d9c6..fb3baa9a 100644
--- a/schema_models/distance.py
+++ b/schema_models/distance.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.quantity import Quantity
+@dataclass
class Distance(Quantity):
"""
Properties that take Distances as values are of the form '<Number> <Length unit of measure>'. E.g., '7 ft'.
diff --git a/schema_models/distillery.py b/schema_models/distillery.py
index 5fd770c0..559e534d 100644
--- a/schema_models/distillery.py
+++ b/schema_models/distillery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class Distillery(FoodEstablishment):
"""
A distillery.
diff --git a/schema_models/donate_action.py b/schema_models/donate_action.py
index c4a2f6d6..a4857ae2 100644
--- a/schema_models/donate_action.py
+++ b/schema_models/donate_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -8,6 +9,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class DonateAction(TransferAction):
"""
The act of providing goods, services, or money without compensation, often for philanthropic reasons.
diff --git a/schema_models/dose_schedule.py b/schema_models/dose_schedule.py
index a21ab32e..1a110d31 100644
--- a/schema_models/dose_schedule.py
+++ b/schema_models/dose_schedule.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_intangible import MedicalIntangible
+@dataclass
class DoseSchedule(MedicalIntangible):
"""
A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used.
diff --git a/schema_models/download_action.py b/schema_models/download_action.py
index 9a73ee87..5b0c05fc 100644
--- a/schema_models/download_action.py
+++ b/schema_models/download_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.transfer_action import TransferAction
+@dataclass
class DownloadAction(TransferAction):
"""
The act of downloading an object.
diff --git a/schema_models/draw_action.py b/schema_models/draw_action.py
index 2fccc5a3..eebb7165 100644
--- a/schema_models/draw_action.py
+++ b/schema_models/draw_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.create_action import CreateAction
+@dataclass
class DrawAction(CreateAction):
"""
The act of producing a visual/graphical representation of an object, typically with a pen/pencil and paper as instruments.
diff --git a/schema_models/drawing.py b/schema_models/drawing.py
index c8eb0679..94f3d161 100644
--- a/schema_models/drawing.py
+++ b/schema_models/drawing.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Drawing(CreativeWork):
"""
A picture or diagram made with a pencil, pen, or crayon rather than paint.
diff --git a/schema_models/drink_action.py b/schema_models/drink_action.py
index a54e094f..40a3d791 100644
--- a/schema_models/drink_action.py
+++ b/schema_models/drink_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class DrinkAction(ConsumeAction):
"""
The act of swallowing liquids.
diff --git a/schema_models/drive_wheel_configuration_value.py b/schema_models/drive_wheel_configuration_value.py
index d8543286..9b4e6a64 100644
--- a/schema_models/drive_wheel_configuration_value.py
+++ b/schema_models/drive_wheel_configuration_value.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.qualitative_value import QualitativeValue
+@dataclass
class DriveWheelConfigurationValue(QualitativeValue):
"""
A value indicating which roadwheels will receive torque.
diff --git a/schema_models/drug.py b/schema_models/drug.py
index cc4d5009..4bdefb30 100644
--- a/schema_models/drug.py
+++ b/schema_models/drug.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.substance import Substance
+@dataclass
class Drug(Substance):
"""
Specifying a drug or medicine used in a medication procedure.
diff --git a/schema_models/drug_class.py b/schema_models/drug_class.py
index 4828beaf..385b5c6d 100644
--- a/schema_models/drug_class.py
+++ b/schema_models/drug_class.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class DrugClass(MedicalEntity):
"""
The class of drug this belongs to (e.g., statins).
diff --git a/schema_models/drug_cost.py b/schema_models/drug_cost.py
index 06c6817f..d891b4f9 100644
--- a/schema_models/drug_cost.py
+++ b/schema_models/drug_cost.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class DrugCost(MedicalEntity):
"""
The cost per unit of a medical drug. Note that this type is not meant to represent the price in an offer of a drug for sale; see the Offer type for that. This type will typically be used to tag wholesale or average retail cost of a drug, or maximum reimbursable cost. Costs of medical drugs vary widely depending on how and where they are paid for, so while this type captures some of the variables, costs should be used with caution by consumers of this schema's markup.
diff --git a/schema_models/drug_cost_category.py b/schema_models/drug_cost_category.py
index cd3fc8f1..b03c6167 100644
--- a/schema_models/drug_cost_category.py
+++ b/schema_models/drug_cost_category.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class DrugCostCategory(MedicalEnumeration):
"""
Enumerated categories of medical drug costs.
diff --git a/schema_models/drug_legal_status.py b/schema_models/drug_legal_status.py
index 143586bd..d2937383 100644
--- a/schema_models/drug_legal_status.py
+++ b/schema_models/drug_legal_status.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.administrative_area import AdministrativeArea
from schema_models.medical_intangible import MedicalIntangible
+@dataclass
class DrugLegalStatus(MedicalIntangible):
"""
The legal availability status of a medical drug.
diff --git a/schema_models/drug_pregnancy_category.py b/schema_models/drug_pregnancy_category.py
index 45ebc5c0..2625f27f 100644
--- a/schema_models/drug_pregnancy_category.py
+++ b/schema_models/drug_pregnancy_category.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class DrugPregnancyCategory(MedicalEnumeration):
"""
Categories that represent an assessment of the risk of fetal injury due to a drug or pharmaceutical used as directed by the mother during pregnancy.
diff --git a/schema_models/drug_prescription_status.py b/schema_models/drug_prescription_status.py
index 2e365c02..480e367b 100644
--- a/schema_models/drug_prescription_status.py
+++ b/schema_models/drug_prescription_status.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class DrugPrescriptionStatus(MedicalEnumeration):
"""
Indicates whether this drug is available by prescription or over-the-counter.
diff --git a/schema_models/drug_strength.py b/schema_models/drug_strength.py
index 19fe45b9..7813d77c 100644
--- a/schema_models/drug_strength.py
+++ b/schema_models/drug_strength.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.administrative_area import AdministrativeArea
from schema_models.medical_intangible import MedicalIntangible
+@dataclass
class DrugStrength(MedicalIntangible):
"""
A specific strength in which a medical drug is available in a specific country.
diff --git a/schema_models/dry_cleaning_or_laundry.py b/schema_models/dry_cleaning_or_laundry.py
index e55545e5..863cef90 100644
--- a/schema_models/dry_cleaning_or_laundry.py
+++ b/schema_models/dry_cleaning_or_laundry.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class DryCleaningOrLaundry(LocalBusiness):
"""
A dry-cleaning business.
diff --git a/schema_models/duration.py b/schema_models/duration.py
index 9b723a86..84cf04c7 100644
--- a/schema_models/duration.py
+++ b/schema_models/duration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.quantity import Quantity
+@dataclass
class Duration(Quantity):
"""
The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).
diff --git a/schema_models/eat_action.py b/schema_models/eat_action.py
index 2fa792ec..64b4de4d 100644
--- a/schema_models/eat_action.py
+++ b/schema_models/eat_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class EatAction(ConsumeAction):
"""
The act of swallowing solid objects.
diff --git a/schema_models/education_event.py b/schema_models/education_event.py
index 79a724c6..db7e8639 100644
--- a/schema_models/education_event.py
+++ b/schema_models/education_event.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.event import Event
+@dataclass
class EducationEvent(Event):
"""
Event type: Education event.
diff --git a/schema_models/educational_audience.py b/schema_models/educational_audience.py
index 5b8406cc..ac5ff28e 100644
--- a/schema_models/educational_audience.py
+++ b/schema_models/educational_audience.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
+@dataclass
class EducationalAudience(Audience):
"""
An EducationalAudience.
diff --git a/schema_models/educational_occupational_credential.py b/schema_models/educational_occupational_credential.py
index 04b2e61d..ca3d4b79 100644
--- a/schema_models/educational_occupational_credential.py
+++ b/schema_models/educational_occupational_credential.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.organization import Organization
+@dataclass
class EducationalOccupationalCredential(CreativeWork):
"""
An educational or occupational credential. A diploma, academic degree, certification, qualification, badge, etc., that may be awarded to a person or other entity that meets the requirements defined by the credentialer.
diff --git a/schema_models/educational_occupational_program.py b/schema_models/educational_occupational_program.py
index 2076d9a1..272cf2b1 100644
--- a/schema_models/educational_occupational_program.py
+++ b/schema_models/educational_occupational_program.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -13,6 +14,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class EducationalOccupationalProgram(Intangible):
"""
A program offered by an institution which determines the learning progress to achieve an outcome, usually a credential like a degree or certificate. This would define a discrete set of opportunities (e.g., job, courses) that together constitute a program with a clear start, end, set of requirements, and transition to a new occupational opportunity (e.g., a job), or sometimes a higher educational opportunity (e.g., an advanced degree).
diff --git a/schema_models/educational_organization.py b/schema_models/educational_organization.py
index 2bfbb3e4..842931c1 100644
--- a/schema_models/educational_organization.py
+++ b/schema_models/educational_organization.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.civic_structure import CivicStructure
from schema_models.person import Person
+@dataclass
class EducationalOrganization(CivicStructure):
"""
An educational organization.
diff --git a/schema_models/electrician.py b/schema_models/electrician.py
index c5daffab..c6a9b1c1 100644
--- a/schema_models/electrician.py
+++ b/schema_models/electrician.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class Electrician(HomeAndConstructionBusiness):
"""
An electrician.
diff --git a/schema_models/electronics_store.py b/schema_models/electronics_store.py
index f7d328d6..ebe24524 100644
--- a/schema_models/electronics_store.py
+++ b/schema_models/electronics_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ElectronicsStore(Store):
"""
An electronics store.
diff --git a/schema_models/elementary_school.py b/schema_models/elementary_school.py
index fe5152b1..722df5f8 100644
--- a/schema_models/elementary_school.py
+++ b/schema_models/elementary_school.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class ElementarySchool(EducationalOrganization):
"""
An elementary school.
diff --git a/schema_models/email_message.py b/schema_models/email_message.py
index c3ce6582..ab581bbc 100644
--- a/schema_models/email_message.py
+++ b/schema_models/email_message.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.message import Message
+@dataclass
class EmailMessage(Message):
"""
An email message.
diff --git a/schema_models/embassy.py b/schema_models/embassy.py
index 2200752e..aac26f11 100644
--- a/schema_models/embassy.py
+++ b/schema_models/embassy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_building import GovernmentBuilding
+@dataclass
class Embassy(GovernmentBuilding):
"""
An embassy.
diff --git a/schema_models/emergency_service.py b/schema_models/emergency_service.py
index be577b23..1a8e0d2b 100644
--- a/schema_models/emergency_service.py
+++ b/schema_models/emergency_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class EmergencyService(LocalBusiness):
"""
An emergency service, such as a fire station or ER.
diff --git a/schema_models/employee_role.py b/schema_models/employee_role.py
index d6492fde..fc71ef55 100644
--- a/schema_models/employee_role.py
+++ b/schema_models/employee_role.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.monetary_amount import MonetaryAmount
@@ -5,6 +6,7 @@
from schema_models.price_specification import PriceSpecification
+@dataclass
class EmployeeRole(OrganizationRole):
"""
A subclass of OrganizationRole used to describe employee relationships.
diff --git a/schema_models/employer_aggregate_rating.py b/schema_models/employer_aggregate_rating.py
index 4c0c5536..b624ef5d 100644
--- a/schema_models/employer_aggregate_rating.py
+++ b/schema_models/employer_aggregate_rating.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.aggregate_rating import AggregateRating
+@dataclass
class EmployerAggregateRating(AggregateRating):
"""
An aggregate rating of an Organization related to its role as an employer.
diff --git a/schema_models/employer_review.py b/schema_models/employer_review.py
index 3f685d2d..645e0ef7 100644
--- a/schema_models/employer_review.py
+++ b/schema_models/employer_review.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.review import Review
+@dataclass
class EmployerReview(Review):
"""
An [[EmployerReview]] is a review of an [[Organization]] regarding its role as an employer, written by a current or former employee of that organization.
diff --git a/schema_models/employment_agency.py b/schema_models/employment_agency.py
index fcd803a3..2687cd09 100644
--- a/schema_models/employment_agency.py
+++ b/schema_models/employment_agency.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class EmploymentAgency(LocalBusiness):
"""
An employment agency.
diff --git a/schema_models/endorse_action.py b/schema_models/endorse_action.py
index 1115ebd1..8aa2e7fa 100644
--- a/schema_models/endorse_action.py
+++ b/schema_models/endorse_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
@@ -5,6 +6,7 @@
from schema_models.react_action import ReactAction
+@dataclass
class EndorseAction(ReactAction):
"""
An agent approves/certifies/likes/supports/sanctions an object.
diff --git a/schema_models/endorsement_rating.py b/schema_models/endorsement_rating.py
index 8706cfe1..19e401a1 100644
--- a/schema_models/endorsement_rating.py
+++ b/schema_models/endorsement_rating.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.rating import Rating
+@dataclass
class EndorsementRating(Rating):
"""
An EndorsementRating is a rating that expresses some level of endorsement, for example inclusion in a "critic's pick" blog, a
diff --git a/schema_models/energy.py b/schema_models/energy.py
index 25b9906c..71dc25dd 100644
--- a/schema_models/energy.py
+++ b/schema_models/energy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.quantity import Quantity
+@dataclass
class Energy(Quantity):
"""
Properties that take Energy as values are of the form '<Number> <Energy unit of measure>'.
diff --git a/schema_models/energy_consumption_details.py b/schema_models/energy_consumption_details.py
index b779db1d..201af834 100644
--- a/schema_models/energy_consumption_details.py
+++ b/schema_models/energy_consumption_details.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class EnergyConsumptionDetails(Intangible):
"""
EnergyConsumptionDetails represents information related to the energy efficiency of a product that consumes energy. The information that can be provided is based on international regulations such as for example [EU directive 2017/1369](https://eur-lex.europa.eu/eli/reg/2017/1369/oj) for energy labeling and the [Energy labeling rule](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/energy-water-use-labeling-consumer) under the Energy Policy and Conservation Act (EPCA) in the US.
diff --git a/schema_models/energy_efficiency_enumeration.py b/schema_models/energy_efficiency_enumeration.py
index de8e0928..0f1a92ac 100644
--- a/schema_models/energy_efficiency_enumeration.py
+++ b/schema_models/energy_efficiency_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class EnergyEfficiencyEnumeration(Enumeration):
"""
Enumerates energy efficiency levels (also known as "classes" or "ratings") and certifications that are part of several international energy efficiency standards.
diff --git a/schema_models/energy_star_energy_efficiency_enumeration.py b/schema_models/energy_star_energy_efficiency_enumeration.py
index 3e9ef335..329df7f5 100644
--- a/schema_models/energy_star_energy_efficiency_enumeration.py
+++ b/schema_models/energy_star_energy_efficiency_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.energy_efficiency_enumeration import EnergyEfficiencyEnumeration
+@dataclass
class EnergyStarEnergyEfficiencyEnumeration(EnergyEfficiencyEnumeration):
"""
Used to indicate whether a product is EnergyStar certified.
diff --git a/schema_models/engine_specification.py b/schema_models/engine_specification.py
index 7184e001..de697282 100644
--- a/schema_models/engine_specification.py
+++ b/schema_models/engine_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class EngineSpecification(StructuredValue):
"""
Information about the engine of the vehicle. A vehicle can have multiple engines represented by multiple engine specification entities.
diff --git a/schema_models/entertainment_business.py b/schema_models/entertainment_business.py
index 189cec74..0d6baa69 100644
--- a/schema_models/entertainment_business.py
+++ b/schema_models/entertainment_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class EntertainmentBusiness(LocalBusiness):
"""
A sub property of location. The entertainment business where the action occurred.
diff --git a/schema_models/entry_point.py b/schema_models/entry_point.py
index 143cb234..7f61a7fd 100644
--- a/schema_models/entry_point.py
+++ b/schema_models/entry_point.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class EntryPoint(Intangible):
"""
An entry point, within some Web-based protocol.
diff --git a/schema_models/enumeration.py b/schema_models/enumeration.py
index e1707d79..844c87e9 100644
--- a/schema_models/enumeration.py
+++ b/schema_models/enumeration.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class Enumeration(Intangible):
"""
Lists or enumerations—for example, a list of cuisines or music genres, etc.
diff --git a/schema_models/episode.py b/schema_models/episode.py
index c8644c5b..d20660a4 100644
--- a/schema_models/episode.py
+++ b/schema_models/episode.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class Episode(CreativeWork):
"""
A media episode (e.g. TV, radio, video game) which can be part of a series or season.
diff --git a/schema_models/eu_energy_efficiency_enumeration.py b/schema_models/eu_energy_efficiency_enumeration.py
index 5449d657..a1d4c3d4 100644
--- a/schema_models/eu_energy_efficiency_enumeration.py
+++ b/schema_models/eu_energy_efficiency_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.energy_efficiency_enumeration import EnergyEfficiencyEnumeration
+@dataclass
class EUEnergyEfficiencyEnumeration(EnergyEfficiencyEnumeration):
"""
Enumerates the EU energy efficiency classes A-G as well as A+, A++, and A+++ as defined in EU directive 2017/1369.
diff --git a/schema_models/event.py b/schema_models/event.py
index bb5969c3..ce2ead53 100644
--- a/schema_models/event.py
+++ b/schema_models/event.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -6,6 +7,7 @@
from schema_models.thing import Thing
+@dataclass
class Event(Thing):
"""
Upcoming or past event associated with this place, organization, or action.
diff --git a/schema_models/event_attendance_mode_enumeration.py b/schema_models/event_attendance_mode_enumeration.py
index c8e493fc..7e294211 100644
--- a/schema_models/event_attendance_mode_enumeration.py
+++ b/schema_models/event_attendance_mode_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class EventAttendanceModeEnumeration(Enumeration):
"""
An EventAttendanceModeEnumeration value is one of potentially several modes of organising an event, relating to whether it is online or offline.
diff --git a/schema_models/event_reservation.py b/schema_models/event_reservation.py
index 2f301499..1fe66bee 100644
--- a/schema_models/event_reservation.py
+++ b/schema_models/event_reservation.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.reservation import Reservation
+@dataclass
class EventReservation(Reservation):
"""
A reservation for an event like a concert, sporting event, or lecture.
diff --git a/schema_models/event_series.py b/schema_models/event_series.py
index ae2f4e95..5351ccad 100644
--- a/schema_models/event_series.py
+++ b/schema_models/event_series.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class EventSeries(Event):
"""
A series of [[Event]]s. Included events can relate with the series using the [[superEvent]] property.
diff --git a/schema_models/event_status_type.py b/schema_models/event_status_type.py
index 4240a5fe..26aec92c 100644
--- a/schema_models/event_status_type.py
+++ b/schema_models/event_status_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class EventStatusType(StatusEnumeration):
"""
EventStatusType is an enumeration type whose instances represent several states that an Event may be in.
diff --git a/schema_models/event_venue.py b/schema_models/event_venue.py
index b18d609c..04db7ff1 100644
--- a/schema_models/event_venue.py
+++ b/schema_models/event_venue.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class EventVenue(CivicStructure):
"""
An event venue.
diff --git a/schema_models/exchange_rate_specification.py b/schema_models/exchange_rate_specification.py
index aea41715..57c16c35 100644
--- a/schema_models/exchange_rate_specification.py
+++ b/schema_models/exchange_rate_specification.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.monetary_amount import MonetaryAmount
from schema_models.structured_value import StructuredValue
+@dataclass
class ExchangeRateSpecification(StructuredValue):
"""
A structured value representing exchange rate.
diff --git a/schema_models/exercise_action.py b/schema_models/exercise_action.py
index 52e778f2..1ad32980 100644
--- a/schema_models/exercise_action.py
+++ b/schema_models/exercise_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.diet import Diet
@@ -9,6 +10,7 @@
from schema_models.sports_team import SportsTeam
+@dataclass
class ExerciseAction(PlayAction):
"""
The act of participating in exertive activity for the purposes of improving health and fitness.
diff --git a/schema_models/exercise_gym.py b/schema_models/exercise_gym.py
index e6d956d7..75116bb3 100644
--- a/schema_models/exercise_gym.py
+++ b/schema_models/exercise_gym.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class ExerciseGym(SportsActivityLocation):
"""
A gym.
diff --git a/schema_models/exercise_plan.py b/schema_models/exercise_plan.py
index 70ac877a..7d4a578e 100644
--- a/schema_models/exercise_plan.py
+++ b/schema_models/exercise_plan.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.duration import Duration
@@ -6,6 +7,7 @@
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class ExercisePlan(PhysicalActivity):
"""
A sub property of instrument. The exercise plan used on this action.
diff --git a/schema_models/exhibition_event.py b/schema_models/exhibition_event.py
index 7e7deb2d..c174e5ac 100644
--- a/schema_models/exhibition_event.py
+++ b/schema_models/exhibition_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class ExhibitionEvent(Event):
"""
Event type: Exhibition event, e.g. at a museum, library, archive, tradeshow, ...
diff --git a/schema_models/faq_page.py b/schema_models/faq_page.py
index b670b883..a6e7f843 100644
--- a/schema_models/faq_page.py
+++ b/schema_models/faq_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class FAQPage(WebPage):
"""
A [[FAQPage]] is a [[WebPage]] presenting one or more "[Frequently asked questions](https://en.wikipedia.org/wiki/FAQ)" (see also [[QAPage]]).
diff --git a/schema_models/fast_food_restaurant.py b/schema_models/fast_food_restaurant.py
index 3a35b603..93c5ad38 100644
--- a/schema_models/fast_food_restaurant.py
+++ b/schema_models/fast_food_restaurant.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class FastFoodRestaurant(FoodEstablishment):
"""
A fast-food restaurant.
diff --git a/schema_models/festival.py b/schema_models/festival.py
index 6ed711fd..6b74d8f5 100644
--- a/schema_models/festival.py
+++ b/schema_models/festival.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class Festival(Event):
"""
Event type: Festival.
diff --git a/schema_models/film_action.py b/schema_models/film_action.py
index d7fd894e..886b0f83 100644
--- a/schema_models/film_action.py
+++ b/schema_models/film_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.create_action import CreateAction
+@dataclass
class FilmAction(CreateAction):
"""
The act of capturing sound and moving images on film, video, or digitally.
diff --git a/schema_models/financial_product.py b/schema_models/financial_product.py
index dcb9381b..bfef213f 100644
--- a/schema_models/financial_product.py
+++ b/schema_models/financial_product.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.service import Service
+@dataclass
class FinancialProduct(Service):
"""
A product provided to consumers and businesses by financial institutions such as banks, insurance companies, brokerage firms, consumer finance companies, and investment companies which comprise the financial services industry.
diff --git a/schema_models/financial_service.py b/schema_models/financial_service.py
index bfc81ed7..d696565b 100644
--- a/schema_models/financial_service.py
+++ b/schema_models/financial_service.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.local_business import LocalBusiness
+@dataclass
class FinancialService(LocalBusiness):
"""
Financial services business.
diff --git a/schema_models/find_action.py b/schema_models/find_action.py
index f4d1bb13..d1762fe0 100644
--- a/schema_models/find_action.py
+++ b/schema_models/find_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class FindAction(Action):
"""
The act of finding an object.
diff --git a/schema_models/fire_station.py b/schema_models/fire_station.py
index 27b9b652..ca1f267a 100644
--- a/schema_models/fire_station.py
+++ b/schema_models/fire_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class FireStation(CivicStructure):
"""
A fire station. With firemen.
diff --git a/schema_models/flight.py b/schema_models/flight.py
index a7cbb32e..1bece2ca 100644
--- a/schema_models/flight.py
+++ b/schema_models/flight.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.vehicle import Vehicle
+@dataclass
class Flight(Trip):
"""
An airline flight.
diff --git a/schema_models/flight_reservation.py b/schema_models/flight_reservation.py
index 6ed2e742..19233580 100644
--- a/schema_models/flight_reservation.py
+++ b/schema_models/flight_reservation.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.qualitative_value import QualitativeValue
from schema_models.reservation import Reservation
+@dataclass
class FlightReservation(Reservation):
"""
A reservation for air travel.
diff --git a/schema_models/floor_plan.py b/schema_models/floor_plan.py
index dc3dd3c8..c4aed9a5 100644
--- a/schema_models/floor_plan.py
+++ b/schema_models/floor_plan.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class FloorPlan(Intangible):
"""
A FloorPlan is an explicit representation of a collection of similar accommodations, allowing the provision of common information (room counts, sizes, layout diagrams) and offers for rental or sale. In typical use, some [[ApartmentComplex]] has an [[accommodationFloorPlan]] which is a [[FloorPlan]]. A FloorPlan is always in the context of a particular place, either a larger [[ApartmentComplex]] or a single [[Apartment]]. The visual/spatial aspects of a floor plan (i.e. room layout, [see wikipedia](https://en.wikipedia.org/wiki/Floor_plan)) can be indicated using [[image]].
diff --git a/schema_models/florist.py b/schema_models/florist.py
index 3aec03d9..91d8873c 100644
--- a/schema_models/florist.py
+++ b/schema_models/florist.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class Florist(Store):
"""
A florist.
diff --git a/schema_models/fm_radio_channel.py b/schema_models/fm_radio_channel.py
index 98de0e9c..7ca43ff2 100644
--- a/schema_models/fm_radio_channel.py
+++ b/schema_models/fm_radio_channel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.radio_channel import RadioChannel
+@dataclass
class FMRadioChannel(RadioChannel):
"""
A radio channel that uses FM.
diff --git a/schema_models/follow_action.py b/schema_models/follow_action.py
index f404e700..d885db35 100644
--- a/schema_models/follow_action.py
+++ b/schema_models/follow_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.interact_action import InteractAction
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class FollowAction(InteractAction):
"""
The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates polled from.
diff --git a/schema_models/food_establishment.py b/schema_models/food_establishment.py
index ad0aa72c..88569c5e 100644
--- a/schema_models/food_establishment.py
+++ b/schema_models/food_establishment.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.rating import Rating
+@dataclass
class FoodEstablishment(LocalBusiness):
"""
A sub property of location. The specific food establishment where the action occurred.
diff --git a/schema_models/food_establishment_reservation.py b/schema_models/food_establishment_reservation.py
index a1ad3dff..4df90fa5 100644
--- a/schema_models/food_establishment_reservation.py
+++ b/schema_models/food_establishment_reservation.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
from schema_models.reservation import Reservation
+@dataclass
class FoodEstablishmentReservation(Reservation):
"""
A reservation to dine at a food-related business.
diff --git a/schema_models/food_event.py b/schema_models/food_event.py
index 86d15d0b..8dcffeb0 100644
--- a/schema_models/food_event.py
+++ b/schema_models/food_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class FoodEvent(Event):
"""
Event type: Food event.
diff --git a/schema_models/food_service.py b/schema_models/food_service.py
index ce2aa8e8..e2770c15 100644
--- a/schema_models/food_service.py
+++ b/schema_models/food_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.service import Service
+@dataclass
class FoodService(Service):
"""
A food service, like breakfast, lunch, or dinner.
diff --git a/schema_models/funding_agency.py b/schema_models/funding_agency.py
index 0f45625c..2e8c7f87 100644
--- a/schema_models/funding_agency.py
+++ b/schema_models/funding_agency.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.project import Project
+@dataclass
class FundingAgency(Project):
"""
A FundingAgency is an organization that implements one or more [[FundingScheme]]s and manages
diff --git a/schema_models/funding_scheme.py b/schema_models/funding_scheme.py
index 85196937..21a3f6a0 100644
--- a/schema_models/funding_scheme.py
+++ b/schema_models/funding_scheme.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class FundingScheme(Organization):
"""
A FundingScheme combines organizational, project and policy aspects of grant-based funding
diff --git a/schema_models/furniture_store.py b/schema_models/furniture_store.py
index abfc48e0..eec52807 100644
--- a/schema_models/furniture_store.py
+++ b/schema_models/furniture_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class FurnitureStore(Store):
"""
A furniture store.
diff --git a/schema_models/game.py b/schema_models/game.py
index 86ffde83..3ee1757d 100644
--- a/schema_models/game.py
+++ b/schema_models/game.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.thing import Thing
+@dataclass
class Game(CreativeWork):
"""
The Game type represents things which are games. These are typically rule-governed recreational activities, e.g. role-playing games in which players assume the role of characters in a fictional setting.
diff --git a/schema_models/game_availability_enumeration.py b/schema_models/game_availability_enumeration.py
index 3caf5168..81ecc848 100644
--- a/schema_models/game_availability_enumeration.py
+++ b/schema_models/game_availability_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class GameAvailabilityEnumeration(Enumeration):
"""
For a [[VideoGame]], such as used with a [[PlayGameAction]], an enumeration of the kind of game availability offered.
diff --git a/schema_models/game_play_mode.py b/schema_models/game_play_mode.py
index 0963f7f0..66207423 100644
--- a/schema_models/game_play_mode.py
+++ b/schema_models/game_play_mode.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class GamePlayMode(Enumeration):
"""
Indicates whether this game is multi-player, co-op or single-player.
diff --git a/schema_models/game_server.py b/schema_models/game_server.py
index 6ddb7797..ba6cf4b7 100644
--- a/schema_models/game_server.py
+++ b/schema_models/game_server.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class GameServer(Intangible):
"""
The server on which it is possible to play the game.
diff --git a/schema_models/game_server_status.py b/schema_models/game_server_status.py
index 6b5a0be8..fae2888a 100644
--- a/schema_models/game_server_status.py
+++ b/schema_models/game_server_status.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class GameServerStatus(StatusEnumeration):
"""
Status of a game server.
diff --git a/schema_models/garden_store.py b/schema_models/garden_store.py
index cb706af1..86b48a02 100644
--- a/schema_models/garden_store.py
+++ b/schema_models/garden_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class GardenStore(Store):
"""
A garden store.
diff --git a/schema_models/gas_station.py b/schema_models/gas_station.py
index 3347b3db..39d4859e 100644
--- a/schema_models/gas_station.py
+++ b/schema_models/gas_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class GasStation(AutomotiveBusiness):
"""
A gas station.
diff --git a/schema_models/gated_residence_community.py b/schema_models/gated_residence_community.py
index eb0bb02d..24114732 100644
--- a/schema_models/gated_residence_community.py
+++ b/schema_models/gated_residence_community.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.residence import Residence
+@dataclass
class GatedResidenceCommunity(Residence):
"""
Residence type: Gated community.
diff --git a/schema_models/gender_type.py b/schema_models/gender_type.py
index f39f0d56..79558012 100644
--- a/schema_models/gender_type.py
+++ b/schema_models/gender_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class GenderType(Enumeration):
"""
An enumeration of genders.
diff --git a/schema_models/gene.py b/schema_models/gene.py
index a425c847..a80ceaea 100644
--- a/schema_models/gene.py
+++ b/schema_models/gene.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
@@ -6,6 +7,7 @@
from schema_models.defined_term import DefinedTerm
+@dataclass
class Gene(BioChemEntity):
"""
A discrete unit of inheritance which affects one or more biological traits (Source: [https://en.wikipedia.org/wiki/Gene](https://en.wikipedia.org/wiki/Gene)). Examples include FOXP2 (Forkhead box protein P2), SCARNA21 (small Cajal body-specific RNA 21), A- (agouti genotype).
diff --git a/schema_models/general_contractor.py b/schema_models/general_contractor.py
index b0b3e5ba..e7e18b04 100644
--- a/schema_models/general_contractor.py
+++ b/schema_models/general_contractor.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class GeneralContractor(HomeAndConstructionBusiness):
"""
A general contractor.
diff --git a/schema_models/geo_circle.py b/schema_models/geo_circle.py
index f3ea483f..65b1323b 100644
--- a/schema_models/geo_circle.py
+++ b/schema_models/geo_circle.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.distance import Distance
@@ -5,6 +6,7 @@
from schema_models.geo_shape import GeoShape
+@dataclass
class GeoCircle(GeoShape):
"""
A GeoCircle is a GeoShape representing a circular geographic area. As it is a GeoShape
diff --git a/schema_models/geo_coordinates.py b/schema_models/geo_coordinates.py
index 4f82073a..6e0cb73c 100644
--- a/schema_models/geo_coordinates.py
+++ b/schema_models/geo_coordinates.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class GeoCoordinates(StructuredValue):
"""
The geographic coordinates of a place or event.
diff --git a/schema_models/geo_shape.py b/schema_models/geo_shape.py
index e453084d..a2308062 100644
--- a/schema_models/geo_shape.py
+++ b/schema_models/geo_shape.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class GeoShape(StructuredValue):
"""
The geographic shape of a place. A GeoShape can be described using several properties whose values are based on latitude/longitude pairs. Either whitespace or commas can be used to separate latitude and longitude; whitespace should be used when writing a list of several such points.
diff --git a/schema_models/geospatial_geometry.py b/schema_models/geospatial_geometry.py
index 5781db6f..193bdb34 100644
--- a/schema_models/geospatial_geometry.py
+++ b/schema_models/geospatial_geometry.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.place import Place
+@dataclass
class GeospatialGeometry(Intangible):
"""
(Eventually to be defined as) a supertype of GeoShape designed to accommodate definitions from Geo-Spatial best practices.
diff --git a/schema_models/give_action.py b/schema_models/give_action.py
index 64ad3469..2e7759b6 100644
--- a/schema_models/give_action.py
+++ b/schema_models/give_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -7,6 +8,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class GiveAction(TransferAction):
"""
The act of transferring ownership of an object to a destination. Reciprocal of TakeAction.
diff --git a/schema_models/golf_course.py b/schema_models/golf_course.py
index 99c75a4d..2cf40ffd 100644
--- a/schema_models/golf_course.py
+++ b/schema_models/golf_course.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class GolfCourse(SportsActivityLocation):
"""
A golf course.
diff --git a/schema_models/government_benefits_type.py b/schema_models/government_benefits_type.py
index e03bcd31..bcbf4289 100644
--- a/schema_models/government_benefits_type.py
+++ b/schema_models/government_benefits_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class GovernmentBenefitsType(Enumeration):
"""
GovernmentBenefitsType enumerates several kinds of government benefits to support the COVID-19 situation. Note that this structure may not capture all benefits offered.
diff --git a/schema_models/government_building.py b/schema_models/government_building.py
index 2e725bd6..30d274f2 100644
--- a/schema_models/government_building.py
+++ b/schema_models/government_building.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class GovernmentBuilding(CivicStructure):
"""
A government building.
diff --git a/schema_models/government_office.py b/schema_models/government_office.py
index 34b8f37c..718fea46 100644
--- a/schema_models/government_office.py
+++ b/schema_models/government_office.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class GovernmentOffice(LocalBusiness):
"""
A government office—for example, an IRS or DMV office.
diff --git a/schema_models/government_organization.py b/schema_models/government_organization.py
index 8932dcde..38edf5b4 100644
--- a/schema_models/government_organization.py
+++ b/schema_models/government_organization.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class GovernmentOrganization(Organization):
"""
A governmental organization or agency.
diff --git a/schema_models/government_permit.py b/schema_models/government_permit.py
index a4371d3b..5ac91fc7 100644
--- a/schema_models/government_permit.py
+++ b/schema_models/government_permit.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.permit import Permit
+@dataclass
class GovernmentPermit(Permit):
"""
A permit issued by a government agency.
diff --git a/schema_models/government_service.py b/schema_models/government_service.py
index 220b4dda..2b878792 100644
--- a/schema_models/government_service.py
+++ b/schema_models/government_service.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.administrative_area import AdministrativeArea
@@ -5,6 +6,7 @@
from schema_models.service import Service
+@dataclass
class GovernmentService(Service):
"""
A service provided by a government organization, e.g. food stamps, veterans benefits, etc.
diff --git a/schema_models/grant.py b/schema_models/grant.py
index 8c517946..63e714d6 100644
--- a/schema_models/grant.py
+++ b/schema_models/grant.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.bio_chem_entity import BioChemEntity
@@ -10,6 +11,7 @@
from schema_models.product import Product
+@dataclass
class Grant(Intangible):
"""
A grant, typically financial or otherwise quantifiable, of resources. Typically a [[funder]] sponsors some [[MonetaryAmount]] to an [[Organization]] or [[Person]],
diff --git a/schema_models/grocery_store.py b/schema_models/grocery_store.py
index 63d0f433..bdc02bc1 100644
--- a/schema_models/grocery_store.py
+++ b/schema_models/grocery_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class GroceryStore(Store):
"""
A grocery store.
diff --git a/schema_models/guide.py b/schema_models/guide.py
index 7d3bcfa7..16208f7a 100644
--- a/schema_models/guide.py
+++ b/schema_models/guide.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Guide(CreativeWork):
"""
[[Guide]] is a page or article that recommends specific products or services, or aspects of a thing for a user to consider. A [[Guide]] may represent a Buying Guide and detail aspects of products or services for a user to consider. A [[Guide]] may represent a Product Guide and recommend specific products or services. A [[Guide]] may represent a Ranked List and recommend specific products or services with ranking.
diff --git a/schema_models/hackathon.py b/schema_models/hackathon.py
index 61daac8f..85bae45c 100644
--- a/schema_models/hackathon.py
+++ b/schema_models/hackathon.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class Hackathon(Event):
"""
A [hackathon](https://en.wikipedia.org/wiki/Hackathon) event.
diff --git a/schema_models/hair_salon.py b/schema_models/hair_salon.py
index dbb5d982..2a05ce47 100644
--- a/schema_models/hair_salon.py
+++ b/schema_models/hair_salon.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class HairSalon(HealthAndBeautyBusiness):
"""
A hair salon.
diff --git a/schema_models/hardware_store.py b/schema_models/hardware_store.py
index 805b2e09..631b5522 100644
--- a/schema_models/hardware_store.py
+++ b/schema_models/hardware_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class HardwareStore(Store):
"""
A hardware store.
diff --git a/schema_models/health_and_beauty_business.py b/schema_models/health_and_beauty_business.py
index 689a5744..ae82ead8 100644
--- a/schema_models/health_and_beauty_business.py
+++ b/schema_models/health_and_beauty_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class HealthAndBeautyBusiness(LocalBusiness):
"""
Health and beauty.
diff --git a/schema_models/health_aspect_enumeration.py b/schema_models/health_aspect_enumeration.py
index 4e1cddb9..11513d4c 100644
--- a/schema_models/health_aspect_enumeration.py
+++ b/schema_models/health_aspect_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class HealthAspectEnumeration(Enumeration):
"""
HealthAspectEnumeration enumerates several aspects of health content online, each of which might be described using [[hasHealthAspect]] and [[HealthTopicContent]].
diff --git a/schema_models/health_club.py b/schema_models/health_club.py
index ea1d9121..b0eeae2d 100644
--- a/schema_models/health_club.py
+++ b/schema_models/health_club.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class HealthClub(HealthAndBeautyBusiness):
"""
A health club.
diff --git a/schema_models/health_insurance_plan.py b/schema_models/health_insurance_plan.py
index bc920a05..1b7a15d1 100644
--- a/schema_models/health_insurance_plan.py
+++ b/schema_models/health_insurance_plan.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.intangible import Intangible
+@dataclass
class HealthInsurancePlan(Intangible):
"""
A US-style health insurance plan, including PPOs, EPOs, and HMOs.
diff --git a/schema_models/health_plan_cost_sharing_specification.py b/schema_models/health_plan_cost_sharing_specification.py
index 8ef80f17..68ff61f2 100644
--- a/schema_models/health_plan_cost_sharing_specification.py
+++ b/schema_models/health_plan_cost_sharing_specification.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class HealthPlanCostSharingSpecification(Intangible):
"""
A description of costs to the patient under a given network or formulary.
diff --git a/schema_models/health_plan_formulary.py b/schema_models/health_plan_formulary.py
index edddc695..5edcbaa6 100644
--- a/schema_models/health_plan_formulary.py
+++ b/schema_models/health_plan_formulary.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class HealthPlanFormulary(Intangible):
"""
For a given health insurance plan, the specification for costs and coverage of prescription drugs.
diff --git a/schema_models/health_plan_network.py b/schema_models/health_plan_network.py
index 74032ea3..ca665036 100644
--- a/schema_models/health_plan_network.py
+++ b/schema_models/health_plan_network.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class HealthPlanNetwork(Intangible):
"""
A US-style health insurance plan network.
diff --git a/schema_models/health_topic_content.py b/schema_models/health_topic_content.py
index 470beeb6..98ecee35 100644
--- a/schema_models/health_topic_content.py
+++ b/schema_models/health_topic_content.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.health_aspect_enumeration import HealthAspectEnumeration
from schema_models.web_content import WebContent
+@dataclass
class HealthTopicContent(WebContent):
"""
[[HealthTopicContent]] is [[WebContent]] that is about some aspect of a health topic, e.g. a condition, its symptoms or treatments. Such content may be comprised of several parts or sections and use different types of media. Multiple instances of [[WebContent]] (and hence [[HealthTopicContent]]) can be related using [[hasPart]] / [[isPartOf]] where there is some kind of content hierarchy, and their content described with [[about]] and [[mentions]] e.g. building upon the existing [[MedicalCondition]] vocabulary.
diff --git a/schema_models/high_school.py b/schema_models/high_school.py
index a2751bfb..0fa636b5 100644
--- a/schema_models/high_school.py
+++ b/schema_models/high_school.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class HighSchool(EducationalOrganization):
"""
A high school.
diff --git a/schema_models/hindu_temple.py b/schema_models/hindu_temple.py
index f9ab87e1..2ed9ef32 100644
--- a/schema_models/hindu_temple.py
+++ b/schema_models/hindu_temple.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place_of_worship import PlaceOfWorship
+@dataclass
class HinduTemple(PlaceOfWorship):
"""
A Hindu temple.
diff --git a/schema_models/hobby_shop.py b/schema_models/hobby_shop.py
index a867fc2a..0a6a6a03 100644
--- a/schema_models/hobby_shop.py
+++ b/schema_models/hobby_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class HobbyShop(Store):
"""
A store that sells materials useful or necessary for various hobbies.
diff --git a/schema_models/home_and_construction_business.py b/schema_models/home_and_construction_business.py
index ed747daa..c38e66ca 100644
--- a/schema_models/home_and_construction_business.py
+++ b/schema_models/home_and_construction_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class HomeAndConstructionBusiness(LocalBusiness):
"""
A construction business.
diff --git a/schema_models/home_goods_store.py b/schema_models/home_goods_store.py
index 81db74a5..fbb4c747 100644
--- a/schema_models/home_goods_store.py
+++ b/schema_models/home_goods_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class HomeGoodsStore(Store):
"""
A home goods store.
diff --git a/schema_models/hospital.py b/schema_models/hospital.py
index de806ab4..33af57f6 100644
--- a/schema_models/hospital.py
+++ b/schema_models/hospital.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.cdcpmd_record import CDCPMDRecord
@@ -7,6 +8,7 @@
from schema_models.medical_test import MedicalTest
+@dataclass
class Hospital(CivicStructure):
"""
A hospital.
diff --git a/schema_models/hostel.py b/schema_models/hostel.py
index a3809207..38fe620b 100644
--- a/schema_models/hostel.py
+++ b/schema_models/hostel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class Hostel(LodgingBusiness):
"""
A hostel - cheap accommodation, often in shared dormitories.
diff --git a/schema_models/hotel.py b/schema_models/hotel.py
index cb7264f7..3ec68cbe 100644
--- a/schema_models/hotel.py
+++ b/schema_models/hotel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class Hotel(LodgingBusiness):
"""
A hotel is an establishment that provides lodging paid on a short-term basis (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).
diff --git a/schema_models/hotel_room.py b/schema_models/hotel_room.py
index b2a7a1ed..b1cdef33 100644
--- a/schema_models/hotel_room.py
+++ b/schema_models/hotel_room.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.bed_details import BedDetails
@@ -6,6 +7,7 @@
from schema_models.room import Room
+@dataclass
class HotelRoom(Room):
"""
A hotel room is a single room in a hotel.
diff --git a/schema_models/house.py b/schema_models/house.py
index db659926..387e271a 100644
--- a/schema_models/house.py
+++ b/schema_models/house.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.accommodation import Accommodation
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class House(Accommodation):
"""
A house is a building or structure that has the ability to be occupied for habitation by humans or other creatures (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/House).
diff --git a/schema_models/house_painter.py b/schema_models/house_painter.py
index c5dade8a..995de538 100644
--- a/schema_models/house_painter.py
+++ b/schema_models/house_painter.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class HousePainter(HomeAndConstructionBusiness):
"""
A house painting service.
diff --git a/schema_models/how_to.py b/schema_models/how_to.py
index 097a1540..350cd16c 100644
--- a/schema_models/how_to.py
+++ b/schema_models/how_to.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.item_list import ItemList
+@dataclass
class HowTo(CreativeWork):
"""
Instructions that explain how to achieve a result by performing a sequence of steps.
@@ -13,7 +15,7 @@ class HowTo(CreativeWork):
Union["MonetaryAmount", List["MonetaryAmount"], str, List[str]]
] = None
supply: Optional[Union[str, List[str], "HowToSupply", List["HowToSupply"]]] = None
- _yield: Optional[
+ yield_: Optional[
Union["QuantitativeValue", List["QuantitativeValue"], str, List[str]]
] = None
tool: Optional[Union["HowToTool", List["HowToTool"], str, List[str]]] = None
diff --git a/schema_models/how_to_direction.py b/schema_models/how_to_direction.py
index ac034f25..5ca7a583 100644
--- a/schema_models/how_to_direction.py
+++ b/schema_models/how_to_direction.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.media_object import MediaObject
+@dataclass
class HowToDirection(ListItem):
"""
A direction indicating a single action to do in the instructions for how to achieve a result.
diff --git a/schema_models/how_to_item.py b/schema_models/how_to_item.py
index 4568c212..5a157947 100644
--- a/schema_models/how_to_item.py
+++ b/schema_models/how_to_item.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.list_item import ListItem
+@dataclass
class HowToItem(ListItem):
"""
An item used as either a tool or supply when performing the instructions for how to achieve a result.
diff --git a/schema_models/how_to_section.py b/schema_models/how_to_section.py
index e37a45e5..c365f3c7 100644
--- a/schema_models/how_to_section.py
+++ b/schema_models/how_to_section.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -5,6 +6,7 @@
from schema_models.list_item import ListItem
+@dataclass
class HowToSection(ListItem):
"""
A sub-grouping of steps in the instructions for how to achieve a result (e.g. steps for making a pie crust within a pie recipe).
diff --git a/schema_models/how_to_step.py b/schema_models/how_to_step.py
index 5cc7aa59..605780dc 100644
--- a/schema_models/how_to_step.py
+++ b/schema_models/how_to_step.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.list_item import ListItem
+@dataclass
class HowToStep(ListItem):
"""
A step in the instructions for how to achieve a result. It is an ordered list with HowToDirection and/or HowToTip items.
diff --git a/schema_models/how_to_supply.py b/schema_models/how_to_supply.py
index 5ec4862e..823ba94b 100644
--- a/schema_models/how_to_supply.py
+++ b/schema_models/how_to_supply.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.how_to_item import HowToItem
from schema_models.monetary_amount import MonetaryAmount
+@dataclass
class HowToSupply(HowToItem):
"""
A supply consumed when performing the instructions for how to achieve a result.
diff --git a/schema_models/how_to_tip.py b/schema_models/how_to_tip.py
index fe96105a..7031cc8d 100644
--- a/schema_models/how_to_tip.py
+++ b/schema_models/how_to_tip.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.list_item import ListItem
+@dataclass
class HowToTip(ListItem):
"""
An explanation in the instructions for how to achieve a result. It provides supplementary information about a technique, supply, author's preference, etc. It can explain what could be done, or what should not be done, but doesn't specify what should be done (see HowToDirection).
diff --git a/schema_models/how_to_tool.py b/schema_models/how_to_tool.py
index 70022f59..807cb355 100644
--- a/schema_models/how_to_tool.py
+++ b/schema_models/how_to_tool.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.how_to_item import HowToItem
+@dataclass
class HowToTool(HowToItem):
"""
A tool used (but not consumed) when performing instructions for how to achieve a result.
diff --git a/schema_models/hvac_business.py b/schema_models/hvac_business.py
index c55cb50b..267cbac2 100644
--- a/schema_models/hvac_business.py
+++ b/schema_models/hvac_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class HVACBusiness(HomeAndConstructionBusiness):
"""
A business that provides Heating, Ventilation and Air Conditioning services.
diff --git a/schema_models/hyper_toc.py b/schema_models/hyper_toc.py
index 1133d421..a9cbf161 100644
--- a/schema_models/hyper_toc.py
+++ b/schema_models/hyper_toc.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.media_object import MediaObject
+@dataclass
class HyperToc(CreativeWork):
"""
A HyperToc represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. Items in the table of contents are indicated using the [[tocEntry]] property, and typed [[HyperTocEntry]]. For cases where the same larger work is split into multiple files, [[associatedMedia]] can be used on individual [[HyperTocEntry]] items.
diff --git a/schema_models/hyper_toc_entry.py b/schema_models/hyper_toc_entry.py
index 2e8da83a..472be415 100644
--- a/schema_models/hyper_toc_entry.py
+++ b/schema_models/hyper_toc_entry.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.media_object import MediaObject
+@dataclass
class HyperTocEntry(CreativeWork):
"""
A HyperToEntry is an item within a [[HyperToc]], which represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. The media object itself is indicated using [[associatedMedia]]. Each section of interest within that content can be described with a [[HyperTocEntry]], with associated [[startOffset]] and [[endOffset]]. When several entries are all from the same file, [[associatedMedia]] is used on the overarching [[HyperTocEntry]]; if the content has been split into multiple files, they can be referenced using [[associatedMedia]] on each [[HyperTocEntry]].
diff --git a/schema_models/ice_cream_shop.py b/schema_models/ice_cream_shop.py
index 5f375f60..49d8b0ca 100644
--- a/schema_models/ice_cream_shop.py
+++ b/schema_models/ice_cream_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class IceCreamShop(FoodEstablishment):
"""
An ice cream shop.
diff --git a/schema_models/ignore_action.py b/schema_models/ignore_action.py
index dc77b353..7908c1f7 100644
--- a/schema_models/ignore_action.py
+++ b/schema_models/ignore_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.assess_action import AssessAction
+@dataclass
class IgnoreAction(AssessAction):
"""
The act of intentionally disregarding the object. An agent ignores an object.
diff --git a/schema_models/image_gallery.py b/schema_models/image_gallery.py
index b0f10717..b8feadfd 100644
--- a/schema_models/image_gallery.py
+++ b/schema_models/image_gallery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_gallery import MediaGallery
+@dataclass
class ImageGallery(MediaGallery):
"""
Web page type: Image gallery page.
diff --git a/schema_models/image_object.py b/schema_models/image_object.py
index a0fdcf1a..e97adcd4 100644
--- a/schema_models/image_object.py
+++ b/schema_models/image_object.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.media_object import MediaObject
from schema_models.property_value import PropertyValue
+@dataclass
class ImageObject(MediaObject):
"""
An image file.
diff --git a/schema_models/image_object_snapshot.py b/schema_models/image_object_snapshot.py
index 4d97215c..5b49fd40 100644
--- a/schema_models/image_object_snapshot.py
+++ b/schema_models/image_object_snapshot.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.image_object import ImageObject
+@dataclass
class ImageObjectSnapshot(ImageObject):
"""
A specific and exact (byte-for-byte) version of an [[ImageObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata (e.g. XMP, EXIF) the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity.
diff --git a/schema_models/imaging_test.py b/schema_models/imaging_test.py
index bca14a4e..baea69bc 100644
--- a/schema_models/imaging_test.py
+++ b/schema_models/imaging_test.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_test import MedicalTest
+@dataclass
class ImagingTest(MedicalTest):
"""
Any medical imaging modality typically used for diagnostic purposes.
diff --git a/schema_models/individual_physician.py b/schema_models/individual_physician.py
index 38f6718d..1322b129 100644
--- a/schema_models/individual_physician.py
+++ b/schema_models/individual_physician.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_organization import MedicalOrganization
from schema_models.physician import Physician
+@dataclass
class IndividualPhysician(Physician):
"""
An individual medical practitioner. For their official address use [[address]], for affiliations to hospitals use [[hospitalAffiliation]].
diff --git a/schema_models/individual_product.py b/schema_models/individual_product.py
index 56540ba7..3d885a18 100644
--- a/schema_models/individual_product.py
+++ b/schema_models/individual_product.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.product import Product
+@dataclass
class IndividualProduct(Product):
"""
A single, identifiable product instance (e.g. a laptop with a particular serial number).
diff --git a/schema_models/infectious_agent_class.py b/schema_models/infectious_agent_class.py
index cffb164e..3bf4b7ae 100644
--- a/schema_models/infectious_agent_class.py
+++ b/schema_models/infectious_agent_class.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class InfectiousAgentClass(MedicalEnumeration):
"""
Classes of agents or pathogens that transmit infectious diseases. Enumerated type.
diff --git a/schema_models/infectious_disease.py b/schema_models/infectious_disease.py
index 0757ea6e..64ea758f 100644
--- a/schema_models/infectious_disease.py
+++ b/schema_models/infectious_disease.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
+@dataclass
class InfectiousDisease(MedicalCondition):
"""
An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease.
diff --git a/schema_models/inform_action.py b/schema_models/inform_action.py
index ff6890a9..ef3affb1 100644
--- a/schema_models/inform_action.py
+++ b/schema_models/inform_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.communicate_action import CommunicateAction
from schema_models.event import Event
+@dataclass
class InformAction(CommunicateAction):
"""
The act of notifying someone of information pertinent to them, with no expectation of a response.
diff --git a/schema_models/insert_action.py b/schema_models/insert_action.py
index 71400b22..2e5165a7 100644
--- a/schema_models/insert_action.py
+++ b/schema_models/insert_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.add_action import AddAction
from schema_models.place import Place
+@dataclass
class InsertAction(AddAction):
"""
The act of adding at a specific location in an ordered collection.
diff --git a/schema_models/install_action.py b/schema_models/install_action.py
index 300798f1..7ad454bb 100644
--- a/schema_models/install_action.py
+++ b/schema_models/install_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class InstallAction(ConsumeAction):
"""
The act of installing an application.
diff --git a/schema_models/insurance_agency.py b/schema_models/insurance_agency.py
index 0c25a81f..2d73d0a3 100644
--- a/schema_models/insurance_agency.py
+++ b/schema_models/insurance_agency.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_service import FinancialService
+@dataclass
class InsuranceAgency(FinancialService):
"""
An Insurance agency.
diff --git a/schema_models/intangible.py b/schema_models/intangible.py
index 5376c3ab..68e3586a 100644
--- a/schema_models/intangible.py
+++ b/schema_models/intangible.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.thing import Thing
+@dataclass
class Intangible(Thing):
"""
A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.
diff --git a/schema_models/interact_action.py b/schema_models/interact_action.py
index de0a967d..87222629 100644
--- a/schema_models/interact_action.py
+++ b/schema_models/interact_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class InteractAction(Action):
"""
The act of interacting with another person or organization.
diff --git a/schema_models/interaction_counter.py b/schema_models/interaction_counter.py
index 66796dc5..daf8163a 100644
--- a/schema_models/interaction_counter.py
+++ b/schema_models/interaction_counter.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.web_site import WebSite
+@dataclass
class InteractionCounter(StructuredValue):
"""
A summary of how users have interacted with this CreativeWork. In most cases, authors will use a subtype to specify the specific type of interaction.
diff --git a/schema_models/internet_cafe.py b/schema_models/internet_cafe.py
index 1444b7bf..303ab07c 100644
--- a/schema_models/internet_cafe.py
+++ b/schema_models/internet_cafe.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class InternetCafe(LocalBusiness):
"""
An internet cafe.
diff --git a/schema_models/investment_fund.py b/schema_models/investment_fund.py
index 7bf1b318..917bd599 100644
--- a/schema_models/investment_fund.py
+++ b/schema_models/investment_fund.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.investment_or_deposit import InvestmentOrDeposit
+@dataclass
class InvestmentFund(InvestmentOrDeposit):
"""
A company or fund that gathers capital from a number of investors to create a pool of money that is then re-invested into stocks, bonds and other assets.
diff --git a/schema_models/investment_or_deposit.py b/schema_models/investment_or_deposit.py
index ec4e0269..cda334dc 100644
--- a/schema_models/investment_or_deposit.py
+++ b/schema_models/investment_or_deposit.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.financial_product import FinancialProduct
from schema_models.monetary_amount import MonetaryAmount
+@dataclass
class InvestmentOrDeposit(FinancialProduct):
"""
A type of financial product that typically requires the client to transfer funds to a financial service in return for potential beneficial financial return.
diff --git a/schema_models/invite_action.py b/schema_models/invite_action.py
index 8d49a266..93e98070 100644
--- a/schema_models/invite_action.py
+++ b/schema_models/invite_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.communicate_action import CommunicateAction
from schema_models.event import Event
+@dataclass
class InviteAction(CommunicateAction):
"""
The act of asking someone to attend an event. Reciprocal of RsvpAction.
diff --git a/schema_models/invoice.py b/schema_models/invoice.py
index 3a8ec685..62dd02f4 100644
--- a/schema_models/invoice.py
+++ b/schema_models/invoice.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.thing import Thing
+@dataclass
class Invoice(Intangible):
"""
A statement of the money due for goods or services; a bill.
diff --git a/schema_models/iptc_digital_source_enumeration.py b/schema_models/iptc_digital_source_enumeration.py
index a82400d1..0d80bae2 100644
--- a/schema_models/iptc_digital_source_enumeration.py
+++ b/schema_models/iptc_digital_source_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_enumeration import MediaEnumeration
+@dataclass
class IPTCDigitalSourceEnumeration(MediaEnumeration):
"""
IPTC "Digital Source" codes for use with the [[digitalSourceType]] property, providing information about the source for a digital media object.
diff --git a/schema_models/item_availability.py b/schema_models/item_availability.py
index e7026925..af6f0b83 100644
--- a/schema_models/item_availability.py
+++ b/schema_models/item_availability.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ItemAvailability(Enumeration):
"""
A list of possible product availability options.
diff --git a/schema_models/item_list.py b/schema_models/item_list.py
index 47c6e2bc..d3ccecea 100644
--- a/schema_models/item_list.py
+++ b/schema_models/item_list.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.thing import Thing
+@dataclass
class ItemList(Intangible):
"""
A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting.
diff --git a/schema_models/item_list_order_type.py b/schema_models/item_list_order_type.py
index 979b4d41..87b9c200 100644
--- a/schema_models/item_list_order_type.py
+++ b/schema_models/item_list_order_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ItemListOrderType(Enumeration):
"""
Enumerated for values for itemListOrder for indicating how an ordered ItemList is organized.
diff --git a/schema_models/item_page.py b/schema_models/item_page.py
index 6ff5367e..49cd6436 100644
--- a/schema_models/item_page.py
+++ b/schema_models/item_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class ItemPage(WebPage):
"""
A page devoted to a single item, such as a particular product or hotel.
diff --git a/schema_models/jewelry_store.py b/schema_models/jewelry_store.py
index 5ea6009c..f29943d7 100644
--- a/schema_models/jewelry_store.py
+++ b/schema_models/jewelry_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class JewelryStore(Store):
"""
A jewelry store.
diff --git a/schema_models/job_posting.py b/schema_models/job_posting.py
index a14cff81..87fa7b76 100644
--- a/schema_models/job_posting.py
+++ b/schema_models/job_posting.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.place import Place
+@dataclass
class JobPosting(Intangible):
"""
A listing that describes a job opening in a certain organization.
diff --git a/schema_models/join_action.py b/schema_models/join_action.py
index a053d87f..3d8c1af7 100644
--- a/schema_models/join_action.py
+++ b/schema_models/join_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.event import Event
from schema_models.interact_action import InteractAction
+@dataclass
class JoinAction(InteractAction):
"""
An agent joins an event/group with participants/friends at a location.
diff --git a/schema_models/joint.py b/schema_models/joint.py
index d85f8544..3063c8ac 100644
--- a/schema_models/joint.py
+++ b/schema_models/joint.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
from schema_models.medical_entity import MedicalEntity
+@dataclass
class Joint(AnatomicalStructure):
"""
The anatomical location at which two or more bones make contact.
diff --git a/schema_models/lake_body_of_water.py b/schema_models/lake_body_of_water.py
index 62e9c20e..a1a6445c 100644
--- a/schema_models/lake_body_of_water.py
+++ b/schema_models/lake_body_of_water.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class LakeBodyOfWater(BodyOfWater):
"""
A lake (for example, Lake Pontrachain).
diff --git a/schema_models/landform.py b/schema_models/landform.py
index ad6f8fb5..ab7a1753 100644
--- a/schema_models/landform.py
+++ b/schema_models/landform.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place import Place
+@dataclass
class Landform(Place):
"""
A landform or physical feature. Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins.
diff --git a/schema_models/landmarks_or_historical_buildings.py b/schema_models/landmarks_or_historical_buildings.py
index 62ad0802..91cda0e8 100644
--- a/schema_models/landmarks_or_historical_buildings.py
+++ b/schema_models/landmarks_or_historical_buildings.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place import Place
+@dataclass
class LandmarksOrHistoricalBuildings(Place):
"""
An historical landmark or building.
diff --git a/schema_models/language.py b/schema_models/language.py
index 9652f06d..98537251 100644
--- a/schema_models/language.py
+++ b/schema_models/language.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class Language(Intangible):
"""
A sub property of instrument. The language used on this action.
diff --git a/schema_models/learning_resource.py b/schema_models/learning_resource.py
index b6586596..602e44b2 100644
--- a/schema_models/learning_resource.py
+++ b/schema_models/learning_resource.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.defined_term import DefinedTerm
+@dataclass
class LearningResource(CreativeWork):
"""
The LearningResource type can be used to indicate [[CreativeWork]]s (whether physical or digital) that have a particular and explicit orientation towards learning, education, skill acquisition, and other educational purposes.
diff --git a/schema_models/leave_action.py b/schema_models/leave_action.py
index d9c21772..44004b01 100644
--- a/schema_models/leave_action.py
+++ b/schema_models/leave_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.event import Event
from schema_models.interact_action import InteractAction
+@dataclass
class LeaveAction(InteractAction):
"""
An agent leaves an event / group with participants/friends at a location.
diff --git a/schema_models/legal_force_status.py b/schema_models/legal_force_status.py
index b20b4e8e..fa022e4d 100644
--- a/schema_models/legal_force_status.py
+++ b/schema_models/legal_force_status.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class LegalForceStatus(StatusEnumeration):
"""
A list of possible statuses for the legal force of a legislation.
diff --git a/schema_models/legal_service.py b/schema_models/legal_service.py
index 9ac8f420..9a94861c 100644
--- a/schema_models/legal_service.py
+++ b/schema_models/legal_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class LegalService(LocalBusiness):
"""
A LegalService is a business that provides legally-oriented services, advice and representation, e.g. law firms.
diff --git a/schema_models/legal_value_level.py b/schema_models/legal_value_level.py
index 52edd0cc..e0d7c106 100644
--- a/schema_models/legal_value_level.py
+++ b/schema_models/legal_value_level.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class LegalValueLevel(Enumeration):
"""
A list of possible levels for the legal validity of a legislation.
diff --git a/schema_models/legislation.py b/schema_models/legislation.py
index 42a55a49..b316203c 100644
--- a/schema_models/legislation.py
+++ b/schema_models/legislation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.person import Person
+@dataclass
class Legislation(CreativeWork):
"""
A legal document such as an act, decree, bill, etc. (enforceable or not) or a component of a legal act (like an article).
diff --git a/schema_models/legislation_object.py b/schema_models/legislation_object.py
index 9046584b..98461c0e 100644
--- a/schema_models/legislation_object.py
+++ b/schema_models/legislation_object.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.legal_value_level import LegalValueLevel
from schema_models.legislation import Legislation
+@dataclass
class LegislationObject(Legislation):
"""
A specific object or file containing a Legislation. Note that the same Legislation can be published in multiple files. For example, a digitally signed PDF, a plain PDF and an HTML version.
diff --git a/schema_models/legislative_building.py b/schema_models/legislative_building.py
index 54657dc7..5aada7b2 100644
--- a/schema_models/legislative_building.py
+++ b/schema_models/legislative_building.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_building import GovernmentBuilding
+@dataclass
class LegislativeBuilding(GovernmentBuilding):
"""
A legislative building—for example, the state capitol.
diff --git a/schema_models/lend_action.py b/schema_models/lend_action.py
index 88437150..36381b69 100644
--- a/schema_models/lend_action.py
+++ b/schema_models/lend_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.person import Person
from schema_models.transfer_action import TransferAction
+@dataclass
class LendAction(TransferAction):
"""
The act of providing an object under an agreement that it will be returned at a later date. Reciprocal of BorrowAction.
diff --git a/schema_models/library.py b/schema_models/library.py
index f2c0a67e..6e9e317d 100644
--- a/schema_models/library.py
+++ b/schema_models/library.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class Library(LocalBusiness):
"""
A library.
diff --git a/schema_models/library_system.py b/schema_models/library_system.py
index d65a7870..f01faa14 100644
--- a/schema_models/library_system.py
+++ b/schema_models/library_system.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class LibrarySystem(Organization):
"""
A [[LibrarySystem]] is a collaborative system amongst several libraries.
diff --git a/schema_models/lifestyle_modification.py b/schema_models/lifestyle_modification.py
index c0cd1bc0..e4fec5e5 100644
--- a/schema_models/lifestyle_modification.py
+++ b/schema_models/lifestyle_modification.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_entity import MedicalEntity
+@dataclass
class LifestyleModification(MedicalEntity):
"""
A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition.
diff --git a/schema_models/ligament.py b/schema_models/ligament.py
index 7059e3d4..34efe21f 100644
--- a/schema_models/ligament.py
+++ b/schema_models/ligament.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.anatomical_structure import AnatomicalStructure
+@dataclass
class Ligament(AnatomicalStructure):
"""
A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints.
diff --git a/schema_models/like_action.py b/schema_models/like_action.py
index 369d2bd0..4f86c029 100644
--- a/schema_models/like_action.py
+++ b/schema_models/like_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.react_action import ReactAction
+@dataclass
class LikeAction(ReactAction):
"""
The act of expressing a positive sentiment about the object. An agent likes an object (a proposition, topic or theme) with participants.
diff --git a/schema_models/link_role.py b/schema_models/link_role.py
index 3e51b06e..ceaa4aa2 100644
--- a/schema_models/link_role.py
+++ b/schema_models/link_role.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.language import Language
from schema_models.role import Role
+@dataclass
class LinkRole(Role):
"""
A Role that represents a Web link, e.g. as expressed via the 'url' property. Its linkRelationship property can indicate URL-based and plain textual link types, e.g. those in IANA link registry or others such as 'amphtml'. This structure provides a placeholder where details from HTML's link element can be represented outside of HTML, e.g. in JSON-LD feeds.
diff --git a/schema_models/liquor_store.py b/schema_models/liquor_store.py
index 40d13670..8ef308da 100644
--- a/schema_models/liquor_store.py
+++ b/schema_models/liquor_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class LiquorStore(Store):
"""
A shop that sells alcoholic drinks such as wine, beer, whisky and other spirits.
diff --git a/schema_models/list_item.py b/schema_models/list_item.py
index f36265be..441cdd1d 100644
--- a/schema_models/list_item.py
+++ b/schema_models/list_item.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.thing import Thing
+@dataclass
class ListItem(Intangible):
"""
An list item, e.g. a step in a checklist or how-to description.
diff --git a/schema_models/listen_action.py b/schema_models/listen_action.py
index b9df6c45..296d7706 100644
--- a/schema_models/listen_action.py
+++ b/schema_models/listen_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class ListenAction(ConsumeAction):
"""
The act of consuming audio content.
diff --git a/schema_models/literary_event.py b/schema_models/literary_event.py
index f296d2cf..b45fed58 100644
--- a/schema_models/literary_event.py
+++ b/schema_models/literary_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class LiteraryEvent(Event):
"""
Event type: Literary event.
diff --git a/schema_models/live_blog_posting.py b/schema_models/live_blog_posting.py
index 82724246..13862bb7 100644
--- a/schema_models/live_blog_posting.py
+++ b/schema_models/live_blog_posting.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
from schema_models.blog_posting import BlogPosting
+@dataclass
class LiveBlogPosting(BlogPosting):
"""
A [[LiveBlogPosting]] is a [[BlogPosting]] intended to provide a rolling textual coverage of an ongoing event through continuous updates.
diff --git a/schema_models/loan_or_credit.py b/schema_models/loan_or_credit.py
index 01265799..8007fe59 100644
--- a/schema_models/loan_or_credit.py
+++ b/schema_models/loan_or_credit.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -10,6 +11,7 @@
from schema_models.thing import Thing
+@dataclass
class LoanOrCredit(FinancialProduct):
"""
A financial product for the loaning of an amount of money, or line of credit, under agreed terms and charges.
diff --git a/schema_models/local_business.py b/schema_models/local_business.py
index 7e7e725f..635b8902 100644
--- a/schema_models/local_business.py
+++ b/schema_models/local_business.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
from schema_models.place import Place
+@dataclass
class LocalBusiness(Place):
"""
A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc.
diff --git a/schema_models/location_feature_specification.py b/schema_models/location_feature_specification.py
index 706779a3..66cd5954 100644
--- a/schema_models/location_feature_specification.py
+++ b/schema_models/location_feature_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.property_value import PropertyValue
+@dataclass
class LocationFeatureSpecification(PropertyValue):
"""
Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality.
diff --git a/schema_models/locksmith.py b/schema_models/locksmith.py
index ea4b133c..5f97b7fb 100644
--- a/schema_models/locksmith.py
+++ b/schema_models/locksmith.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class Locksmith(HomeAndConstructionBusiness):
"""
A locksmith.
diff --git a/schema_models/lodging_business.py b/schema_models/lodging_business.py
index fa9168c1..0997d518 100644
--- a/schema_models/lodging_business.py
+++ b/schema_models/lodging_business.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.rating import Rating
+@dataclass
class LodgingBusiness(LocalBusiness):
"""
A lodging business, such as a motel, hotel, or inn.
diff --git a/schema_models/lodging_reservation.py b/schema_models/lodging_reservation.py
index 9e8cdec9..768b183d 100644
--- a/schema_models/lodging_reservation.py
+++ b/schema_models/lodging_reservation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.reservation import Reservation
+@dataclass
class LodgingReservation(Reservation):
"""
A reservation for lodging at a hotel, motel, inn, etc.
diff --git a/schema_models/lose_action.py b/schema_models/lose_action.py
index bbad5710..bcf8ac96 100644
--- a/schema_models/lose_action.py
+++ b/schema_models/lose_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.achieve_action import AchieveAction
from schema_models.person import Person
+@dataclass
class LoseAction(AchieveAction):
"""
The act of being defeated in a competitive activity.
diff --git a/schema_models/lymphatic_vessel.py b/schema_models/lymphatic_vessel.py
index 4789e797..6e01218e 100644
--- a/schema_models/lymphatic_vessel.py
+++ b/schema_models/lymphatic_vessel.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
@@ -5,6 +6,7 @@
from schema_models.vessel import Vessel
+@dataclass
class LymphaticVessel(Vessel):
"""
A type of blood vessel that specifically carries lymph fluid unidirectionally toward the heart.
diff --git a/schema_models/manuscript.py b/schema_models/manuscript.py
index 4f62bdd6..b3fe96e7 100644
--- a/schema_models/manuscript.py
+++ b/schema_models/manuscript.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Manuscript(CreativeWork):
"""
A book, document, or piece of music written by hand rather than typed or printed.
diff --git a/schema_models/map.py b/schema_models/map.py
index c573195e..413602f8 100644
--- a/schema_models/map.py
+++ b/schema_models/map.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Map(CreativeWork):
"""
A map.
diff --git a/schema_models/map_category_type.py b/schema_models/map_category_type.py
index 9d90ffdd..6269c21b 100644
--- a/schema_models/map_category_type.py
+++ b/schema_models/map_category_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MapCategoryType(Enumeration):
"""
An enumeration of several kinds of Map.
diff --git a/schema_models/marry_action.py b/schema_models/marry_action.py
index 7aea7592..d069038d 100644
--- a/schema_models/marry_action.py
+++ b/schema_models/marry_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.interact_action import InteractAction
+@dataclass
class MarryAction(InteractAction):
"""
The act of marrying a person.
diff --git a/schema_models/mass.py b/schema_models/mass.py
index b80b6fa5..a067c937 100644
--- a/schema_models/mass.py
+++ b/schema_models/mass.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.quantity import Quantity
+@dataclass
class Mass(Quantity):
"""
Properties that take Mass as values are of the form '<Number> <Mass unit of measure>'. E.g., '7 kg'.
diff --git a/schema_models/math_solver.py b/schema_models/math_solver.py
index 04277a5e..102d52c8 100644
--- a/schema_models/math_solver.py
+++ b/schema_models/math_solver.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.solve_math_action import SolveMathAction
+@dataclass
class MathSolver(CreativeWork):
"""
A math solver which is capable of solving a subset of mathematical problems.
diff --git a/schema_models/maximum_dose_schedule.py b/schema_models/maximum_dose_schedule.py
index db4333a4..dda22b3e 100644
--- a/schema_models/maximum_dose_schedule.py
+++ b/schema_models/maximum_dose_schedule.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.dose_schedule import DoseSchedule
+@dataclass
class MaximumDoseSchedule(DoseSchedule):
"""
The maximum dosing schedule considered safe for a drug or supplement as recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity.
diff --git a/schema_models/measurement_method_enum.py b/schema_models/measurement_method_enum.py
index 4e18f1af..0954ef5d 100644
--- a/schema_models/measurement_method_enum.py
+++ b/schema_models/measurement_method_enum.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MeasurementMethodEnum(Enumeration):
"""
Enumeration(s) for use with [[measurementMethod]].
diff --git a/schema_models/measurement_type_enumeration.py b/schema_models/measurement_type_enumeration.py
index 731171a3..d7307909 100644
--- a/schema_models/measurement_type_enumeration.py
+++ b/schema_models/measurement_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MeasurementTypeEnumeration(Enumeration):
"""
Enumeration of common measurement types (or dimensions), for example "chest" for a person, "inseam" for pants, "gauge" for screws, or "wheel" for bicycles.
diff --git a/schema_models/media_enumeration.py b/schema_models/media_enumeration.py
index 7627e31e..920e55d5 100644
--- a/schema_models/media_enumeration.py
+++ b/schema_models/media_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MediaEnumeration(Enumeration):
"""
MediaEnumeration enumerations are lists of codes, labels etc. useful for describing media objects. They may be reflections of externally developed lists, or created at schema.org, or a combination.
diff --git a/schema_models/media_gallery.py b/schema_models/media_gallery.py
index accb69c1..2afcc55e 100644
--- a/schema_models/media_gallery.py
+++ b/schema_models/media_gallery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.collection_page import CollectionPage
+@dataclass
class MediaGallery(CollectionPage):
"""
Web page type: Media gallery page. A mixed-media page that can contain media such as images, videos, and other multimedia.
diff --git a/schema_models/media_manipulation_rating_enumeration.py b/schema_models/media_manipulation_rating_enumeration.py
index 87222871..6f76123f 100644
--- a/schema_models/media_manipulation_rating_enumeration.py
+++ b/schema_models/media_manipulation_rating_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MediaManipulationRatingEnumeration(Enumeration):
"""
Codes for use with the [[mediaAuthenticityCategory]] property, indicating the authenticity of a media object (in the context of how it was published or shared). In general these codes are not mutually exclusive, although some combinations (such as 'original' versus 'transformed', 'edited' and 'staged') would be contradictory if applied in the same [[MediaReview]]. Note that the application of these codes is with regard to a piece of media shared or published in a particular context.
diff --git a/schema_models/media_object.py b/schema_models/media_object.py
index 872257ee..ef529402 100644
--- a/schema_models/media_object.py
+++ b/schema_models/media_object.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.place import Place
+@dataclass
class MediaObject(CreativeWork):
"""
A media object, such as an image, video, audio, or text object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's).
diff --git a/schema_models/media_review.py b/schema_models/media_review.py
index 42d91cc6..35edcffc 100644
--- a/schema_models/media_review.py
+++ b/schema_models/media_review.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -10,6 +11,7 @@
from schema_models.web_page import WebPage
+@dataclass
class MediaReview(Review):
"""
A [[MediaReview]] is a more specialized form of Review dedicated to the evaluation of media content online, typically in the context of fact-checking and misinformation.
diff --git a/schema_models/media_review_item.py b/schema_models/media_review_item.py
index c77c2d37..520fdc55 100644
--- a/schema_models/media_review_item.py
+++ b/schema_models/media_review_item.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.media_object import MediaObject
+@dataclass
class MediaReviewItem(CreativeWork):
"""
Represents an item or group of closely related items treated as a unit for the sake of evaluation in a [[MediaReview]]. Authorship etc. apply to the items rather than to the curation/grouping or reviewing party.
diff --git a/schema_models/media_subscription.py b/schema_models/media_subscription.py
index b29bc83b..f540481f 100644
--- a/schema_models/media_subscription.py
+++ b/schema_models/media_subscription.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.organization import Organization
+@dataclass
class MediaSubscription(Intangible):
"""
A subscription which allows a user to access media including audio, video, books, etc.
diff --git a/schema_models/medical_audience.py b/schema_models/medical_audience.py
index 1be612ee..97e02da2 100644
--- a/schema_models/medical_audience.py
+++ b/schema_models/medical_audience.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.people_audience import PeopleAudience
+@dataclass
class MedicalAudience(PeopleAudience):
"""
Medical audience for page.
diff --git a/schema_models/medical_audience_type.py b/schema_models/medical_audience_type.py
index db511eb3..bf72dbf8 100644
--- a/schema_models/medical_audience_type.py
+++ b/schema_models/medical_audience_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalAudienceType(MedicalEnumeration):
"""
Target audiences types for medical web pages. Enumerated type.
diff --git a/schema_models/medical_business.py b/schema_models/medical_business.py
index fcb5b125..1cf294a9 100644
--- a/schema_models/medical_business.py
+++ b/schema_models/medical_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class MedicalBusiness(LocalBusiness):
"""
A particular physical or virtual business of an organization for medical purposes. Examples of MedicalBusiness include different businesses run by health professionals.
diff --git a/schema_models/medical_cause.py b/schema_models/medical_cause.py
index cacb1f51..56fc3106 100644
--- a/schema_models/medical_cause.py
+++ b/schema_models/medical_cause.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalCause(MedicalEntity):
"""
The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well.
diff --git a/schema_models/medical_clinic.py b/schema_models/medical_clinic.py
index 8ebc5337..bd3c034a 100644
--- a/schema_models/medical_clinic.py
+++ b/schema_models/medical_clinic.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_business import MedicalBusiness
@@ -7,6 +8,7 @@
from schema_models.medical_therapy import MedicalTherapy
+@dataclass
class MedicalClinic(MedicalBusiness):
"""
A facility, often associated with a hospital or medical school, that is devoted to the specific diagnosis and/or healthcare. Previously limited to outpatients but with evolution it may be open to inpatients as well.
diff --git a/schema_models/medical_code.py b/schema_models/medical_code.py
index 14dd349f..e423dff9 100644
--- a/schema_models/medical_code.py
+++ b/schema_models/medical_code.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.category_code import CategoryCode
+@dataclass
class MedicalCode(CategoryCode):
"""
A code for a medical entity.
diff --git a/schema_models/medical_condition.py b/schema_models/medical_condition.py
index b5081130..5a8b0f2b 100644
--- a/schema_models/medical_condition.py
+++ b/schema_models/medical_condition.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_system import AnatomicalSystem
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalCondition(MedicalEntity):
"""
Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc.
diff --git a/schema_models/medical_condition_stage.py b/schema_models/medical_condition_stage.py
index 72a69f83..eb8c793e 100644
--- a/schema_models/medical_condition_stage.py
+++ b/schema_models/medical_condition_stage.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_intangible import MedicalIntangible
+@dataclass
class MedicalConditionStage(MedicalIntangible):
"""
A stage of a medical condition, such as 'Stage IIIa'.
diff --git a/schema_models/medical_contraindication.py b/schema_models/medical_contraindication.py
index 416a63f8..a8a21306 100644
--- a/schema_models/medical_contraindication.py
+++ b/schema_models/medical_contraindication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalContraindication(MedicalEntity):
"""
A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but these risks may be outweighed by other considerations or mitigated by other measures).
diff --git a/schema_models/medical_device.py b/schema_models/medical_device.py
index 6039c1d3..e6e0982a 100644
--- a/schema_models/medical_device.py
+++ b/schema_models/medical_device.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_contraindication import MedicalContraindication
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalDevice(MedicalEntity):
"""
Any object used in a medical capacity, such as to diagnose or treat a patient.
diff --git a/schema_models/medical_device_purpose.py b/schema_models/medical_device_purpose.py
index c644251f..e84a99c1 100644
--- a/schema_models/medical_device_purpose.py
+++ b/schema_models/medical_device_purpose.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalDevicePurpose(MedicalEnumeration):
"""
Categories of medical devices, organized by the purpose or intended use of the device.
diff --git a/schema_models/medical_entity.py b/schema_models/medical_entity.py
index 1879abf1..c8cc4d08 100644
--- a/schema_models/medical_entity.py
+++ b/schema_models/medical_entity.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.thing import Thing
+@dataclass
class MedicalEntity(Thing):
"""
The most generic type of entity related to health and the practice of medicine.
diff --git a/schema_models/medical_enumeration.py b/schema_models/medical_enumeration.py
index 858ccd8c..62b70539 100644
--- a/schema_models/medical_enumeration.py
+++ b/schema_models/medical_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MedicalEnumeration(Enumeration):
"""
Enumerations related to health and the practice of medicine: A concept that is used to attribute a quality to another concept, as a qualifier, a collection of items or a listing of all of the elements of a set in medicine practice.
diff --git a/schema_models/medical_evidence_level.py b/schema_models/medical_evidence_level.py
index 115bf0ae..3d6a66c5 100644
--- a/schema_models/medical_evidence_level.py
+++ b/schema_models/medical_evidence_level.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalEvidenceLevel(MedicalEnumeration):
"""
Level of evidence for a medical guideline. Enumerated type.
diff --git a/schema_models/medical_guideline.py b/schema_models/medical_guideline.py
index cf8d6a32..e25cb393 100644
--- a/schema_models/medical_guideline.py
+++ b/schema_models/medical_guideline.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalGuideline(MedicalEntity):
"""
Any recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity.
diff --git a/schema_models/medical_guideline_contraindication.py b/schema_models/medical_guideline_contraindication.py
index fe0717d2..4bc97faa 100644
--- a/schema_models/medical_guideline_contraindication.py
+++ b/schema_models/medical_guideline_contraindication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_guideline import MedicalGuideline
+@dataclass
class MedicalGuidelineContraindication(MedicalGuideline):
"""
A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound.
diff --git a/schema_models/medical_guideline_recommendation.py b/schema_models/medical_guideline_recommendation.py
index 129bd57a..05bf8617 100644
--- a/schema_models/medical_guideline_recommendation.py
+++ b/schema_models/medical_guideline_recommendation.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_guideline import MedicalGuideline
+@dataclass
class MedicalGuidelineRecommendation(MedicalGuideline):
"""
A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound.
diff --git a/schema_models/medical_imaging_technique.py b/schema_models/medical_imaging_technique.py
index 2a6303b9..0f39ccae 100644
--- a/schema_models/medical_imaging_technique.py
+++ b/schema_models/medical_imaging_technique.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalImagingTechnique(MedicalEnumeration):
"""
Any medical imaging modality typically used for diagnostic purposes. Enumerated type.
diff --git a/schema_models/medical_indication.py b/schema_models/medical_indication.py
index 86fa6e1c..f9daa460 100644
--- a/schema_models/medical_indication.py
+++ b/schema_models/medical_indication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalIndication(MedicalEntity):
"""
A condition or factor that indicates use of a medical therapy, including signs, symptoms, risk factors, anatomical states, etc.
diff --git a/schema_models/medical_intangible.py b/schema_models/medical_intangible.py
index 287be4cc..13133dc0 100644
--- a/schema_models/medical_intangible.py
+++ b/schema_models/medical_intangible.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalIntangible(MedicalEntity):
"""
A utility class that serves as the umbrella for a number of 'intangible' things in the medical space.
diff --git a/schema_models/medical_observational_study.py b/schema_models/medical_observational_study.py
index f5755d89..e2724ac2 100644
--- a/schema_models/medical_observational_study.py
+++ b/schema_models/medical_observational_study.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_study import MedicalStudy
+@dataclass
class MedicalObservationalStudy(MedicalStudy):
"""
An observational study is a type of medical study that attempts to infer the possible effect of a treatment through observation of a cohort of subjects over a period of time. In an observational study, the assignment of subjects into treatment groups versus control groups is outside the control of the investigator. This is in contrast with controlled studies, such as the randomized controlled trials represented by MedicalTrial, where each subject is randomly assigned to a treatment group or a control group before the start of the treatment.
diff --git a/schema_models/medical_observational_study_design.py b/schema_models/medical_observational_study_design.py
index 9572d7b2..ef44f73b 100644
--- a/schema_models/medical_observational_study_design.py
+++ b/schema_models/medical_observational_study_design.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalObservationalStudyDesign(MedicalEnumeration):
"""
Design models for observational medical studies. Enumerated type.
diff --git a/schema_models/medical_organization.py b/schema_models/medical_organization.py
index 2695294d..59d3c4bb 100644
--- a/schema_models/medical_organization.py
+++ b/schema_models/medical_organization.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
+@dataclass
class MedicalOrganization(Organization):
"""
A medical organization (physical or not), such as hospital, institution or clinic.
diff --git a/schema_models/medical_procedure.py b/schema_models/medical_procedure.py
index 165bdce8..41b28a62 100644
--- a/schema_models/medical_procedure.py
+++ b/schema_models/medical_procedure.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalProcedure(MedicalEntity):
"""
A process of care used in either a diagnostic, therapeutic, preventive or palliative capacity that relies on invasive (surgical), non-invasive, or other techniques.
diff --git a/schema_models/medical_procedure_type.py b/schema_models/medical_procedure_type.py
index 9b2f3e60..535136ca 100644
--- a/schema_models/medical_procedure_type.py
+++ b/schema_models/medical_procedure_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalProcedureType(MedicalEnumeration):
"""
An enumeration that describes different types of medical procedures.
diff --git a/schema_models/medical_risk_calculator.py b/schema_models/medical_risk_calculator.py
index 53f7be10..3b577bb3 100644
--- a/schema_models/medical_risk_calculator.py
+++ b/schema_models/medical_risk_calculator.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_risk_estimator import MedicalRiskEstimator
+@dataclass
class MedicalRiskCalculator(MedicalRiskEstimator):
"""
A complex mathematical calculation requiring an online calculator, used to assess prognosis. Note: use the url property of Thing to record any URLs for online calculators.
diff --git a/schema_models/medical_risk_estimator.py b/schema_models/medical_risk_estimator.py
index 032e15d1..559bf214 100644
--- a/schema_models/medical_risk_estimator.py
+++ b/schema_models/medical_risk_estimator.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalRiskEstimator(MedicalEntity):
"""
Any rule set or interactive tool for estimating the risk of developing a complication or condition.
diff --git a/schema_models/medical_risk_factor.py b/schema_models/medical_risk_factor.py
index 15bc09be..c48441f8 100644
--- a/schema_models/medical_risk_factor.py
+++ b/schema_models/medical_risk_factor.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalRiskFactor(MedicalEntity):
"""
A risk factor is anything that increases a person's likelihood of developing or contracting a disease, medical condition, or complication.
diff --git a/schema_models/medical_risk_score.py b/schema_models/medical_risk_score.py
index ad04017c..73e2f85c 100644
--- a/schema_models/medical_risk_score.py
+++ b/schema_models/medical_risk_score.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_risk_estimator import MedicalRiskEstimator
+@dataclass
class MedicalRiskScore(MedicalRiskEstimator):
"""
A simple system that adds up the number of risk factors to yield a score that is associated with prognosis, e.g. CHAD score, TIMI risk score.
diff --git a/schema_models/medical_scholarly_article.py b/schema_models/medical_scholarly_article.py
index e744d412..aa8e14f4 100644
--- a/schema_models/medical_scholarly_article.py
+++ b/schema_models/medical_scholarly_article.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.scholarly_article import ScholarlyArticle
+@dataclass
class MedicalScholarlyArticle(ScholarlyArticle):
"""
A scholarly article in the medical domain.
diff --git a/schema_models/medical_sign.py b/schema_models/medical_sign.py
index 1fffde0b..0010e649 100644
--- a/schema_models/medical_sign.py
+++ b/schema_models/medical_sign.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_sign_or_symptom import MedicalSignOrSymptom
from schema_models.medical_test import MedicalTest
+@dataclass
class MedicalSign(MedicalSignOrSymptom):
"""
Any physical manifestation of a person's medical condition discoverable by objective diagnostic tests or physical examination.
diff --git a/schema_models/medical_sign_or_symptom.py b/schema_models/medical_sign_or_symptom.py
index cfcde19c..0556eabf 100644
--- a/schema_models/medical_sign_or_symptom.py
+++ b/schema_models/medical_sign_or_symptom.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
+@dataclass
class MedicalSignOrSymptom(MedicalCondition):
"""
Any feature associated or not with a medical condition. In medicine a symptom is generally subjective while a sign is objective.
diff --git a/schema_models/medical_specialty.py b/schema_models/medical_specialty.py
index edbc1bcd..aee692af 100644
--- a/schema_models/medical_specialty.py
+++ b/schema_models/medical_specialty.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalSpecialty(MedicalEnumeration):
"""
A medical specialty of the provider.
diff --git a/schema_models/medical_study.py b/schema_models/medical_study.py
index 18259420..ab725ee1 100644
--- a/schema_models/medical_study.py
+++ b/schema_models/medical_study.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class MedicalStudy(MedicalEntity):
"""
A medical study is an umbrella type covering all kinds of research studies relating to human medicine or health, including observational studies and interventional trials and registries, randomized, controlled or not. When the specific type of study is known, use one of the extensions of this type, such as MedicalTrial or MedicalObservationalStudy. Also, note that this type should be used to mark up data that describes the study itself; to tag an article that publishes the results of a study, use MedicalScholarlyArticle. Note: use the code property of MedicalEntity to store study IDs, e.g. clinicaltrials.gov ID.
diff --git a/schema_models/medical_study_status.py b/schema_models/medical_study_status.py
index 9f8e1dd3..759c1749 100644
--- a/schema_models/medical_study_status.py
+++ b/schema_models/medical_study_status.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalStudyStatus(MedicalEnumeration):
"""
The status of a medical study. Enumerated type.
diff --git a/schema_models/medical_symptom.py b/schema_models/medical_symptom.py
index 90418989..a0cb544c 100644
--- a/schema_models/medical_symptom.py
+++ b/schema_models/medical_symptom.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_sign_or_symptom import MedicalSignOrSymptom
+@dataclass
class MedicalSymptom(MedicalSignOrSymptom):
"""
Any complaint sensed and expressed by the patient (therefore defined as subjective) like stomachache, lower-back pain, or fatigue.
diff --git a/schema_models/medical_test.py b/schema_models/medical_test.py
index 0a5df141..55a53e3b 100644
--- a/schema_models/medical_test.py
+++ b/schema_models/medical_test.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
from schema_models.medical_entity import MedicalEntity
+@dataclass
class MedicalTest(MedicalEntity):
"""
Any medical test, typically performed for diagnostic purposes.
diff --git a/schema_models/medical_test_panel.py b/schema_models/medical_test_panel.py
index 7dd3230d..3859cae8 100644
--- a/schema_models/medical_test_panel.py
+++ b/schema_models/medical_test_panel.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_test import MedicalTest
+@dataclass
class MedicalTestPanel(MedicalTest):
"""
Any collection of tests commonly ordered together.
diff --git a/schema_models/medical_therapy.py b/schema_models/medical_therapy.py
index 5091958c..9135e751 100644
--- a/schema_models/medical_therapy.py
+++ b/schema_models/medical_therapy.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_contraindication import MedicalContraindication
@@ -5,6 +6,7 @@
from schema_models.therapeutic_procedure import TherapeuticProcedure
+@dataclass
class MedicalTherapy(TherapeuticProcedure):
"""
Any medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition.
diff --git a/schema_models/medical_trial.py b/schema_models/medical_trial.py
index 7637f28e..871ca412 100644
--- a/schema_models/medical_trial.py
+++ b/schema_models/medical_trial.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_study import MedicalStudy
+@dataclass
class MedicalTrial(MedicalStudy):
"""
A medical trial is a type of medical study that uses a scientific process to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups.
diff --git a/schema_models/medical_trial_design.py b/schema_models/medical_trial_design.py
index 0c6790e9..e0e7ad51 100644
--- a/schema_models/medical_trial_design.py
+++ b/schema_models/medical_trial_design.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicalTrialDesign(MedicalEnumeration):
"""
Design models for medical trials. Enumerated type.
diff --git a/schema_models/medical_web_page.py b/schema_models/medical_web_page.py
index 4f9a4025..f59ac092 100644
--- a/schema_models/medical_web_page.py
+++ b/schema_models/medical_web_page.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.web_page import WebPage
+@dataclass
class MedicalWebPage(WebPage):
"""
A web page that provides medical information.
diff --git a/schema_models/medicine_system.py b/schema_models/medicine_system.py
index 22daa56b..44cc6f9e 100644
--- a/schema_models/medicine_system.py
+++ b/schema_models/medicine_system.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class MedicineSystem(MedicalEnumeration):
"""
Systems of medical practice.
diff --git a/schema_models/meeting_room.py b/schema_models/meeting_room.py
index c54b81eb..6fb9a42f 100644
--- a/schema_models/meeting_room.py
+++ b/schema_models/meeting_room.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.room import Room
+@dataclass
class MeetingRoom(Room):
"""
A meeting room, conference room, or conference hall is a room provided for singular events such as business conferences and meetings (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Conference_hall).
diff --git a/schema_models/member_program.py b/schema_models/member_program.py
index c5db1a04..dedefacf 100644
--- a/schema_models/member_program.py
+++ b/schema_models/member_program.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
@@ -5,6 +6,7 @@
from schema_models.organization import Organization
+@dataclass
class MemberProgram(Intangible):
"""
A MemberProgram defines a loyalty (or membership) program that provides its members with certain benefits, for example better pricing, free shipping or returns, or the ability to earn loyalty points. Member programs may have multiple tiers, for example silver and gold members, each with different benefits.
diff --git a/schema_models/member_program_tier.py b/schema_models/member_program_tier.py
index 1a78c55c..6e9f1d0c 100644
--- a/schema_models/member_program_tier.py
+++ b/schema_models/member_program_tier.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class MemberProgramTier(Intangible):
"""
A MemberProgramTier specifies a tier under a loyalty (member) program, for example "gold".
diff --git a/schema_models/mens_clothing_store.py b/schema_models/mens_clothing_store.py
index 4b16c345..6b17bf1c 100644
--- a/schema_models/mens_clothing_store.py
+++ b/schema_models/mens_clothing_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class MensClothingStore(Store):
"""
A men's clothing store.
diff --git a/schema_models/menu.py b/schema_models/menu.py
index 606dd4ed..da36d2c7 100644
--- a/schema_models/menu.py
+++ b/schema_models/menu.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.menu_item import MenuItem
+@dataclass
class Menu(CreativeWork):
"""
A structured representation of food or drink items available from a FoodEstablishment.
diff --git a/schema_models/menu_item.py b/schema_models/menu_item.py
index 0bc070df..b7bff93b 100644
--- a/schema_models/menu_item.py
+++ b/schema_models/menu_item.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.demand import Demand
@@ -5,6 +6,7 @@
from schema_models.offer import Offer
+@dataclass
class MenuItem(Intangible):
"""
A food or drink item listed in a menu or menu section.
diff --git a/schema_models/menu_section.py b/schema_models/menu_section.py
index b6fe8a03..bb1bd54b 100644
--- a/schema_models/menu_section.py
+++ b/schema_models/menu_section.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.menu_item import MenuItem
+@dataclass
class MenuSection(CreativeWork):
"""
A sub-grouping of food or drink items in a menu. E.g. courses (such as 'Dinner', 'Breakfast', etc.), specific type of dishes (such as 'Meat', 'Vegan', 'Drinks', etc.), or some other classification made by the menu provider.
diff --git a/schema_models/merchant_return_enumeration.py b/schema_models/merchant_return_enumeration.py
index 6636401f..46f88169 100644
--- a/schema_models/merchant_return_enumeration.py
+++ b/schema_models/merchant_return_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MerchantReturnEnumeration(Enumeration):
"""
Enumerates several kinds of product return policies.
diff --git a/schema_models/merchant_return_policy.py b/schema_models/merchant_return_policy.py
index 00e9e77b..c7345f77 100644
--- a/schema_models/merchant_return_policy.py
+++ b/schema_models/merchant_return_policy.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
)
+@dataclass
class MerchantReturnPolicy(Intangible):
"""
A MerchantReturnPolicy provides information about product return policies associated with an [[Organization]], [[Product]], or [[Offer]].
diff --git a/schema_models/merchant_return_policy_seasonal_override.py b/schema_models/merchant_return_policy_seasonal_override.py
index e33a228a..e156ebb1 100644
--- a/schema_models/merchant_return_policy_seasonal_override.py
+++ b/schema_models/merchant_return_policy_seasonal_override.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class MerchantReturnPolicySeasonalOverride(Intangible):
"""
A seasonal override of a return policy, for example used for holidays.
diff --git a/schema_models/message.py b/schema_models/message.py
index eecdfff1..0c3b564f 100644
--- a/schema_models/message.py
+++ b/schema_models/message.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -7,6 +8,7 @@
from schema_models.person import Person
+@dataclass
class Message(CreativeWork):
"""
A single message from a sender to one or more organizations or people.
diff --git a/schema_models/middle_school.py b/schema_models/middle_school.py
index 4a8d9a47..8f40686a 100644
--- a/schema_models/middle_school.py
+++ b/schema_models/middle_school.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class MiddleSchool(EducationalOrganization):
"""
A middle school (typically for children aged around 11-14, although this varies somewhat).
diff --git a/schema_models/mobile_application.py b/schema_models/mobile_application.py
index b7207cf6..9bec8918 100644
--- a/schema_models/mobile_application.py
+++ b/schema_models/mobile_application.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.software_application import SoftwareApplication
+@dataclass
class MobileApplication(SoftwareApplication):
"""
A software application designed specifically to work well on a mobile device such as a telephone.
diff --git a/schema_models/mobile_phone_store.py b/schema_models/mobile_phone_store.py
index 60e84750..da865554 100644
--- a/schema_models/mobile_phone_store.py
+++ b/schema_models/mobile_phone_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class MobilePhoneStore(Store):
"""
A store that sells mobile phones and related accessories.
diff --git a/schema_models/molecular_entity.py b/schema_models/molecular_entity.py
index 170cf33e..a65d3ce7 100644
--- a/schema_models/molecular_entity.py
+++ b/schema_models/molecular_entity.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.bio_chem_entity import BioChemEntity
from schema_models.defined_term import DefinedTerm
+@dataclass
class MolecularEntity(BioChemEntity):
"""
Any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer etc., identifiable as a separately distinguishable entity.
diff --git a/schema_models/monetary_amount.py b/schema_models/monetary_amount.py
index 32f2d13e..05502ff9 100644
--- a/schema_models/monetary_amount.py
+++ b/schema_models/monetary_amount.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class MonetaryAmount(StructuredValue):
"""
A monetary value or range. This type can be used to describe an amount of money such as $50 USD, or a range as in describing a bank account being suitable for a balance between £1,000 and £1,000,000 GBP, or the value of a salary, etc. It is recommended to use [[PriceSpecification]] Types to describe the price of an Offer, Invoice, etc.
diff --git a/schema_models/monetary_amount_distribution.py b/schema_models/monetary_amount_distribution.py
index dad2f9ee..a11c4a75 100644
--- a/schema_models/monetary_amount_distribution.py
+++ b/schema_models/monetary_amount_distribution.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.quantitative_value_distribution import QuantitativeValueDistribution
+@dataclass
class MonetaryAmountDistribution(QuantitativeValueDistribution):
"""
A statistical distribution of monetary amounts.
diff --git a/schema_models/monetary_grant.py b/schema_models/monetary_grant.py
index e8589a84..72e2013d 100644
--- a/schema_models/monetary_grant.py
+++ b/schema_models/monetary_grant.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.grant import Grant
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class MonetaryGrant(Grant):
"""
A monetary grant.
diff --git a/schema_models/money_transfer.py b/schema_models/money_transfer.py
index d44f3e2a..9f1d4d18 100644
--- a/schema_models/money_transfer.py
+++ b/schema_models/money_transfer.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.monetary_amount import MonetaryAmount
from schema_models.transfer_action import TransferAction
+@dataclass
class MoneyTransfer(TransferAction):
"""
The act of transferring money from one place to another place. This may occur electronically or physically.
diff --git a/schema_models/mortgage_loan.py b/schema_models/mortgage_loan.py
index 8a2ec3e4..f60e8059 100644
--- a/schema_models/mortgage_loan.py
+++ b/schema_models/mortgage_loan.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.loan_or_credit import LoanOrCredit
from schema_models.monetary_amount import MonetaryAmount
+@dataclass
class MortgageLoan(LoanOrCredit):
"""
A loan in which property or real estate is used as collateral. (A loan securitized against some real estate.)
diff --git a/schema_models/mosque.py b/schema_models/mosque.py
index 1dec13f0..8163f29a 100644
--- a/schema_models/mosque.py
+++ b/schema_models/mosque.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place_of_worship import PlaceOfWorship
+@dataclass
class Mosque(PlaceOfWorship):
"""
A mosque.
diff --git a/schema_models/motel.py b/schema_models/motel.py
index b7a6f5d1..fcc897d6 100644
--- a/schema_models/motel.py
+++ b/schema_models/motel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class Motel(LodgingBusiness):
"""
A motel.
diff --git a/schema_models/motorcycle.py b/schema_models/motorcycle.py
index 11e420a9..529c73e3 100644
--- a/schema_models/motorcycle.py
+++ b/schema_models/motorcycle.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.vehicle import Vehicle
+@dataclass
class Motorcycle(Vehicle):
"""
A motorcycle or motorbike is a single-track, two-wheeled motor vehicle.
diff --git a/schema_models/motorcycle_dealer.py b/schema_models/motorcycle_dealer.py
index 47703815..d549f11b 100644
--- a/schema_models/motorcycle_dealer.py
+++ b/schema_models/motorcycle_dealer.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class MotorcycleDealer(AutomotiveBusiness):
"""
A motorcycle dealer.
diff --git a/schema_models/motorcycle_repair.py b/schema_models/motorcycle_repair.py
index 3f8f3f8c..a3fff534 100644
--- a/schema_models/motorcycle_repair.py
+++ b/schema_models/motorcycle_repair.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.automotive_business import AutomotiveBusiness
+@dataclass
class MotorcycleRepair(AutomotiveBusiness):
"""
A motorcycle repair shop.
diff --git a/schema_models/motorized_bicycle.py b/schema_models/motorized_bicycle.py
index 8f441f12..f685d3c6 100644
--- a/schema_models/motorized_bicycle.py
+++ b/schema_models/motorized_bicycle.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.vehicle import Vehicle
+@dataclass
class MotorizedBicycle(Vehicle):
"""
A motorized bicycle is a bicycle with an attached motor used to power the vehicle, or to assist with pedaling.
diff --git a/schema_models/mountain.py b/schema_models/mountain.py
index a3427f44..8b4b3e40 100644
--- a/schema_models/mountain.py
+++ b/schema_models/mountain.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.landform import Landform
+@dataclass
class Mountain(Landform):
"""
A mountain, like Mount Whitney or Mount Everest.
diff --git a/schema_models/move_action.py b/schema_models/move_action.py
index 212b1cdf..9ec1e263 100644
--- a/schema_models/move_action.py
+++ b/schema_models/move_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
from schema_models.place import Place
+@dataclass
class MoveAction(Action):
"""
The act of an agent relocating to a place.
diff --git a/schema_models/movie.py b/schema_models/movie.py
index e8356c92..832aee57 100644
--- a/schema_models/movie.py
+++ b/schema_models/movie.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -9,6 +10,7 @@
from schema_models.person import Person
+@dataclass
class Movie(CreativeWork):
"""
A movie.
diff --git a/schema_models/movie_clip.py b/schema_models/movie_clip.py
index 1d8332ba..db5b5949 100644
--- a/schema_models/movie_clip.py
+++ b/schema_models/movie_clip.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.clip import Clip
+@dataclass
class MovieClip(Clip):
"""
A short segment/part of a movie.
diff --git a/schema_models/movie_rental_store.py b/schema_models/movie_rental_store.py
index 14b949a7..74a3e525 100644
--- a/schema_models/movie_rental_store.py
+++ b/schema_models/movie_rental_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class MovieRentalStore(Store):
"""
A movie rental store.
diff --git a/schema_models/movie_series.py b/schema_models/movie_series.py
index ad4f7afc..7e6894ae 100644
--- a/schema_models/movie_series.py
+++ b/schema_models/movie_series.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work_series import CreativeWorkSeries
@@ -8,6 +9,7 @@
from schema_models.video_object import VideoObject
+@dataclass
class MovieSeries(CreativeWorkSeries):
"""
A series of movies. Included movies can be indicated with the hasPart property.
diff --git a/schema_models/movie_theater.py b/schema_models/movie_theater.py
index 19ee6bd1..043b4f67 100644
--- a/schema_models/movie_theater.py
+++ b/schema_models/movie_theater.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.civic_structure import CivicStructure
+@dataclass
class MovieTheater(CivicStructure):
"""
A movie theater.
diff --git a/schema_models/moving_company.py b/schema_models/moving_company.py
index 9bdb5ce7..fdc7e611 100644
--- a/schema_models/moving_company.py
+++ b/schema_models/moving_company.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class MovingCompany(HomeAndConstructionBusiness):
"""
A moving company.
diff --git a/schema_models/muscle.py b/schema_models/muscle.py
index 2de1b90e..a1a1c617 100644
--- a/schema_models/muscle.py
+++ b/schema_models/muscle.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
@@ -5,6 +6,7 @@
from schema_models.vessel import Vessel
+@dataclass
class Muscle(AnatomicalStructure):
"""
A muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement.
diff --git a/schema_models/museum.py b/schema_models/museum.py
index b437593b..e7212479 100644
--- a/schema_models/museum.py
+++ b/schema_models/museum.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Museum(CivicStructure):
"""
A museum.
diff --git a/schema_models/music_album.py b/schema_models/music_album.py
index 19597287..59350c81 100644
--- a/schema_models/music_album.py
+++ b/schema_models/music_album.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.music_album_production_type import MusicAlbumProductionType
@@ -7,6 +8,7 @@
from schema_models.person import Person
+@dataclass
class MusicAlbum(MusicPlaylist):
"""
A collection of music tracks.
diff --git a/schema_models/music_album_production_type.py b/schema_models/music_album_production_type.py
index a06a4d24..fad22864 100644
--- a/schema_models/music_album_production_type.py
+++ b/schema_models/music_album_production_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MusicAlbumProductionType(Enumeration):
"""
Classification of the album by its type of content: soundtrack, live album, studio album, etc.
diff --git a/schema_models/music_album_release_type.py b/schema_models/music_album_release_type.py
index 3a46daac..71bf0978 100644
--- a/schema_models/music_album_release_type.py
+++ b/schema_models/music_album_release_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MusicAlbumReleaseType(Enumeration):
"""
The kind of release which this album is: single, EP or album.
diff --git a/schema_models/music_composition.py b/schema_models/music_composition.py
index ea00a565..d03dd5be 100644
--- a/schema_models/music_composition.py
+++ b/schema_models/music_composition.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class MusicComposition(CreativeWork):
"""
A musical composition.
diff --git a/schema_models/music_event.py b/schema_models/music_event.py
index 3b3a9245..df4c6b87 100644
--- a/schema_models/music_event.py
+++ b/schema_models/music_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class MusicEvent(Event):
"""
Event type: Music event.
diff --git a/schema_models/music_group.py b/schema_models/music_group.py
index 436a0a81..9aac4e6c 100644
--- a/schema_models/music_group.py
+++ b/schema_models/music_group.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.person import Person
+@dataclass
class MusicGroup(PerformingGroup):
"""
A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician.
diff --git a/schema_models/music_playlist.py b/schema_models/music_playlist.py
index 91a04728..534b23a6 100644
--- a/schema_models/music_playlist.py
+++ b/schema_models/music_playlist.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.item_list import ItemList
+@dataclass
class MusicPlaylist(CreativeWork):
"""
A collection of music tracks in playlist form.
diff --git a/schema_models/music_recording.py b/schema_models/music_recording.py
index 2d503280..848d2c6d 100644
--- a/schema_models/music_recording.py
+++ b/schema_models/music_recording.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class MusicRecording(CreativeWork):
"""
A music recording (track), usually a single song.
diff --git a/schema_models/music_release.py b/schema_models/music_release.py
index 227008a0..41c39411 100644
--- a/schema_models/music_release.py
+++ b/schema_models/music_release.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.duration import Duration
@@ -8,6 +9,7 @@
from schema_models.person import Person
+@dataclass
class MusicRelease(MusicPlaylist):
"""
A MusicRelease is a specific release of a music album.
diff --git a/schema_models/music_release_format_type.py b/schema_models/music_release_format_type.py
index ae5e5006..bb4dfeea 100644
--- a/schema_models/music_release_format_type.py
+++ b/schema_models/music_release_format_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class MusicReleaseFormatType(Enumeration):
"""
Format of this release (the type of recording media used, i.e. compact disc, digital media, LP, etc.).
diff --git a/schema_models/music_store.py b/schema_models/music_store.py
index 898a27de..7f88e704 100644
--- a/schema_models/music_store.py
+++ b/schema_models/music_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class MusicStore(Store):
"""
A music store.
diff --git a/schema_models/music_venue.py b/schema_models/music_venue.py
index e5dfcfd6..7441fd3a 100644
--- a/schema_models/music_venue.py
+++ b/schema_models/music_venue.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class MusicVenue(CivicStructure):
"""
A music venue.
diff --git a/schema_models/music_video_object.py b/schema_models/music_video_object.py
index 331cabc9..2212a2e4 100644
--- a/schema_models/music_video_object.py
+++ b/schema_models/music_video_object.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_object import MediaObject
+@dataclass
class MusicVideoObject(MediaObject):
"""
A music video file.
diff --git a/schema_models/nail_salon.py b/schema_models/nail_salon.py
index 8a0825b6..63c4eb91 100644
--- a/schema_models/nail_salon.py
+++ b/schema_models/nail_salon.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class NailSalon(HealthAndBeautyBusiness):
"""
A nail salon.
diff --git a/schema_models/nerve.py b/schema_models/nerve.py
index b4806ea8..5e9fd904 100644
--- a/schema_models/nerve.py
+++ b/schema_models/nerve.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
@@ -5,6 +6,7 @@
from schema_models.superficial_anatomy import SuperficialAnatomy
+@dataclass
class Nerve(AnatomicalStructure):
"""
The underlying innervation associated with the muscle.
diff --git a/schema_models/news_article.py b/schema_models/news_article.py
index 0937d7b3..40dca49c 100644
--- a/schema_models/news_article.py
+++ b/schema_models/news_article.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.article import Article
+@dataclass
class NewsArticle(Article):
"""
A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news.
diff --git a/schema_models/news_media_organization.py b/schema_models/news_media_organization.py
index 4d7020e0..c94bd9cf 100644
--- a/schema_models/news_media_organization.py
+++ b/schema_models/news_media_organization.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.organization import Organization
+@dataclass
class NewsMediaOrganization(Organization):
"""
A News/Media organization such as a newspaper or TV station.
diff --git a/schema_models/newspaper.py b/schema_models/newspaper.py
index 916a5fab..4c35b66e 100644
--- a/schema_models/newspaper.py
+++ b/schema_models/newspaper.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.periodical import Periodical
+@dataclass
class Newspaper(Periodical):
"""
A publication containing information about varied topics that are pertinent to general information, a geographic area, or a specific subject matter (i.e. business, culture, education). Often published daily.
diff --git a/schema_models/ngo.py b/schema_models/ngo.py
index 8acbae81..14c50146 100644
--- a/schema_models/ngo.py
+++ b/schema_models/ngo.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class NGO(Organization):
"""
Organization: Non-governmental Organization.
diff --git a/schema_models/night_club.py b/schema_models/night_club.py
index ff0c87e2..bdf6a288 100644
--- a/schema_models/night_club.py
+++ b/schema_models/night_club.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.entertainment_business import EntertainmentBusiness
+@dataclass
class NightClub(EntertainmentBusiness):
"""
A nightclub or discotheque.
diff --git a/schema_models/nl_nonprofit_type.py b/schema_models/nl_nonprofit_type.py
index e2d740f4..8452d04c 100644
--- a/schema_models/nl_nonprofit_type.py
+++ b/schema_models/nl_nonprofit_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.nonprofit_type import NonprofitType
+@dataclass
class NLNonprofitType(NonprofitType):
"""
NLNonprofitType: Non-profit organization type originating from the Netherlands.
diff --git a/schema_models/nonprofit_type.py b/schema_models/nonprofit_type.py
index 05f7627d..64e9ed1d 100644
--- a/schema_models/nonprofit_type.py
+++ b/schema_models/nonprofit_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class NonprofitType(Enumeration):
"""
NonprofitType enumerates several kinds of official non-profit types of which a non-profit organization can be.
diff --git a/schema_models/notary.py b/schema_models/notary.py
index ba827604..e8b0985d 100644
--- a/schema_models/notary.py
+++ b/schema_models/notary.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.legal_service import LegalService
+@dataclass
class Notary(LegalService):
"""
A notary.
diff --git a/schema_models/note_digital_document.py b/schema_models/note_digital_document.py
index 7ddbbabf..6878a7e3 100644
--- a/schema_models/note_digital_document.py
+++ b/schema_models/note_digital_document.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.digital_document import DigitalDocument
+@dataclass
class NoteDigitalDocument(DigitalDocument):
"""
A file containing a note, primarily for the author.
diff --git a/schema_models/nutrition_information.py b/schema_models/nutrition_information.py
index cea3db1e..b0b6a717 100644
--- a/schema_models/nutrition_information.py
+++ b/schema_models/nutrition_information.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.energy import Energy
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class NutritionInformation(StructuredValue):
"""
Nutritional information about the recipe.
diff --git a/schema_models/observation.py b/schema_models/observation.py
index 9dbd0dcf..ab8c4d6e 100644
--- a/schema_models/observation.py
+++ b/schema_models/observation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -14,6 +15,7 @@
from schema_models.thing import Thing
+@dataclass
class Observation(QuantitativeValue):
"""
Instances of the class [[Observation]] are used to specify observations about an entity at a particular time. The principal properties of an [[Observation]] are [[observationAbout]], [[measuredProperty]], [[statType]], [[value] and [[observationDate]] and [[measuredProperty]]. Some but not all Observations represent a [[QuantitativeValue]]. Quantitative observations can be about a [[StatisticalVariable]], which is an abstract specification about which we can make observations that are grounded at a particular location and time.
diff --git a/schema_models/occupation.py b/schema_models/occupation.py
index dc42c0a4..36537a8e 100644
--- a/schema_models/occupation.py
+++ b/schema_models/occupation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
@@ -6,6 +7,7 @@
)
+@dataclass
class Occupation(Intangible):
"""
A profession, may involve prolonged training and/or a formal qualification.
diff --git a/schema_models/occupational_experience_requirements.py b/schema_models/occupational_experience_requirements.py
index 8c8fc280..d5745e1d 100644
--- a/schema_models/occupational_experience_requirements.py
+++ b/schema_models/occupational_experience_requirements.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class OccupationalExperienceRequirements(Intangible):
"""
Indicates employment-related experience requirements, e.g. [[monthsOfExperience]].
diff --git a/schema_models/occupational_therapy.py b/schema_models/occupational_therapy.py
index 0c9f82b2..7c00ffa2 100644
--- a/schema_models/occupational_therapy.py
+++ b/schema_models/occupational_therapy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_therapy import MedicalTherapy
+@dataclass
class OccupationalTherapy(MedicalTherapy):
"""
A treatment of people with physical, emotional, or social problems, using purposeful activity to help them overcome or learn to deal with their problems.
diff --git a/schema_models/ocean_body_of_water.py b/schema_models/ocean_body_of_water.py
index 35fa75c8..c8c1f2ef 100644
--- a/schema_models/ocean_body_of_water.py
+++ b/schema_models/ocean_body_of_water.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class OceanBodyOfWater(BodyOfWater):
"""
An ocean (for example, the Pacific).
diff --git a/schema_models/offer.py b/schema_models/offer.py
index 4030a75e..b9740d5c 100644
--- a/schema_models/offer.py
+++ b/schema_models/offer.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -15,6 +16,7 @@
from schema_models.trip import Trip
+@dataclass
class Offer(Intangible):
"""
An offer to transfer some rights to an item or to provide a service — for example, an offer to sell tickets to an event, to rent the DVD of a movie, to stream a TV show over the internet, to repair a motorcycle, or to loan a book.
diff --git a/schema_models/offer_catalog.py b/schema_models/offer_catalog.py
index 633d6f64..682320f0 100644
--- a/schema_models/offer_catalog.py
+++ b/schema_models/offer_catalog.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.item_list import ItemList
+@dataclass
class OfferCatalog(ItemList):
"""
An OfferCatalog is an ItemList that contains related Offers and/or further OfferCatalogs that are offeredBy the same provider.
diff --git a/schema_models/offer_for_lease.py b/schema_models/offer_for_lease.py
index d2f7580e..9f553380 100644
--- a/schema_models/offer_for_lease.py
+++ b/schema_models/offer_for_lease.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.offer import Offer
+@dataclass
class OfferForLease(Offer):
"""
An [[OfferForLease]] in Schema.org represents an [[Offer]] to lease out something, i.e. an [[Offer]] whose
diff --git a/schema_models/offer_for_purchase.py b/schema_models/offer_for_purchase.py
index 19579661..5c010419 100644
--- a/schema_models/offer_for_purchase.py
+++ b/schema_models/offer_for_purchase.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.offer import Offer
+@dataclass
class OfferForPurchase(Offer):
"""
An [[OfferForPurchase]] in Schema.org represents an [[Offer]] to sell something, i.e. an [[Offer]] whose
diff --git a/schema_models/offer_item_condition.py b/schema_models/offer_item_condition.py
index f9f8d702..c057d50d 100644
--- a/schema_models/offer_item_condition.py
+++ b/schema_models/offer_item_condition.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class OfferItemCondition(Enumeration):
"""
A list of possible conditions for the item.
diff --git a/schema_models/offer_shipping_details.py b/schema_models/offer_shipping_details.py
index 13a710a5..ddb46971 100644
--- a/schema_models/offer_shipping_details.py
+++ b/schema_models/offer_shipping_details.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -9,6 +10,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class OfferShippingDetails(StructuredValue):
"""
OfferShippingDetails represents information about shipping destinations.
diff --git a/schema_models/office_equipment_store.py b/schema_models/office_equipment_store.py
index 39ae6c3c..abf41312 100644
--- a/schema_models/office_equipment_store.py
+++ b/schema_models/office_equipment_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class OfficeEquipmentStore(Store):
"""
An office equipment store.
diff --git a/schema_models/on_demand_event.py b/schema_models/on_demand_event.py
index 999900f8..18a89cab 100644
--- a/schema_models/on_demand_event.py
+++ b/schema_models/on_demand_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.publication_event import PublicationEvent
+@dataclass
class OnDemandEvent(PublicationEvent):
"""
A publication event, e.g. catch-up TV or radio podcast, during which a program is available on-demand.
diff --git a/schema_models/online_business.py b/schema_models/online_business.py
index b15947a5..11b0a6f5 100644
--- a/schema_models/online_business.py
+++ b/schema_models/online_business.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class OnlineBusiness(Organization):
"""
A particular online business, either standalone or the online part of a broader organization. Examples include an eCommerce site, an online travel booking site, an online learning site, an online logistics and shipping provider, an online (virtual) doctor, etc.
diff --git a/schema_models/online_store.py b/schema_models/online_store.py
index 43d65858..f4a1a95a 100644
--- a/schema_models/online_store.py
+++ b/schema_models/online_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.online_business import OnlineBusiness
+@dataclass
class OnlineStore(OnlineBusiness):
"""
An eCommerce site.
diff --git a/schema_models/opening_hours_specification.py b/schema_models/opening_hours_specification.py
index f088716f..a46341ed 100644
--- a/schema_models/opening_hours_specification.py
+++ b/schema_models/opening_hours_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class OpeningHoursSpecification(StructuredValue):
"""
A structured value providing information about the opening hours of a place or a certain service inside a place.
diff --git a/schema_models/opinion_news_article.py b/schema_models/opinion_news_article.py
index f3118364..fa5ca214 100644
--- a/schema_models/opinion_news_article.py
+++ b/schema_models/opinion_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class OpinionNewsArticle(NewsArticle):
"""
An [[OpinionNewsArticle]] is a [[NewsArticle]] that primarily expresses opinions rather than journalistic reporting of news and events. For example, a [[NewsArticle]] consisting of a column or [[Blog]]/[[BlogPosting]] entry in the Opinions section of a news publication.
diff --git a/schema_models/optician.py b/schema_models/optician.py
index 1021f7c5..070dd7b3 100644
--- a/schema_models/optician.py
+++ b/schema_models/optician.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_business import MedicalBusiness
+@dataclass
class Optician(MedicalBusiness):
"""
A store that sells reading glasses and similar devices for improving vision.
diff --git a/schema_models/order.py b/schema_models/order.py
index 8b7fa808..f41a267b 100644
--- a/schema_models/order.py
+++ b/schema_models/order.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.product import Product
+@dataclass
class Order(Intangible):
"""
An order is a confirmation of a transaction (a receipt), which can contain multiple line items, each represented by an Offer that has been accepted by the customer.
diff --git a/schema_models/order_action.py b/schema_models/order_action.py
index 30c939ac..27f3caf1 100644
--- a/schema_models/order_action.py
+++ b/schema_models/order_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.delivery_method import DeliveryMethod
from schema_models.trade_action import TradeAction
+@dataclass
class OrderAction(TradeAction):
"""
An agent orders an object/product/service to be delivered/sent.
diff --git a/schema_models/order_item.py b/schema_models/order_item.py
index 1cd852d8..e773b353 100644
--- a/schema_models/order_item.py
+++ b/schema_models/order_item.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.product import Product
+@dataclass
class OrderItem(Intangible):
"""
An order item is a line of an order. It includes the quantity and shipping details of a bought offer.
diff --git a/schema_models/order_status.py b/schema_models/order_status.py
index b6cc62a7..f8a10ee6 100644
--- a/schema_models/order_status.py
+++ b/schema_models/order_status.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class OrderStatus(StatusEnumeration):
"""
Enumerated status values for Order.
diff --git a/schema_models/organization.py b/schema_models/organization.py
index aace9d91..e8edfa1d 100644
--- a/schema_models/organization.py
+++ b/schema_models/organization.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.thing import Thing
+@dataclass
class Organization(Thing):
"""
An organization such as a school, NGO, corporation, club, etc.
diff --git a/schema_models/organization_role.py b/schema_models/organization_role.py
index b764d305..c00eea9e 100644
--- a/schema_models/organization_role.py
+++ b/schema_models/organization_role.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.role import Role
+@dataclass
class OrganizationRole(Role):
"""
A subclass of Role used to describe roles within organizations.
diff --git a/schema_models/organize_action.py b/schema_models/organize_action.py
index 5a4dfdda..ca6f75c5 100644
--- a/schema_models/organize_action.py
+++ b/schema_models/organize_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.action import Action
+@dataclass
class OrganizeAction(Action):
"""
The act of manipulating/administering/supervising/controlling one or more objects.
diff --git a/schema_models/outlet_store.py b/schema_models/outlet_store.py
index 5d74672a..f8c4736a 100644
--- a/schema_models/outlet_store.py
+++ b/schema_models/outlet_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class OutletStore(Store):
"""
An outlet store.
diff --git a/schema_models/ownership_info.py b/schema_models/ownership_info.py
index 182a143d..4fb01e1a 100644
--- a/schema_models/ownership_info.py
+++ b/schema_models/ownership_info.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class OwnershipInfo(StructuredValue):
"""
A structured value providing information about when a certain organization or person owned a certain product.
diff --git a/schema_models/paint_action.py b/schema_models/paint_action.py
index 7836be4c..2e6112f5 100644
--- a/schema_models/paint_action.py
+++ b/schema_models/paint_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.create_action import CreateAction
+@dataclass
class PaintAction(CreateAction):
"""
The act of producing a painting, typically with paint and canvas as instruments.
diff --git a/schema_models/painting.py b/schema_models/painting.py
index 8b1128ec..f1d0dfd1 100644
--- a/schema_models/painting.py
+++ b/schema_models/painting.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Painting(CreativeWork):
"""
A painting.
diff --git a/schema_models/palliative_procedure.py b/schema_models/palliative_procedure.py
index 171ef386..c06ebfaa 100644
--- a/schema_models/palliative_procedure.py
+++ b/schema_models/palliative_procedure.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_therapy import MedicalTherapy
+@dataclass
class PalliativeProcedure(MedicalTherapy):
"""
A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition.
diff --git a/schema_models/parcel_delivery.py b/schema_models/parcel_delivery.py
index 47933713..f6d3deef 100644
--- a/schema_models/parcel_delivery.py
+++ b/schema_models/parcel_delivery.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -11,6 +12,7 @@
from schema_models.product import Product
+@dataclass
class ParcelDelivery(Intangible):
"""
The delivery of a parcel either via the postal service or a commercial service.
diff --git a/schema_models/parent_audience.py b/schema_models/parent_audience.py
index d8986c22..9b189b08 100644
--- a/schema_models/parent_audience.py
+++ b/schema_models/parent_audience.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.people_audience import PeopleAudience
+@dataclass
class ParentAudience(PeopleAudience):
"""
A set of characteristics describing parents, who can be interested in viewing some content.
diff --git a/schema_models/park.py b/schema_models/park.py
index 349e2b78..de4af875 100644
--- a/schema_models/park.py
+++ b/schema_models/park.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Park(CivicStructure):
"""
A park.
diff --git a/schema_models/parking_facility.py b/schema_models/parking_facility.py
index 062151f5..30418214 100644
--- a/schema_models/parking_facility.py
+++ b/schema_models/parking_facility.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class ParkingFacility(CivicStructure):
"""
A parking lot or other parking facility.
diff --git a/schema_models/pathology_test.py b/schema_models/pathology_test.py
index 60802edd..30d5d459 100644
--- a/schema_models/pathology_test.py
+++ b/schema_models/pathology_test.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_test import MedicalTest
+@dataclass
class PathologyTest(MedicalTest):
"""
A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist.
diff --git a/schema_models/patient.py b/schema_models/patient.py
index 1bda2ad8..dd20afc2 100644
--- a/schema_models/patient.py
+++ b/schema_models/patient.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_condition import MedicalCondition
from schema_models.person import Person
+@dataclass
class Patient(Person):
"""
A patient is any person recipient of health care services.
diff --git a/schema_models/pawn_shop.py b/schema_models/pawn_shop.py
index 55e6a387..bb78dd6d 100644
--- a/schema_models/pawn_shop.py
+++ b/schema_models/pawn_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class PawnShop(Store):
"""
A shop that will buy, or lend money against the security of, personal possessions.
diff --git a/schema_models/pay_action.py b/schema_models/pay_action.py
index 41f64808..2fcb15be 100644
--- a/schema_models/pay_action.py
+++ b/schema_models/pay_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -7,6 +8,7 @@
from schema_models.trade_action import TradeAction
+@dataclass
class PayAction(TradeAction):
"""
An agent pays a price to a participant.
diff --git a/schema_models/payment_card.py b/schema_models/payment_card.py
index 430cbbe1..c360851f 100644
--- a/schema_models/payment_card.py
+++ b/schema_models/payment_card.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.financial_product import FinancialProduct
from schema_models.monetary_amount import MonetaryAmount
+@dataclass
class PaymentCard(FinancialProduct):
"""
A payment method using a credit, debit, store or other card to associate the payment with an account.
diff --git a/schema_models/payment_charge_specification.py b/schema_models/payment_charge_specification.py
index 3750382a..ec27f465 100644
--- a/schema_models/payment_charge_specification.py
+++ b/schema_models/payment_charge_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.delivery_method import DeliveryMethod
@@ -5,6 +6,7 @@
from schema_models.price_specification import PriceSpecification
+@dataclass
class PaymentChargeSpecification(PriceSpecification):
"""
The costs of settling the payment using a particular payment method.
diff --git a/schema_models/payment_method.py b/schema_models/payment_method.py
index e7e390a3..06c8c8cd 100644
--- a/schema_models/payment_method.py
+++ b/schema_models/payment_method.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class PaymentMethod(Intangible):
"""
A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction. The following legacy values should be accepted:
diff --git a/schema_models/payment_method_type.py b/schema_models/payment_method_type.py
index b4da06c5..05d51f2e 100644
--- a/schema_models/payment_method_type.py
+++ b/schema_models/payment_method_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class PaymentMethodType(Enumeration):
"""
The type of a payment method.
diff --git a/schema_models/payment_service.py b/schema_models/payment_service.py
index 142639f8..be8ceea6 100644
--- a/schema_models/payment_service.py
+++ b/schema_models/payment_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.financial_product import FinancialProduct
+@dataclass
class PaymentService(FinancialProduct):
"""
A Service to transfer funds from a person or organization to a beneficiary person or organization.
diff --git a/schema_models/payment_status_type.py b/schema_models/payment_status_type.py
index f9f854a8..451e7fc0 100644
--- a/schema_models/payment_status_type.py
+++ b/schema_models/payment_status_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class PaymentStatusType(StatusEnumeration):
"""
A specific payment status. For example, PaymentDue, PaymentComplete, etc.
diff --git a/schema_models/people_audience.py b/schema_models/people_audience.py
index 8fc49854..438ef2e5 100644
--- a/schema_models/people_audience.py
+++ b/schema_models/people_audience.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -6,6 +7,7 @@
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class PeopleAudience(Audience):
"""
A set of characteristics belonging to people, e.g. who compose an item's target audience.
diff --git a/schema_models/perform_action.py b/schema_models/perform_action.py
index df70a954..e9891d71 100644
--- a/schema_models/perform_action.py
+++ b/schema_models/perform_action.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.play_action import PlayAction
+@dataclass
class PerformAction(PlayAction):
"""
The act of participating in performance arts.
diff --git a/schema_models/performance_role.py b/schema_models/performance_role.py
index 3ec54482..54c520d4 100644
--- a/schema_models/performance_role.py
+++ b/schema_models/performance_role.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.role import Role
+@dataclass
class PerformanceRole(Role):
"""
A PerformanceRole is a Role that some entity places with regard to a theatrical performance, e.g. in a Movie, TVSeries etc.
diff --git a/schema_models/performing_arts_theater.py b/schema_models/performing_arts_theater.py
index d57e39d8..4b5cf559 100644
--- a/schema_models/performing_arts_theater.py
+++ b/schema_models/performing_arts_theater.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class PerformingArtsTheater(CivicStructure):
"""
A theater or other performing art center.
diff --git a/schema_models/performing_group.py b/schema_models/performing_group.py
index f392e293..062c1769 100644
--- a/schema_models/performing_group.py
+++ b/schema_models/performing_group.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class PerformingGroup(Organization):
"""
A performance group, such as a band, an orchestra, or a circus.
diff --git a/schema_models/periodical.py b/schema_models/periodical.py
index 1f83f831..e9a7ac5b 100644
--- a/schema_models/periodical.py
+++ b/schema_models/periodical.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work_series import CreativeWorkSeries
+@dataclass
class Periodical(CreativeWorkSeries):
"""
A publication in any medium issued in successive parts bearing numerical or chronological designations and intended to continue indefinitely, such as a magazine, scholarly journal, or newspaper.
diff --git a/schema_models/permit.py b/schema_models/permit.py
index 33e4b13d..2c7ecfea 100644
--- a/schema_models/permit.py
+++ b/schema_models/permit.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.organization import Organization
+@dataclass
class Permit(Intangible):
"""
A permit issued by an organization, e.g. a parking pass.
diff --git a/schema_models/person.py b/schema_models/person.py
index 8e860292..87c20154 100644
--- a/schema_models/person.py
+++ b/schema_models/person.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -11,6 +12,7 @@
from schema_models.thing import Thing
+@dataclass
class Person(Thing):
"""
A person (alive, dead, undead, or fictional).
diff --git a/schema_models/pet_store.py b/schema_models/pet_store.py
index 710a1e9a..2e593252 100644
--- a/schema_models/pet_store.py
+++ b/schema_models/pet_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class PetStore(Store):
"""
A pet store.
diff --git a/schema_models/pharmacy.py b/schema_models/pharmacy.py
index b8dbad1c..850648c4 100644
--- a/schema_models/pharmacy.py
+++ b/schema_models/pharmacy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_business import MedicalBusiness
+@dataclass
class Pharmacy(MedicalBusiness):
"""
A pharmacy or drugstore.
diff --git a/schema_models/photograph.py b/schema_models/photograph.py
index da01bd23..322c5e96 100644
--- a/schema_models/photograph.py
+++ b/schema_models/photograph.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Photograph(CreativeWork):
"""
A photograph.
diff --git a/schema_models/photograph_action.py b/schema_models/photograph_action.py
index 4fb496a2..d141d0aa 100644
--- a/schema_models/photograph_action.py
+++ b/schema_models/photograph_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.create_action import CreateAction
+@dataclass
class PhotographAction(CreateAction):
"""
The act of capturing still images of objects using a camera.
diff --git a/schema_models/physical_activity.py b/schema_models/physical_activity.py
index 63b76780..93e9b635 100644
--- a/schema_models/physical_activity.py
+++ b/schema_models/physical_activity.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -9,6 +10,7 @@
from schema_models.thing import Thing
+@dataclass
class PhysicalActivity(LifestyleModification):
"""
Any bodily activity that enhances or maintains physical fitness and overall health and wellness. Includes activity that is part of daily living and routine, structured exercise, and exercise prescribed as part of a medical treatment or recovery plan.
diff --git a/schema_models/physical_activity_category.py b/schema_models/physical_activity_category.py
index 89d0e02a..7bdbce51 100644
--- a/schema_models/physical_activity_category.py
+++ b/schema_models/physical_activity_category.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class PhysicalActivityCategory(Enumeration):
"""
Categories of physical activity, organized by physiologic classification.
diff --git a/schema_models/physical_exam.py b/schema_models/physical_exam.py
index 87230f28..6d54c542 100644
--- a/schema_models/physical_exam.py
+++ b/schema_models/physical_exam.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_enumeration import MedicalEnumeration
+@dataclass
class PhysicalExam(MedicalEnumeration):
"""
A type of physical examination of a patient performed by a physician.
diff --git a/schema_models/physical_therapy.py b/schema_models/physical_therapy.py
index 41116b57..452e56a4 100644
--- a/schema_models/physical_therapy.py
+++ b/schema_models/physical_therapy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_therapy import MedicalTherapy
+@dataclass
class PhysicalTherapy(MedicalTherapy):
"""
A process of progressive physical care and rehabilitation aimed at improving a health condition.
diff --git a/schema_models/physician.py b/schema_models/physician.py
index eed0e506..ee47b573 100644
--- a/schema_models/physician.py
+++ b/schema_models/physician.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.category_code import CategoryCode
@@ -6,6 +7,7 @@
from schema_models.medical_test import MedicalTest
+@dataclass
class Physician(MedicalOrganization):
"""
An individual physician or a physician's office considered as a [[MedicalOrganization]].
diff --git a/schema_models/physicians_office.py b/schema_models/physicians_office.py
index 9c267300..6cb5e32b 100644
--- a/schema_models/physicians_office.py
+++ b/schema_models/physicians_office.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.physician import Physician
+@dataclass
class PhysiciansOffice(Physician):
"""
A doctor's office or clinic.
diff --git a/schema_models/place.py b/schema_models/place.py
index d42433e9..a7975d7a 100644
--- a/schema_models/place.py
+++ b/schema_models/place.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.thing import Thing
+@dataclass
class Place(Thing):
"""
Entities that have a somewhat fixed, physical extension.
diff --git a/schema_models/place_of_worship.py b/schema_models/place_of_worship.py
index 181b23bd..972d3445 100644
--- a/schema_models/place_of_worship.py
+++ b/schema_models/place_of_worship.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class PlaceOfWorship(CivicStructure):
"""
Place of worship, such as a church, synagogue, or mosque.
diff --git a/schema_models/plan_action.py b/schema_models/plan_action.py
index 78749832..96bb5c85 100644
--- a/schema_models/plan_action.py
+++ b/schema_models/plan_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
from schema_models.organize_action import OrganizeAction
+@dataclass
class PlanAction(OrganizeAction):
"""
The act of planning the execution of an event/task/action/reservation/plan to a future date.
diff --git a/schema_models/play.py b/schema_models/play.py
index cd4e2e3d..0f492d36 100644
--- a/schema_models/play.py
+++ b/schema_models/play.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Play(CreativeWork):
"""
A play is a form of literature, usually consisting of dialogue between characters, intended for theatrical performance rather than just reading. Note: A performance of a Play would be a [[TheaterEvent]] or [[BroadcastEvent]] - the *Play* being the [[workPerformed]].
diff --git a/schema_models/play_action.py b/schema_models/play_action.py
index b2425aab..4d6a58ed 100644
--- a/schema_models/play_action.py
+++ b/schema_models/play_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
@@ -5,6 +6,7 @@
from schema_models.event import Event
+@dataclass
class PlayAction(Action):
"""
The act of playing/exercising/training/performing for enjoyment, leisure, recreation, competition or exercise.
diff --git a/schema_models/play_game_action.py b/schema_models/play_game_action.py
index b1fbed23..ac72b259 100644
--- a/schema_models/play_game_action.py
+++ b/schema_models/play_game_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.consume_action import ConsumeAction
from schema_models.game_availability_enumeration import GameAvailabilityEnumeration
+@dataclass
class PlayGameAction(ConsumeAction):
"""
The act of playing a video game.
diff --git a/schema_models/playground.py b/schema_models/playground.py
index 980cf970..53439c1c 100644
--- a/schema_models/playground.py
+++ b/schema_models/playground.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Playground(CivicStructure):
"""
A playground.
diff --git a/schema_models/plumber.py b/schema_models/plumber.py
index b549bac8..ae9e065f 100644
--- a/schema_models/plumber.py
+++ b/schema_models/plumber.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class Plumber(HomeAndConstructionBusiness):
"""
A plumbing service.
diff --git a/schema_models/podcast_episode.py b/schema_models/podcast_episode.py
index ad9740ee..61b682c1 100644
--- a/schema_models/podcast_episode.py
+++ b/schema_models/podcast_episode.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.episode import Episode
+@dataclass
class PodcastEpisode(Episode):
"""
A single episode of a podcast series.
diff --git a/schema_models/podcast_season.py b/schema_models/podcast_season.py
index f0a79c11..04b7fae6 100644
--- a/schema_models/podcast_season.py
+++ b/schema_models/podcast_season.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work_season import CreativeWorkSeason
+@dataclass
class PodcastSeason(CreativeWorkSeason):
"""
A single season of a podcast. Many podcasts do not break down into separate seasons. In that case, PodcastSeries should be used.
diff --git a/schema_models/podcast_series.py b/schema_models/podcast_series.py
index 8e5e7f03..ac718846 100644
--- a/schema_models/podcast_series.py
+++ b/schema_models/podcast_series.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.person import Person
+@dataclass
class PodcastSeries(CreativeWorkSeries):
"""
A podcast is an episodic series of digital audio or video files which a user can download and listen to.
diff --git a/schema_models/police_station.py b/schema_models/police_station.py
index 2977f053..0a03b2b6 100644
--- a/schema_models/police_station.py
+++ b/schema_models/police_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.emergency_service import EmergencyService
+@dataclass
class PoliceStation(EmergencyService):
"""
A police station.
diff --git a/schema_models/political_party.py b/schema_models/political_party.py
index 918c9c7d..4a27c4d6 100644
--- a/schema_models/political_party.py
+++ b/schema_models/political_party.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class PoliticalParty(Organization):
"""
Organization: Political Party.
diff --git a/schema_models/pond.py b/schema_models/pond.py
index af06cc72..9afabd72 100644
--- a/schema_models/pond.py
+++ b/schema_models/pond.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class Pond(BodyOfWater):
"""
A pond.
diff --git a/schema_models/post_office.py b/schema_models/post_office.py
index 5a7b622f..224a5995 100644
--- a/schema_models/post_office.py
+++ b/schema_models/post_office.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.government_office import GovernmentOffice
+@dataclass
class PostOffice(GovernmentOffice):
"""
A post office.
diff --git a/schema_models/postal_address.py b/schema_models/postal_address.py
index b7b42c5f..aaa2fc54 100644
--- a/schema_models/postal_address.py
+++ b/schema_models/postal_address.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.contact_point import ContactPoint
from schema_models.country import Country
+@dataclass
class PostalAddress(ContactPoint):
"""
The mailing address.
diff --git a/schema_models/postal_code_range_specification.py b/schema_models/postal_code_range_specification.py
index 571ca168..9375e56e 100644
--- a/schema_models/postal_code_range_specification.py
+++ b/schema_models/postal_code_range_specification.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
+@dataclass
class PostalCodeRangeSpecification(StructuredValue):
"""
Indicates a range of postal codes, usually defined as the set of valid codes between [[postalCodeBegin]] and [[postalCodeEnd]], inclusively.
diff --git a/schema_models/poster.py b/schema_models/poster.py
index 5bf4fdf2..5bf8ab75 100644
--- a/schema_models/poster.py
+++ b/schema_models/poster.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Poster(CreativeWork):
"""
A large, usually printed placard, bill, or announcement, often illustrated, that is posted to advertise or publicize something.
diff --git a/schema_models/pre_order_action.py b/schema_models/pre_order_action.py
index 2f3f45de..72fd6464 100644
--- a/schema_models/pre_order_action.py
+++ b/schema_models/pre_order_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.trade_action import TradeAction
+@dataclass
class PreOrderAction(TradeAction):
"""
An agent orders a (not yet released) object/product/service to be delivered/sent.
diff --git a/schema_models/prepend_action.py b/schema_models/prepend_action.py
index 4072c6fc..dcd140f6 100644
--- a/schema_models/prepend_action.py
+++ b/schema_models/prepend_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.insert_action import InsertAction
+@dataclass
class PrependAction(InsertAction):
"""
The act of inserting at the beginning if an ordered collection.
diff --git a/schema_models/preschool.py b/schema_models/preschool.py
index ec0bc5ac..be6104ce 100644
--- a/schema_models/preschool.py
+++ b/schema_models/preschool.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class Preschool(EducationalOrganization):
"""
A preschool.
diff --git a/schema_models/presentation_digital_document.py b/schema_models/presentation_digital_document.py
index 8610194f..f11f0a74 100644
--- a/schema_models/presentation_digital_document.py
+++ b/schema_models/presentation_digital_document.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.digital_document import DigitalDocument
+@dataclass
class PresentationDigitalDocument(DigitalDocument):
"""
A file containing slides or used for a presentation.
diff --git a/schema_models/prevention_indication.py b/schema_models/prevention_indication.py
index d73871a5..6dc2ccce 100644
--- a/schema_models/prevention_indication.py
+++ b/schema_models/prevention_indication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_indication import MedicalIndication
+@dataclass
class PreventionIndication(MedicalIndication):
"""
An indication for preventing an underlying condition, symptom, etc.
diff --git a/schema_models/price_component_type_enumeration.py b/schema_models/price_component_type_enumeration.py
index 92bcfe52..e138af41 100644
--- a/schema_models/price_component_type_enumeration.py
+++ b/schema_models/price_component_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class PriceComponentTypeEnumeration(Enumeration):
"""
Enumerates different price components that together make up the total price for an offered product.
diff --git a/schema_models/price_specification.py b/schema_models/price_specification.py
index 2a815d39..bd9dad30 100644
--- a/schema_models/price_specification.py
+++ b/schema_models/price_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class PriceSpecification(StructuredValue):
"""
A structured value representing a price or price range. Typically, only the subclasses of this type are used for markup. It is recommended to use [[MonetaryAmount]] to describe independent amounts of money such as a salary, credit card limits, etc.
diff --git a/schema_models/price_type_enumeration.py b/schema_models/price_type_enumeration.py
index 743fe7e1..f11577fd 100644
--- a/schema_models/price_type_enumeration.py
+++ b/schema_models/price_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class PriceTypeEnumeration(Enumeration):
"""
Enumerates different price types, for example list price, invoice price, and sale price.
diff --git a/schema_models/product.py b/schema_models/product.py
index 96249bb7..fe167698 100644
--- a/schema_models/product.py
+++ b/schema_models/product.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -6,6 +7,7 @@
from schema_models.thing import Thing
+@dataclass
class Product(Thing):
"""
Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online.
diff --git a/schema_models/product_collection.py b/schema_models/product_collection.py
index e02e2145..f8e2768c 100644
--- a/schema_models/product_collection.py
+++ b/schema_models/product_collection.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.product import Product
+@dataclass
class ProductCollection(Product):
"""
A set of products (either [[ProductGroup]]s or specific variants) that are listed together e.g. in an [[Offer]].
diff --git a/schema_models/product_group.py b/schema_models/product_group.py
index b8e20809..c6506b96 100644
--- a/schema_models/product_group.py
+++ b/schema_models/product_group.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.product import Product
+@dataclass
class ProductGroup(Product):
"""
A ProductGroup represents a group of [[Product]]s that vary only in certain well-described ways, such as by [[size]], [[color]], [[material]] etc.
diff --git a/schema_models/product_model.py b/schema_models/product_model.py
index 3bcd9dbb..c154132b 100644
--- a/schema_models/product_model.py
+++ b/schema_models/product_model.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.product import Product
+@dataclass
class ProductModel(Product):
"""
A datasheet or vendor specification of a product (in the sense of a prototypical description).
diff --git a/schema_models/product_return_enumeration.py b/schema_models/product_return_enumeration.py
index 50320914..82a8f5c7 100644
--- a/schema_models/product_return_enumeration.py
+++ b/schema_models/product_return_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ProductReturnEnumeration(Enumeration):
"""
ProductReturnEnumeration enumerates several kinds of product return policy. Note that this structure may not capture all aspects of the policy.
diff --git a/schema_models/product_return_policy.py b/schema_models/product_return_policy.py
index d12a5437..4b13edd8 100644
--- a/schema_models/product_return_policy.py
+++ b/schema_models/product_return_policy.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.intangible import Intangible
+@dataclass
class ProductReturnPolicy(Intangible):
"""
A ProductReturnPolicy provides information about product return policies associated with an [[Organization]] or [[Product]].
diff --git a/schema_models/professional_service.py b/schema_models/professional_service.py
index d5d88604..3f6c2ad6 100644
--- a/schema_models/professional_service.py
+++ b/schema_models/professional_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class ProfessionalService(LocalBusiness):
"""
Original definition: "provider of professional services."
diff --git a/schema_models/profile_page.py b/schema_models/profile_page.py
index 346052db..6697ea7c 100644
--- a/schema_models/profile_page.py
+++ b/schema_models/profile_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class ProfilePage(WebPage):
"""
Web page type: Profile page.
diff --git a/schema_models/program_membership.py b/schema_models/program_membership.py
index aeffe977..88228e0d 100644
--- a/schema_models/program_membership.py
+++ b/schema_models/program_membership.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class ProgramMembership(Intangible):
"""
Used to describe membership in a loyalty programs (e.g. "StarAliance"), traveler clubs (e.g. "AAA"), purchase clubs ("Safeway Club"), etc.
diff --git a/schema_models/project.py b/schema_models/project.py
index c4915eaa..f9db738d 100644
--- a/schema_models/project.py
+++ b/schema_models/project.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class Project(Organization):
"""
An enterprise (potentially individual but typically collaborative), planned to achieve a particular aim.
diff --git a/schema_models/pronounceable_text.py b/schema_models/pronounceable_text.py
index 82076f9f..676a7434 100644
--- a/schema_models/pronounceable_text.py
+++ b/schema_models/pronounceable_text.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.text import Text
+@dataclass
class PronounceableText(Text):
"""
Data type: PronounceableText.
diff --git a/schema_models/property.py b/schema_models/property.py
index aa174a99..3914fa95 100644
--- a/schema_models/property.py
+++ b/schema_models/property.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.enumeration import Enumeration
from schema_models.intangible import Intangible
+@dataclass
class Property(Intangible):
"""
A property, used to indicate attributes and relationships of some Thing; equivalent to rdf:Property.
diff --git a/schema_models/property_value.py b/schema_models/property_value.py
index 42e8dc14..e3e5b3d3 100644
--- a/schema_models/property_value.py
+++ b/schema_models/property_value.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -10,6 +11,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class PropertyValue(StructuredValue):
"""
A property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.
diff --git a/schema_models/property_value_specification.py b/schema_models/property_value_specification.py
index a7110ee0..a804cdaa 100644
--- a/schema_models/property_value_specification.py
+++ b/schema_models/property_value_specification.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
from schema_models.thing import Thing
+@dataclass
class PropertyValueSpecification(Intangible):
"""
A Property value specification.
diff --git a/schema_models/protein.py b/schema_models/protein.py
index d60fdf79..e9fc0318 100644
--- a/schema_models/protein.py
+++ b/schema_models/protein.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.bio_chem_entity import BioChemEntity
+@dataclass
class Protein(BioChemEntity):
"""
Protein is here used in its widest possible definition, as classes of amino acid based molecules. Amyloid-beta Protein in human (UniProt P05067), eukaryota (e.g. an OrthoDB group) or even a single molecule that one can point to are all of type :Protein. A protein can thus be a subclass of another protein, e.g. :Protein as a UniProt record can have multiple isoforms inside it which would also be :Protein. They can be imagined, synthetic, hypothetical or naturally occurring.
diff --git a/schema_models/psychological_treatment.py b/schema_models/psychological_treatment.py
index b9a54cfe..1b15f0d3 100644
--- a/schema_models/psychological_treatment.py
+++ b/schema_models/psychological_treatment.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.therapeutic_procedure import TherapeuticProcedure
+@dataclass
class PsychologicalTreatment(TherapeuticProcedure):
"""
A process of care relying upon counseling, dialogue and communication aimed at improving a mental health condition without use of drugs.
diff --git a/schema_models/public_swimming_pool.py b/schema_models/public_swimming_pool.py
index 8115123b..b4b38c2b 100644
--- a/schema_models/public_swimming_pool.py
+++ b/schema_models/public_swimming_pool.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class PublicSwimmingPool(SportsActivityLocation):
"""
A public swimming pool.
diff --git a/schema_models/public_toilet.py b/schema_models/public_toilet.py
index e00539c5..d52bdba2 100644
--- a/schema_models/public_toilet.py
+++ b/schema_models/public_toilet.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class PublicToilet(CivicStructure):
"""
A public toilet is a room or small building containing one or more toilets (and possibly also urinals) which is available for use by the general public, or by customers or employees of certain businesses.
diff --git a/schema_models/publication_event.py b/schema_models/publication_event.py
index e3d01bb8..76575323 100644
--- a/schema_models/publication_event.py
+++ b/schema_models/publication_event.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.event import Event
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class PublicationEvent(Event):
"""
A PublicationEvent corresponds indifferently to the event of publication for a CreativeWork of any type, e.g. a broadcast event, an on-demand event, a book/journal publication via a variety of delivery media.
diff --git a/schema_models/publication_issue.py b/schema_models/publication_issue.py
index d69305f0..87677316 100644
--- a/schema_models/publication_issue.py
+++ b/schema_models/publication_issue.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class PublicationIssue(CreativeWork):
"""
A part of a successively published publication such as a periodical or publication volume, often numbered, usually containing a grouping of works such as articles.
diff --git a/schema_models/publication_volume.py b/schema_models/publication_volume.py
index 47c685bd..dec13542 100644
--- a/schema_models/publication_volume.py
+++ b/schema_models/publication_volume.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class PublicationVolume(CreativeWork):
"""
A part of a successively published publication such as a periodical or multi-volume work, often numbered. It may represent a time span, such as a year.
diff --git a/schema_models/qa_page.py b/schema_models/qa_page.py
index f29f0373..b7e84758 100644
--- a/schema_models/qa_page.py
+++ b/schema_models/qa_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class QAPage(WebPage):
"""
A QAPage is a WebPage focussed on a specific Question and its Answer(s), e.g. in a question answering site or documenting Frequently Asked Questions (FAQs).
diff --git a/schema_models/qualitative_value.py b/schema_models/qualitative_value.py
index 91fae399..2f8b4899 100644
--- a/schema_models/qualitative_value.py
+++ b/schema_models/qualitative_value.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.defined_term import DefinedTerm
@@ -6,6 +7,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class QualitativeValue(Enumeration):
"""
A predefined value for a product characteristic, e.g. the power cord plug type 'US' or the garment sizes 'S', 'M', 'L', and 'XL'.
diff --git a/schema_models/quantitative_value.py b/schema_models/quantitative_value.py
index 37b43b74..9c141739 100644
--- a/schema_models/quantitative_value.py
+++ b/schema_models/quantitative_value.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -10,6 +11,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class QuantitativeValue(StructuredValue):
"""
A point value or interval for product characteristics and other purposes.
diff --git a/schema_models/quantitative_value_distribution.py b/schema_models/quantitative_value_distribution.py
index 7d9d50e4..9ece4293 100644
--- a/schema_models/quantitative_value_distribution.py
+++ b/schema_models/quantitative_value_distribution.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.duration import Duration
from schema_models.structured_value import StructuredValue
+@dataclass
class QuantitativeValueDistribution(StructuredValue):
"""
A statistical distribution of values.
diff --git a/schema_models/quantity.py b/schema_models/quantity.py
index e988c803..683cdd62 100644
--- a/schema_models/quantity.py
+++ b/schema_models/quantity.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class Quantity(Intangible):
"""
Quantities such as distance, time, mass, weight, etc. Particular instances of say Mass are entities like '3 kg' or '4 milligrams'.
diff --git a/schema_models/question.py b/schema_models/question.py
index 505185d1..267e0506 100644
--- a/schema_models/question.py
+++ b/schema_models/question.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.comment import Comment
@@ -5,6 +6,7 @@
from schema_models.item_list import ItemList
+@dataclass
class Question(Comment):
"""
A sub property of object. A question.
diff --git a/schema_models/quiz.py b/schema_models/quiz.py
index 930ffc9d..707f6699 100644
--- a/schema_models/quiz.py
+++ b/schema_models/quiz.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.learning_resource import LearningResource
+@dataclass
class Quiz(LearningResource):
"""
Quiz: A test of knowledge, skills and abilities.
diff --git a/schema_models/quotation.py b/schema_models/quotation.py
index 90c3b702..2b5d2976 100644
--- a/schema_models/quotation.py
+++ b/schema_models/quotation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class Quotation(CreativeWork):
"""
A quotation. Often but not necessarily from some written work, attributable to a real world author and - if associated with a fictional character - to any fictional Person. Use [[isBasedOn]] to link to source/origin. The [[recordedIn]] property can be used to reference a Quotation from an [[Event]].
diff --git a/schema_models/quote_action.py b/schema_models/quote_action.py
index 55e081c7..18b52322 100644
--- a/schema_models/quote_action.py
+++ b/schema_models/quote_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.trade_action import TradeAction
+@dataclass
class QuoteAction(TradeAction):
"""
An agent quotes/estimates/appraises an object/product/service with a price at a location/store.
diff --git a/schema_models/radiation_therapy.py b/schema_models/radiation_therapy.py
index 6d65da6e..f5d07dfc 100644
--- a/schema_models/radiation_therapy.py
+++ b/schema_models/radiation_therapy.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_therapy import MedicalTherapy
+@dataclass
class RadiationTherapy(MedicalTherapy):
"""
A process of care using radiation aimed at improving a health condition.
diff --git a/schema_models/radio_broadcast_service.py b/schema_models/radio_broadcast_service.py
index c247dc46..0a41bcda 100644
--- a/schema_models/radio_broadcast_service.py
+++ b/schema_models/radio_broadcast_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.broadcast_service import BroadcastService
+@dataclass
class RadioBroadcastService(BroadcastService):
"""
A delivery service through which radio content is provided via broadcast over the air or online.
diff --git a/schema_models/radio_channel.py b/schema_models/radio_channel.py
index 1edd8bfb..5d56c2e9 100644
--- a/schema_models/radio_channel.py
+++ b/schema_models/radio_channel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.broadcast_channel import BroadcastChannel
+@dataclass
class RadioChannel(BroadcastChannel):
"""
A unique instance of a radio BroadcastService on a CableOrSatelliteService lineup.
diff --git a/schema_models/radio_clip.py b/schema_models/radio_clip.py
index e904183a..46716264 100644
--- a/schema_models/radio_clip.py
+++ b/schema_models/radio_clip.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.clip import Clip
+@dataclass
class RadioClip(Clip):
"""
A short radio program or a segment/part of a radio program.
diff --git a/schema_models/radio_episode.py b/schema_models/radio_episode.py
index 876595d2..21a25c72 100644
--- a/schema_models/radio_episode.py
+++ b/schema_models/radio_episode.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.episode import Episode
+@dataclass
class RadioEpisode(Episode):
"""
A radio episode which can be part of a series or season.
diff --git a/schema_models/radio_season.py b/schema_models/radio_season.py
index 1cba6f44..cf71203f 100644
--- a/schema_models/radio_season.py
+++ b/schema_models/radio_season.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work_season import CreativeWorkSeason
+@dataclass
class RadioSeason(CreativeWorkSeason):
"""
Season dedicated to radio broadcast and associated online delivery.
diff --git a/schema_models/radio_series.py b/schema_models/radio_series.py
index a5c6aa43..8e61e78d 100644
--- a/schema_models/radio_series.py
+++ b/schema_models/radio_series.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -12,6 +13,7 @@
from schema_models.video_object import VideoObject
+@dataclass
class RadioSeries(CreativeWorkSeries):
"""
CreativeWorkSeries dedicated to radio broadcast and associated online delivery.
diff --git a/schema_models/radio_station.py b/schema_models/radio_station.py
index 838baf16..30ad0916 100644
--- a/schema_models/radio_station.py
+++ b/schema_models/radio_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class RadioStation(LocalBusiness):
"""
A radio station.
diff --git a/schema_models/rating.py b/schema_models/rating.py
index 1e7aef82..9453b5e3 100644
--- a/schema_models/rating.py
+++ b/schema_models/rating.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
@@ -5,6 +6,7 @@
from schema_models.person import Person
+@dataclass
class Rating(Intangible):
"""
A rating is an evaluation on a numeric scale, such as 1 to 5 stars.
diff --git a/schema_models/react_action.py b/schema_models/react_action.py
index 41e59abe..904e1e01 100644
--- a/schema_models/react_action.py
+++ b/schema_models/react_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.assess_action import AssessAction
+@dataclass
class ReactAction(AssessAction):
"""
The act of responding instinctively and emotionally to an object, expressing a sentiment.
diff --git a/schema_models/read_action.py b/schema_models/read_action.py
index 20b2ac21..2432eabe 100644
--- a/schema_models/read_action.py
+++ b/schema_models/read_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class ReadAction(ConsumeAction):
"""
The act of consuming written content.
diff --git a/schema_models/real_estate_agent.py b/schema_models/real_estate_agent.py
index 9cd3b1aa..d0478fc4 100644
--- a/schema_models/real_estate_agent.py
+++ b/schema_models/real_estate_agent.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class RealEstateAgent(LocalBusiness):
"""
A sub property of participant. The real estate agent involved in the action.
diff --git a/schema_models/real_estate_listing.py b/schema_models/real_estate_listing.py
index 8bdb86eb..9e697e30 100644
--- a/schema_models/real_estate_listing.py
+++ b/schema_models/real_estate_listing.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -6,6 +7,7 @@
from schema_models.web_page import WebPage
+@dataclass
class RealEstateListing(WebPage):
"""
A [[RealEstateListing]] is a listing that describes one or more real-estate [[Offer]]s (whose [[businessFunction]] is typically to lease out, or to sell).
diff --git a/schema_models/receive_action.py b/schema_models/receive_action.py
index 1376bd04..bb7e7f62 100644
--- a/schema_models/receive_action.py
+++ b/schema_models/receive_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -7,6 +8,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class ReceiveAction(TransferAction):
"""
The act of physically/electronically taking delivery of an object that has been transferred from an origin to a destination. Reciprocal of SendAction.
diff --git a/schema_models/recipe.py b/schema_models/recipe.py
index 0f265b57..3527126a 100644
--- a/schema_models/recipe.py
+++ b/schema_models/recipe.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -9,6 +10,7 @@
from schema_models.restricted_diet import RestrictedDiet
+@dataclass
class Recipe(HowTo):
"""
A sub property of instrument. The recipe/instructions used to perform the action.
diff --git a/schema_models/recommendation.py b/schema_models/recommendation.py
index 8795adf9..b9da1244 100644
--- a/schema_models/recommendation.py
+++ b/schema_models/recommendation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.thing import Thing
+@dataclass
class Recommendation(Review):
"""
[[Recommendation]] is a type of [[Review]] that suggests or proposes something as the best option or best course of action. Recommendations may be for products or services, or other concrete things, as in the case of a ranked list or product guide. A [[Guide]] may list multiple recommendations for different categories. For example, in a [[Guide]] about which TVs to buy, the author may have several [[Recommendation]]s.
diff --git a/schema_models/recommended_dose_schedule.py b/schema_models/recommended_dose_schedule.py
index 22c78976..c7d71ab6 100644
--- a/schema_models/recommended_dose_schedule.py
+++ b/schema_models/recommended_dose_schedule.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.dose_schedule import DoseSchedule
+@dataclass
class RecommendedDoseSchedule(DoseSchedule):
"""
A recommended dosing schedule for a drug or supplement as prescribed or recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity.
diff --git a/schema_models/recycling_center.py b/schema_models/recycling_center.py
index d668bd7c..f8d0654e 100644
--- a/schema_models/recycling_center.py
+++ b/schema_models/recycling_center.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class RecyclingCenter(LocalBusiness):
"""
A recycling center.
diff --git a/schema_models/refund_type_enumeration.py b/schema_models/refund_type_enumeration.py
index 118063fc..275f0abc 100644
--- a/schema_models/refund_type_enumeration.py
+++ b/schema_models/refund_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class RefundTypeEnumeration(Enumeration):
"""
Enumerates several kinds of product return refund types.
diff --git a/schema_models/register_action.py b/schema_models/register_action.py
index 4c91ce62..799782b3 100644
--- a/schema_models/register_action.py
+++ b/schema_models/register_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.interact_action import InteractAction
+@dataclass
class RegisterAction(InteractAction):
"""
The act of registering to be a user of a service, product or web page.
diff --git a/schema_models/reject_action.py b/schema_models/reject_action.py
index df28caf1..737b71f2 100644
--- a/schema_models/reject_action.py
+++ b/schema_models/reject_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.allocate_action import AllocateAction
+@dataclass
class RejectAction(AllocateAction):
"""
The act of rejecting to/adopting an object.
diff --git a/schema_models/rent_action.py b/schema_models/rent_action.py
index 21e38a91..5c85b1af 100644
--- a/schema_models/rent_action.py
+++ b/schema_models/rent_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
@@ -5,6 +6,7 @@
from schema_models.trade_action import TradeAction
+@dataclass
class RentAction(TradeAction):
"""
The act of giving money in return for temporary use, but not ownership, of an object such as a vehicle or property. For example, an agent rents a property from a landlord in exchange for a periodic payment.
diff --git a/schema_models/rental_car_reservation.py b/schema_models/rental_car_reservation.py
index 6a2d7d46..fca46f98 100644
--- a/schema_models/rental_car_reservation.py
+++ b/schema_models/rental_car_reservation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.reservation import Reservation
+@dataclass
class RentalCarReservation(Reservation):
"""
A reservation for a rental car.
diff --git a/schema_models/repayment_specification.py b/schema_models/repayment_specification.py
index 119530fe..cfbc694a 100644
--- a/schema_models/repayment_specification.py
+++ b/schema_models/repayment_specification.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.monetary_amount import MonetaryAmount
from schema_models.structured_value import StructuredValue
+@dataclass
class RepaymentSpecification(StructuredValue):
"""
A structured value representing repayment.
diff --git a/schema_models/replace_action.py b/schema_models/replace_action.py
index 34a06231..e558d2cf 100644
--- a/schema_models/replace_action.py
+++ b/schema_models/replace_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.thing import Thing
from schema_models.update_action import UpdateAction
+@dataclass
class ReplaceAction(UpdateAction):
"""
The act of editing a recipient by replacing an old object with a new object.
diff --git a/schema_models/reply_action.py b/schema_models/reply_action.py
index cb1c70b9..494b3b20 100644
--- a/schema_models/reply_action.py
+++ b/schema_models/reply_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.comment import Comment
from schema_models.communicate_action import CommunicateAction
+@dataclass
class ReplyAction(CommunicateAction):
"""
The act of responding to a question/message asked/sent by the object. Related to [[AskAction]].
diff --git a/schema_models/report.py b/schema_models/report.py
index e80e7572..7ab0b68d 100644
--- a/schema_models/report.py
+++ b/schema_models/report.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.article import Article
+@dataclass
class Report(Article):
"""
A Report generated by governmental or non-governmental organization.
diff --git a/schema_models/reportage_news_article.py b/schema_models/reportage_news_article.py
index 07651bc0..92fff5ee 100644
--- a/schema_models/reportage_news_article.py
+++ b/schema_models/reportage_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class ReportageNewsArticle(NewsArticle):
"""
The [[ReportageNewsArticle]] type is a subtype of [[NewsArticle]] representing
diff --git a/schema_models/reported_dose_schedule.py b/schema_models/reported_dose_schedule.py
index cabe2ab1..1c54faa7 100644
--- a/schema_models/reported_dose_schedule.py
+++ b/schema_models/reported_dose_schedule.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.dose_schedule import DoseSchedule
+@dataclass
class ReportedDoseSchedule(DoseSchedule):
"""
A patient-reported or observed dosing schedule for a drug or supplement.
diff --git a/schema_models/research_organization.py b/schema_models/research_organization.py
index 0a5e0fdd..426c97fe 100644
--- a/schema_models/research_organization.py
+++ b/schema_models/research_organization.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class ResearchOrganization(Organization):
"""
A Research Organization (e.g. scientific institute, research company).
diff --git a/schema_models/research_project.py b/schema_models/research_project.py
index 0c71988d..50131ec9 100644
--- a/schema_models/research_project.py
+++ b/schema_models/research_project.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.project import Project
+@dataclass
class ResearchProject(Project):
"""
A Research project.
diff --git a/schema_models/researcher.py b/schema_models/researcher.py
index 44525e56..318551bb 100644
--- a/schema_models/researcher.py
+++ b/schema_models/researcher.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.audience import Audience
+@dataclass
class Researcher(Audience):
"""
Researchers.
diff --git a/schema_models/reservation.py b/schema_models/reservation.py
index a43434ac..cae7dd6a 100644
--- a/schema_models/reservation.py
+++ b/schema_models/reservation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -7,6 +8,7 @@
from schema_models.thing import Thing
+@dataclass
class Reservation(Intangible):
"""
Describes a reservation for travel, dining or an event. Some reservations require tickets.
diff --git a/schema_models/reservation_package.py b/schema_models/reservation_package.py
index cf7cc139..a2175e28 100644
--- a/schema_models/reservation_package.py
+++ b/schema_models/reservation_package.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.reservation import Reservation
+@dataclass
class ReservationPackage(Reservation):
"""
A group of multiple reservations with common values for all sub-reservations.
diff --git a/schema_models/reservation_status_type.py b/schema_models/reservation_status_type.py
index a32ca905..777c629c 100644
--- a/schema_models/reservation_status_type.py
+++ b/schema_models/reservation_status_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.status_enumeration import StatusEnumeration
+@dataclass
class ReservationStatusType(StatusEnumeration):
"""
Enumerated status values for Reservation.
diff --git a/schema_models/reserve_action.py b/schema_models/reserve_action.py
index f58efaa0..220ee548 100644
--- a/schema_models/reserve_action.py
+++ b/schema_models/reserve_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.plan_action import PlanAction
+@dataclass
class ReserveAction(PlanAction):
"""
Reserving a concrete object.
diff --git a/schema_models/reservoir.py b/schema_models/reservoir.py
index d90a5d57..dd0dd320 100644
--- a/schema_models/reservoir.py
+++ b/schema_models/reservoir.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class Reservoir(BodyOfWater):
"""
A reservoir of water, typically an artificially created lake, like the Lake Kariba reservoir.
diff --git a/schema_models/residence.py b/schema_models/residence.py
index 098d32b6..c981d371 100644
--- a/schema_models/residence.py
+++ b/schema_models/residence.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.floor_plan import FloorPlan
from schema_models.place import Place
+@dataclass
class Residence(Place):
"""
The place where a person lives.
diff --git a/schema_models/resort.py b/schema_models/resort.py
index 7ad678c2..dc2a2318 100644
--- a/schema_models/resort.py
+++ b/schema_models/resort.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class Resort(LodgingBusiness):
"""
A resort is a place used for relaxation or recreation, attracting visitors for holidays or vacations. Resorts are places, towns or sometimes commercial establishments operated by a single company (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Resort).
diff --git a/schema_models/restaurant.py b/schema_models/restaurant.py
index c218b7b7..756387eb 100644
--- a/schema_models/restaurant.py
+++ b/schema_models/restaurant.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class Restaurant(FoodEstablishment):
"""
A restaurant.
diff --git a/schema_models/restricted_diet.py b/schema_models/restricted_diet.py
index b08aac83..1d97a8f8 100644
--- a/schema_models/restricted_diet.py
+++ b/schema_models/restricted_diet.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class RestrictedDiet(Enumeration):
"""
A diet restricted to certain foods or preparations for cultural, religious, health or lifestyle reasons.
diff --git a/schema_models/resume_action.py b/schema_models/resume_action.py
index 29ab7c2f..09932a08 100644
--- a/schema_models/resume_action.py
+++ b/schema_models/resume_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.control_action import ControlAction
+@dataclass
class ResumeAction(ControlAction):
"""
The act of resuming a device or application which was formerly paused (e.g. resume music playback or resume a timer).
diff --git a/schema_models/return_action.py b/schema_models/return_action.py
index 293e556f..2f5bc6a5 100644
--- a/schema_models/return_action.py
+++ b/schema_models/return_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -7,6 +8,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class ReturnAction(TransferAction):
"""
The act of returning to the origin that which was previously received (concrete objects) or taken (ownership).
diff --git a/schema_models/return_fees_enumeration.py b/schema_models/return_fees_enumeration.py
index a1d9c367..df248e52 100644
--- a/schema_models/return_fees_enumeration.py
+++ b/schema_models/return_fees_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ReturnFeesEnumeration(Enumeration):
"""
Enumerates several kinds of policies for product return fees.
diff --git a/schema_models/return_label_source_enumeration.py b/schema_models/return_label_source_enumeration.py
index 8f285cc5..65074d0c 100644
--- a/schema_models/return_label_source_enumeration.py
+++ b/schema_models/return_label_source_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ReturnLabelSourceEnumeration(Enumeration):
"""
Enumerates several types of return labels for product returns.
diff --git a/schema_models/return_method_enumeration.py b/schema_models/return_method_enumeration.py
index d131a5ef..0c91b6e8 100644
--- a/schema_models/return_method_enumeration.py
+++ b/schema_models/return_method_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class ReturnMethodEnumeration(Enumeration):
"""
Enumerates several types of product return methods.
diff --git a/schema_models/review.py b/schema_models/review.py
index ef8fc9a4..04c570ae 100644
--- a/schema_models/review.py
+++ b/schema_models/review.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
@@ -8,6 +9,7 @@
from schema_models.web_content import WebContent
+@dataclass
class Review(CreativeWork):
"""
A review of an item - for example, of a restaurant, movie, or store.
diff --git a/schema_models/review_action.py b/schema_models/review_action.py
index 9e1de462..41e2f8a9 100644
--- a/schema_models/review_action.py
+++ b/schema_models/review_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.assess_action import AssessAction
from schema_models.review import Review
+@dataclass
class ReviewAction(AssessAction):
"""
The act of producing a balanced opinion about the object for an audience. An agent reviews an object with participants resulting in a review.
diff --git a/schema_models/review_news_article.py b/schema_models/review_news_article.py
index 77033d73..667f7c5c 100644
--- a/schema_models/review_news_article.py
+++ b/schema_models/review_news_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.news_article import NewsArticle
+@dataclass
class ReviewNewsArticle(NewsArticle):
"""
A [[NewsArticle]] and [[CriticReview]] providing a professional critic's assessment of a service, product, performance, or artistic or literary work.
diff --git a/schema_models/river_body_of_water.py b/schema_models/river_body_of_water.py
index 5b3beac9..f8fe83af 100644
--- a/schema_models/river_body_of_water.py
+++ b/schema_models/river_body_of_water.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class RiverBodyOfWater(BodyOfWater):
"""
A river (for example, the broad majestic Shannon).
diff --git a/schema_models/role.py b/schema_models/role.py
index 8701a171..445def6f 100644
--- a/schema_models/role.py
+++ b/schema_models/role.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -6,6 +7,7 @@
from schema_models.intangible import Intangible
+@dataclass
class Role(Intangible):
"""
Represents additional information about a relationship or property. For example a Role can be used to say that a 'member' role linking some SportsTeam to a player occurred during a particular time period. Or that a Person's 'actor' role in a Movie was for some particular characterName. Such properties can be attached to a Role entity, which is then associated with the main entities using ordinary properties like 'member' or 'actor'.
diff --git a/schema_models/roofing_contractor.py b/schema_models/roofing_contractor.py
index e6f36ec2..8da09827 100644
--- a/schema_models/roofing_contractor.py
+++ b/schema_models/roofing_contractor.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.home_and_construction_business import HomeAndConstructionBusiness
+@dataclass
class RoofingContractor(HomeAndConstructionBusiness):
"""
A roofing contractor.
diff --git a/schema_models/room.py b/schema_models/room.py
index 023e83e7..f36684d4 100644
--- a/schema_models/room.py
+++ b/schema_models/room.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.accommodation import Accommodation
+@dataclass
class Room(Accommodation):
"""
A room is a distinguishable space within a structure, usually separated from other spaces by interior walls (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Room).
diff --git a/schema_models/rsvp_action.py b/schema_models/rsvp_action.py
index cb032610..7f028939 100644
--- a/schema_models/rsvp_action.py
+++ b/schema_models/rsvp_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.comment import Comment
@@ -5,6 +6,7 @@
from schema_models.rsvp_response_type import RsvpResponseType
+@dataclass
class RsvpAction(InformAction):
"""
The act of notifying an event organizer as to whether you expect to attend the event.
diff --git a/schema_models/rsvp_response_type.py b/schema_models/rsvp_response_type.py
index f32ddcb6..d67bd0af 100644
--- a/schema_models/rsvp_response_type.py
+++ b/schema_models/rsvp_response_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class RsvpResponseType(Enumeration):
"""
RsvpResponseType is an enumeration type whose instances represent responding to an RSVP request.
diff --git a/schema_models/rv_park.py b/schema_models/rv_park.py
index 3fe370de..24aaa3ff 100644
--- a/schema_models/rv_park.py
+++ b/schema_models/rv_park.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class RVPark(CivicStructure):
"""
A place offering space for "Recreational Vehicles", Caravans, mobile homes and the like.
diff --git a/schema_models/sale_event.py b/schema_models/sale_event.py
index b50a4f03..07aeb97d 100644
--- a/schema_models/sale_event.py
+++ b/schema_models/sale_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class SaleEvent(Event):
"""
Event type: Sales event.
diff --git a/schema_models/satirical_article.py b/schema_models/satirical_article.py
index e9f1fc53..b1858d92 100644
--- a/schema_models/satirical_article.py
+++ b/schema_models/satirical_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.article import Article
+@dataclass
class SatiricalArticle(Article):
"""
An [[Article]] whose content is primarily [[satirical]](https://en.wikipedia.org/wiki/Satire) in nature, i.e. unlikely to be literally true. A satirical article is sometimes but not necessarily also a [[NewsArticle]]. [[ScholarlyArticle]]s are also sometimes satirized.
diff --git a/schema_models/schedule.py b/schema_models/schedule.py
index 4e8d18f5..27b359c4 100644
--- a/schema_models/schedule.py
+++ b/schema_models/schedule.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from datetime import date, datetime, time
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class Schedule(Intangible):
"""
A schedule defines a repeating time period used to describe a regularly occurring [[Event]]. At a minimum a schedule will specify [[repeatFrequency]] which describes the interval between occurrences of the event. Additional information can be provided to specify the schedule more precisely.
diff --git a/schema_models/schedule_action.py b/schema_models/schedule_action.py
index b1be80e4..542466c3 100644
--- a/schema_models/schedule_action.py
+++ b/schema_models/schedule_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.plan_action import PlanAction
+@dataclass
class ScheduleAction(PlanAction):
"""
Scheduling future actions, events, or tasks.
diff --git a/schema_models/scholarly_article.py b/schema_models/scholarly_article.py
index e62a386f..b0715732 100644
--- a/schema_models/scholarly_article.py
+++ b/schema_models/scholarly_article.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.article import Article
+@dataclass
class ScholarlyArticle(Article):
"""
A scholarly article.
diff --git a/schema_models/school.py b/schema_models/school.py
index 91fc2fd0..2a28bc23 100644
--- a/schema_models/school.py
+++ b/schema_models/school.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.educational_organization import EducationalOrganization
+@dataclass
class School(EducationalOrganization):
"""
A school.
diff --git a/schema_models/school_district.py b/schema_models/school_district.py
index 35655275..1ff919ae 100644
--- a/schema_models/school_district.py
+++ b/schema_models/school_district.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.administrative_area import AdministrativeArea
+@dataclass
class SchoolDistrict(AdministrativeArea):
"""
A School District is an administrative area for the administration of schools.
diff --git a/schema_models/screening_event.py b/schema_models/screening_event.py
index 303554c9..5de8071a 100644
--- a/schema_models/screening_event.py
+++ b/schema_models/screening_event.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.event import Event
+@dataclass
class ScreeningEvent(Event):
"""
A screening of a movie or other video.
diff --git a/schema_models/sculpture.py b/schema_models/sculpture.py
index 2f5d2248..71098a2a 100644
--- a/schema_models/sculpture.py
+++ b/schema_models/sculpture.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Sculpture(CreativeWork):
"""
A piece of sculpture.
diff --git a/schema_models/sea_body_of_water.py b/schema_models/sea_body_of_water.py
index baf789a6..2dda31bf 100644
--- a/schema_models/sea_body_of_water.py
+++ b/schema_models/sea_body_of_water.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class SeaBodyOfWater(BodyOfWater):
"""
A sea (for example, the Caspian sea).
diff --git a/schema_models/search_action.py b/schema_models/search_action.py
index 4c959ee7..3998e819 100644
--- a/schema_models/search_action.py
+++ b/schema_models/search_action.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
+@dataclass
class SearchAction(Action):
"""
The act of searching for an object.
diff --git a/schema_models/search_rescue_organization.py b/schema_models/search_rescue_organization.py
index 19ff41af..2c25dcb6 100644
--- a/schema_models/search_rescue_organization.py
+++ b/schema_models/search_rescue_organization.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class SearchRescueOrganization(Organization):
"""
A Search and Rescue organization of some kind.
diff --git a/schema_models/search_results_page.py b/schema_models/search_results_page.py
index 1fbf1327..f12fe4c3 100644
--- a/schema_models/search_results_page.py
+++ b/schema_models/search_results_page.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page import WebPage
+@dataclass
class SearchResultsPage(WebPage):
"""
Web page type: Search results page.
diff --git a/schema_models/season.py b/schema_models/season.py
index b3280c89..46e44d36 100644
--- a/schema_models/season.py
+++ b/schema_models/season.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Season(CreativeWork):
"""
A season in a media series.
diff --git a/schema_models/seat.py b/schema_models/seat.py
index e39eccb3..25b735e7 100644
--- a/schema_models/seat.py
+++ b/schema_models/seat.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class Seat(Intangible):
"""
Used to describe a seat, such as a reserved seat in an event reservation.
diff --git a/schema_models/seek_to_action.py b/schema_models/seek_to_action.py
index acbd74ba..edec3135 100644
--- a/schema_models/seek_to_action.py
+++ b/schema_models/seek_to_action.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
+@dataclass
class SeekToAction(Action):
"""
This is the [[Action]] of navigating to a specific [[startOffset]] timestamp within a [[VideoObject]], typically represented with a URL template structure.
diff --git a/schema_models/self_storage.py b/schema_models/self_storage.py
index e6d6dbaf..7c6b5744 100644
--- a/schema_models/self_storage.py
+++ b/schema_models/self_storage.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class SelfStorage(LocalBusiness):
"""
A self-storage facility.
diff --git a/schema_models/sell_action.py b/schema_models/sell_action.py
index 6701ab3b..d8120b71 100644
--- a/schema_models/sell_action.py
+++ b/schema_models/sell_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.organization import Organization
@@ -6,6 +7,7 @@
from schema_models.warranty_promise import WarrantyPromise
+@dataclass
class SellAction(TradeAction):
"""
The act of taking money from a buyer in exchange for goods or services rendered. An agent sells an object, product, or service to a buyer for a price. Reciprocal of BuyAction.
diff --git a/schema_models/send_action.py b/schema_models/send_action.py
index 0741b439..d002d061 100644
--- a/schema_models/send_action.py
+++ b/schema_models/send_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -8,6 +9,7 @@
from schema_models.transfer_action import TransferAction
+@dataclass
class SendAction(TransferAction):
"""
The act of physically/electronically dispatching an object for transfer from an origin to a destination. Related actions:
diff --git a/schema_models/series.py b/schema_models/series.py
index d3377760..ed70afcf 100644
--- a/schema_models/series.py
+++ b/schema_models/series.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class Series(Intangible):
"""
A Series in schema.org is a group of related items, typically but not necessarily of the same kind. See also [[CreativeWorkSeries]], [[EventSeries]].
diff --git a/schema_models/service.py b/schema_models/service.py
index 7d85836f..90461312 100644
--- a/schema_models/service.py
+++ b/schema_models/service.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -13,6 +14,7 @@
from schema_models.thing import Thing
+@dataclass
class Service(Intangible):
"""
A service provided by an organization, e.g. delivery service, print services, etc.
diff --git a/schema_models/service_channel.py b/schema_models/service_channel.py
index 2065a240..9f59551b 100644
--- a/schema_models/service_channel.py
+++ b/schema_models/service_channel.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.place import Place
+@dataclass
class ServiceChannel(Intangible):
"""
A means for accessing a service, e.g. a government office location, web site, or phone number.
diff --git a/schema_models/share_action.py b/schema_models/share_action.py
index 8e60fe01..f7f684d5 100644
--- a/schema_models/share_action.py
+++ b/schema_models/share_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.communicate_action import CommunicateAction
+@dataclass
class ShareAction(CommunicateAction):
"""
The act of distributing content to people for their amusement or edification.
diff --git a/schema_models/sheet_music.py b/schema_models/sheet_music.py
index d2ea51be..96f052e6 100644
--- a/schema_models/sheet_music.py
+++ b/schema_models/sheet_music.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class SheetMusic(CreativeWork):
"""
Printed music, as opposed to performed or recorded music.
diff --git a/schema_models/shipping_delivery_time.py b/schema_models/shipping_delivery_time.py
index 74306cfe..f2661f7b 100644
--- a/schema_models/shipping_delivery_time.py
+++ b/schema_models/shipping_delivery_time.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import time
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class ShippingDeliveryTime(StructuredValue):
"""
ShippingDeliveryTime provides various pieces of information about delivery times for shipping.
diff --git a/schema_models/shipping_rate_settings.py b/schema_models/shipping_rate_settings.py
index 99d1db50..223ae707 100644
--- a/schema_models/shipping_rate_settings.py
+++ b/schema_models/shipping_rate_settings.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.defined_region import DefinedRegion
@@ -5,6 +6,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class ShippingRateSettings(StructuredValue):
"""
A ShippingRateSettings represents re-usable pieces of shipping information. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of an [[OfferShippingDetails]]. Several occurrences can be published, distinguished and matched (i.e. identified/referenced) by their different values for [[shippingLabel]].
diff --git a/schema_models/shoe_store.py b/schema_models/shoe_store.py
index fa68fa2b..9f04db7c 100644
--- a/schema_models/shoe_store.py
+++ b/schema_models/shoe_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ShoeStore(Store):
"""
A shoe store.
diff --git a/schema_models/shopping_center.py b/schema_models/shopping_center.py
index 3e0b0a20..cc772bd5 100644
--- a/schema_models/shopping_center.py
+++ b/schema_models/shopping_center.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class ShoppingCenter(LocalBusiness):
"""
A shopping center or mall.
diff --git a/schema_models/short_story.py b/schema_models/short_story.py
index a55003f7..62f5d146 100644
--- a/schema_models/short_story.py
+++ b/schema_models/short_story.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class ShortStory(CreativeWork):
"""
Short story or tale. A brief work of literature, usually written in narrative prose.
diff --git a/schema_models/single_family_residence.py b/schema_models/single_family_residence.py
index 0268c941..30ddc8e5 100644
--- a/schema_models/single_family_residence.py
+++ b/schema_models/single_family_residence.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.house import House
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class SingleFamilyResidence(House):
"""
Residence type: Single-family home.
diff --git a/schema_models/site_navigation_element.py b/schema_models/site_navigation_element.py
index e64c9d0a..2a77e327 100644
--- a/schema_models/site_navigation_element.py
+++ b/schema_models/site_navigation_element.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class SiteNavigationElement(WebPageElement):
"""
A navigation element of the page.
diff --git a/schema_models/size_group_enumeration.py b/schema_models/size_group_enumeration.py
index 0342c8ad..0bc76a63 100644
--- a/schema_models/size_group_enumeration.py
+++ b/schema_models/size_group_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class SizeGroupEnumeration(Enumeration):
"""
Enumerates common size groups for various product categories.
diff --git a/schema_models/size_specification.py b/schema_models/size_specification.py
index e33a39e2..868784f1 100644
--- a/schema_models/size_specification.py
+++ b/schema_models/size_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.gender_type import GenderType
@@ -7,6 +8,7 @@
from schema_models.size_system_enumeration import SizeSystemEnumeration
+@dataclass
class SizeSpecification(QualitativeValue):
"""
Size related properties of a product, typically a size code ([[name]]) and optionally a [[sizeSystem]], [[sizeGroup]], and product measurements ([[hasMeasurement]]). In addition, the intended audience can be defined through [[suggestedAge]], [[suggestedGender]], and suggested body measurements ([[suggestedMeasurement]]).
diff --git a/schema_models/size_system_enumeration.py b/schema_models/size_system_enumeration.py
index 294f4763..27ccce63 100644
--- a/schema_models/size_system_enumeration.py
+++ b/schema_models/size_system_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class SizeSystemEnumeration(Enumeration):
"""
Enumerates common size systems for different categories of products, for example "EN-13402" or "UK" for wearables or "Imperial" for screws.
diff --git a/schema_models/ski_resort.py b/schema_models/ski_resort.py
index 7fa10b97..65f79ee1 100644
--- a/schema_models/ski_resort.py
+++ b/schema_models/ski_resort.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class SkiResort(SportsActivityLocation):
"""
A ski resort.
diff --git a/schema_models/social_event.py b/schema_models/social_event.py
index 9a37443b..37e6d410 100644
--- a/schema_models/social_event.py
+++ b/schema_models/social_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class SocialEvent(Event):
"""
Event type: Social event.
diff --git a/schema_models/social_media_posting.py b/schema_models/social_media_posting.py
index 50cadb43..f2a1b391 100644
--- a/schema_models/social_media_posting.py
+++ b/schema_models/social_media_posting.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.article import Article
from schema_models.creative_work import CreativeWork
+@dataclass
class SocialMediaPosting(Article):
"""
A post to a social media platform, including blog posts, tweets, Facebook posts, etc.
diff --git a/schema_models/software_application.py b/schema_models/software_application.py
index a2f04e0f..89e96019 100644
--- a/schema_models/software_application.py
+++ b/schema_models/software_application.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.creative_work import CreativeWork
+@dataclass
class SoftwareApplication(CreativeWork):
"""
A software application.
diff --git a/schema_models/software_source_code.py b/schema_models/software_source_code.py
index 7e159b3a..9c8b2fff 100644
--- a/schema_models/software_source_code.py
+++ b/schema_models/software_source_code.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -7,6 +8,7 @@
from schema_models.software_application import SoftwareApplication
+@dataclass
class SoftwareSourceCode(CreativeWork):
"""
Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates.
diff --git a/schema_models/solve_math_action.py b/schema_models/solve_math_action.py
index 51fbeb27..44f59e5f 100644
--- a/schema_models/solve_math_action.py
+++ b/schema_models/solve_math_action.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
+@dataclass
class SolveMathAction(Action):
"""
The action that takes in a math expression and directs users to a page potentially capable of solving/simplifying that expression.
diff --git a/schema_models/some_products.py b/schema_models/some_products.py
index d18632e1..8fb2bb07 100644
--- a/schema_models/some_products.py
+++ b/schema_models/some_products.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.product import Product
+@dataclass
class SomeProducts(Product):
"""
A placeholder for multiple similar products of the same kind.
diff --git a/schema_models/speakable_specification.py b/schema_models/speakable_specification.py
index 29940572..5cdeafc4 100644
--- a/schema_models/speakable_specification.py
+++ b/schema_models/speakable_specification.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.css_selector_type import CssSelectorType
from schema_models.intangible import Intangible
+@dataclass
class SpeakableSpecification(Intangible):
"""
A SpeakableSpecification indicates (typically via [[xpath]] or [[cssSelector]]) sections of a document that are highlighted as particularly [[speakable]]. Instances of this type are expected to be used primarily as values of the [[speakable]] property.
diff --git a/schema_models/special_announcement.py b/schema_models/special_announcement.py
index 79a678c3..2c66b1b5 100644
--- a/schema_models/special_announcement.py
+++ b/schema_models/special_announcement.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -11,6 +12,7 @@
from schema_models.web_content import WebContent
+@dataclass
class SpecialAnnouncement(CreativeWork):
"""
A SpecialAnnouncement combines a simple date-stamped textual information update
diff --git a/schema_models/specialty.py b/schema_models/specialty.py
index 2e2f1218..8658162e 100644
--- a/schema_models/specialty.py
+++ b/schema_models/specialty.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class Specialty(Enumeration):
"""
Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort.
diff --git a/schema_models/sporting_goods_store.py b/schema_models/sporting_goods_store.py
index abcf83c3..c34861fa 100644
--- a/schema_models/sporting_goods_store.py
+++ b/schema_models/sporting_goods_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class SportingGoodsStore(Store):
"""
A sporting goods store.
diff --git a/schema_models/sports_activity_location.py b/schema_models/sports_activity_location.py
index e5f580ba..e192622d 100644
--- a/schema_models/sports_activity_location.py
+++ b/schema_models/sports_activity_location.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class SportsActivityLocation(LocalBusiness):
"""
A sub property of location. The sports activity location where this action occurred.
diff --git a/schema_models/sports_club.py b/schema_models/sports_club.py
index 75509d9d..4aca9269 100644
--- a/schema_models/sports_club.py
+++ b/schema_models/sports_club.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class SportsClub(SportsActivityLocation):
"""
A sports club.
diff --git a/schema_models/sports_event.py b/schema_models/sports_event.py
index b34d42e7..cf28d8a3 100644
--- a/schema_models/sports_event.py
+++ b/schema_models/sports_event.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class SportsEvent(Event):
"""
Event type: Sports event.
diff --git a/schema_models/sports_organization.py b/schema_models/sports_organization.py
index 10c9ddc9..046d33b0 100644
--- a/schema_models/sports_organization.py
+++ b/schema_models/sports_organization.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.organization import Organization
+@dataclass
class SportsOrganization(Organization):
"""
Represents the collection of all sports organizations, including sports teams, governing bodies, and sports associations.
diff --git a/schema_models/sports_team.py b/schema_models/sports_team.py
index 4f940a57..6faa8219 100644
--- a/schema_models/sports_team.py
+++ b/schema_models/sports_team.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.gender_type import GenderType
@@ -5,6 +6,7 @@
from schema_models.sports_organization import SportsOrganization
+@dataclass
class SportsTeam(SportsOrganization):
"""
A sub property of participant. The sports team that participated on this action.
diff --git a/schema_models/spreadsheet_digital_document.py b/schema_models/spreadsheet_digital_document.py
index 62e63651..474ef2bf 100644
--- a/schema_models/spreadsheet_digital_document.py
+++ b/schema_models/spreadsheet_digital_document.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.digital_document import DigitalDocument
+@dataclass
class SpreadsheetDigitalDocument(DigitalDocument):
"""
A spreadsheet file.
diff --git a/schema_models/stadium_or_arena.py b/schema_models/stadium_or_arena.py
index 6f84fbee..a87ae3bc 100644
--- a/schema_models/stadium_or_arena.py
+++ b/schema_models/stadium_or_arena.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class StadiumOrArena(CivicStructure):
"""
A stadium.
diff --git a/schema_models/state.py b/schema_models/state.py
index 8d2264d3..a392588f 100644
--- a/schema_models/state.py
+++ b/schema_models/state.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.administrative_area import AdministrativeArea
+@dataclass
class State(AdministrativeArea):
"""
A state or province of a country.
diff --git a/schema_models/statement.py b/schema_models/statement.py
index 5b9158b2..44eb6441 100644
--- a/schema_models/statement.py
+++ b/schema_models/statement.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class Statement(CreativeWork):
"""
A statement about something, for example a fun or interesting fact. If known, the main entity this statement is about can be indicated using mainEntity. For more formal claims (e.g. in Fact Checking), consider using [[Claim]] instead. Use the [[text]] property to capture the text of the statement.
diff --git a/schema_models/statistical_population.py b/schema_models/statistical_population.py
index cef1c577..47a885d4 100644
--- a/schema_models/statistical_population.py
+++ b/schema_models/statistical_population.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.intangible import Intangible
+@dataclass
class StatisticalPopulation(Intangible):
"""
A StatisticalPopulation is a set of instances of a certain given type that satisfy some set of constraints. The property [[populationType]] is used to specify the type. Any property that can be used on instances of that type can appear on the statistical population. For example, a [[StatisticalPopulation]] representing all [[Person]]s with a [[homeLocation]] of East Podunk California would be described by applying the appropriate [[homeLocation]] and [[populationType]] properties to a [[StatisticalPopulation]] item that stands for that set of people.
diff --git a/schema_models/statistical_variable.py b/schema_models/statistical_variable.py
index 0ae19b0e..6b74aa70 100644
--- a/schema_models/statistical_variable.py
+++ b/schema_models/statistical_variable.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -10,6 +11,7 @@
from schema_models.property import Property
+@dataclass
class StatisticalVariable(ConstraintNode):
"""
[[StatisticalVariable]] represents any type of statistical metric that can be measured at a place and time. The usage pattern for [[StatisticalVariable]] is typically expressed using [[Observation]] with an explicit [[populationType]], which is a type, typically drawn from Schema.org. Each [[StatisticalVariable]] is marked as a [[ConstraintNode]], meaning that some properties (those listed using [[constraintProperty]]) serve in this setting solely to define the statistical variable rather than literally describe a specific person, place or thing. For example, a [[StatisticalVariable]] Median_Height_Person_Female representing the median height of women, could be written as follows: the population type is [[Person]]; the measuredProperty [[height]]; the [[statType]] [[median]]; the [[gender]] [[Female]]. It is important to note that there are many kinds of scientific quantitative observation which are not fully, perfectly or unambiguously described following this pattern, or with solely Schema.org terminology. The approach taken here is designed to allow partial, incremental or minimal description of [[StatisticalVariable]]s, and the use of detailed sets of entity and property IDs from external repositories. The [[measurementMethod]], [[unitCode]] and [[unitText]] properties can also be used to clarify the specific nature and notation of an observed measurement.
diff --git a/schema_models/status_enumeration.py b/schema_models/status_enumeration.py
index 6648c9b2..2ff28bb2 100644
--- a/schema_models/status_enumeration.py
+++ b/schema_models/status_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class StatusEnumeration(Enumeration):
"""
Lists or enumerations dealing with status types.
diff --git a/schema_models/steering_position_value.py b/schema_models/steering_position_value.py
index 713a34da..b25266cd 100644
--- a/schema_models/steering_position_value.py
+++ b/schema_models/steering_position_value.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.qualitative_value import QualitativeValue
+@dataclass
class SteeringPositionValue(QualitativeValue):
"""
A value indicating a steering position.
diff --git a/schema_models/store.py b/schema_models/store.py
index dbcc3a67..672bcf04 100644
--- a/schema_models/store.py
+++ b/schema_models/store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class Store(LocalBusiness):
"""
A retail good store.
diff --git a/schema_models/structured_value.py b/schema_models/structured_value.py
index 3f71bff7..819e3ea5 100644
--- a/schema_models/structured_value.py
+++ b/schema_models/structured_value.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class StructuredValue(Intangible):
"""
Structured values are used when the value of a property has a more complex structure than simply being a textual value or a reference to another thing.
diff --git a/schema_models/stupid_type.py b/schema_models/stupid_type.py
index 03a1a3c7..4a53dc48 100644
--- a/schema_models/stupid_type.py
+++ b/schema_models/stupid_type.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.thing import Thing
+@dataclass
class StupidType(Thing):
"""
A StupidType for testing.
diff --git a/schema_models/subscribe_action.py b/schema_models/subscribe_action.py
index eb25fef3..91f800ab 100644
--- a/schema_models/subscribe_action.py
+++ b/schema_models/subscribe_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.interact_action import InteractAction
+@dataclass
class SubscribeAction(InteractAction):
"""
The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates pushed to.
diff --git a/schema_models/substance.py b/schema_models/substance.py
index b975a2b1..19d957b1 100644
--- a/schema_models/substance.py
+++ b/schema_models/substance.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.medical_entity import MedicalEntity
+@dataclass
class Substance(MedicalEntity):
"""
Any matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical.
diff --git a/schema_models/subway_station.py b/schema_models/subway_station.py
index d95bb937..e0cb0a65 100644
--- a/schema_models/subway_station.py
+++ b/schema_models/subway_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class SubwayStation(CivicStructure):
"""
A subway station.
diff --git a/schema_models/suite.py b/schema_models/suite.py
index 19fdc2ab..c75a0ff6 100644
--- a/schema_models/suite.py
+++ b/schema_models/suite.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.accommodation import Accommodation
@@ -5,6 +6,7 @@
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class Suite(Accommodation):
"""
A suite in a hotel or other public accommodation, denotes a class of luxury accommodations, the key feature of which is multiple rooms (source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Suite_(hotel)).
diff --git a/schema_models/superficial_anatomy.py b/schema_models/superficial_anatomy.py
index b9225a61..9abc3d4f 100644
--- a/schema_models/superficial_anatomy.py
+++ b/schema_models/superficial_anatomy.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_system import AnatomicalSystem
@@ -5,6 +6,7 @@
from schema_models.medical_entity import MedicalEntity
+@dataclass
class SuperficialAnatomy(MedicalEntity):
"""
Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structure becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure).
diff --git a/schema_models/surgical_procedure.py b/schema_models/surgical_procedure.py
index 42db0860..1445a1f8 100644
--- a/schema_models/surgical_procedure.py
+++ b/schema_models/surgical_procedure.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_procedure import MedicalProcedure
+@dataclass
class SurgicalProcedure(MedicalProcedure):
"""
A medical procedure involving an incision with instruments; performed for diagnose, or therapeutic purposes.
diff --git a/schema_models/suspend_action.py b/schema_models/suspend_action.py
index 94a05a15..9b35775c 100644
--- a/schema_models/suspend_action.py
+++ b/schema_models/suspend_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.control_action import ControlAction
+@dataclass
class SuspendAction(ControlAction):
"""
The act of momentarily pausing a device or application (e.g. pause music playback or pause a timer).
diff --git a/schema_models/syllabus.py b/schema_models/syllabus.py
index 0e9cfc12..13a95603 100644
--- a/schema_models/syllabus.py
+++ b/schema_models/syllabus.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.learning_resource import LearningResource
+@dataclass
class Syllabus(LearningResource):
"""
A syllabus that describes the material covered in a course, often with several such sections per [[Course]] so that a distinct [[timeRequired]] can be provided for that section of the [[Course]].
diff --git a/schema_models/synagogue.py b/schema_models/synagogue.py
index cd8b940b..2bdd8d33 100644
--- a/schema_models/synagogue.py
+++ b/schema_models/synagogue.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.place_of_worship import PlaceOfWorship
+@dataclass
class Synagogue(PlaceOfWorship):
"""
A synagogue.
diff --git a/schema_models/table.py b/schema_models/table.py
index 00644dcd..dfe01a4d 100644
--- a/schema_models/table.py
+++ b/schema_models/table.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class Table(WebPageElement):
"""
A table on a Web page.
diff --git a/schema_models/take_action.py b/schema_models/take_action.py
index 2126990b..2db0ea69 100644
--- a/schema_models/take_action.py
+++ b/schema_models/take_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.transfer_action import TransferAction
+@dataclass
class TakeAction(TransferAction):
"""
The act of gaining ownership of an object from an origin. Reciprocal of GiveAction.
diff --git a/schema_models/tattoo_parlor.py b/schema_models/tattoo_parlor.py
index b2019b93..a328342d 100644
--- a/schema_models/tattoo_parlor.py
+++ b/schema_models/tattoo_parlor.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.health_and_beauty_business import HealthAndBeautyBusiness
+@dataclass
class TattooParlor(HealthAndBeautyBusiness):
"""
A tattoo parlor.
diff --git a/schema_models/taxi.py b/schema_models/taxi.py
index efda8567..5b17621f 100644
--- a/schema_models/taxi.py
+++ b/schema_models/taxi.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.service import Service
+@dataclass
class Taxi(Service):
"""
A taxi.
diff --git a/schema_models/taxi_reservation.py b/schema_models/taxi_reservation.py
index 56a4ff0c..e95ff7d1 100644
--- a/schema_models/taxi_reservation.py
+++ b/schema_models/taxi_reservation.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime
from typing import List, Optional, Union
@@ -5,6 +6,7 @@
from schema_models.reservation import Reservation
+@dataclass
class TaxiReservation(Reservation):
"""
A reservation for a taxi.
diff --git a/schema_models/taxi_service.py b/schema_models/taxi_service.py
index 9b0ca11c..95cc529b 100644
--- a/schema_models/taxi_service.py
+++ b/schema_models/taxi_service.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.service import Service
+@dataclass
class TaxiService(Service):
"""
A service for a vehicle for hire with a driver for local travel. Fares are usually calculated based on distance traveled.
diff --git a/schema_models/taxi_stand.py b/schema_models/taxi_stand.py
index 500e5246..f92f2152 100644
--- a/schema_models/taxi_stand.py
+++ b/schema_models/taxi_stand.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class TaxiStand(CivicStructure):
"""
A taxi stand.
diff --git a/schema_models/taxon.py b/schema_models/taxon.py
index 26ada6ef..fd46fba9 100644
--- a/schema_models/taxon.py
+++ b/schema_models/taxon.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -5,6 +6,7 @@
from schema_models.thing import Thing
+@dataclass
class Taxon(Thing):
"""
A set of organisms asserted to represent a natural cohesive biological unit.
diff --git a/schema_models/tech_article.py b/schema_models/tech_article.py
index 1ec00d5e..54b1fa4f 100644
--- a/schema_models/tech_article.py
+++ b/schema_models/tech_article.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.article import Article
+@dataclass
class TechArticle(Article):
"""
A technical article - Example: How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc.
diff --git a/schema_models/television_channel.py b/schema_models/television_channel.py
index 447653d8..1798cd8b 100644
--- a/schema_models/television_channel.py
+++ b/schema_models/television_channel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.broadcast_channel import BroadcastChannel
+@dataclass
class TelevisionChannel(BroadcastChannel):
"""
A unique instance of a television BroadcastService on a CableOrSatelliteService lineup.
diff --git a/schema_models/television_station.py b/schema_models/television_station.py
index 8a923a8c..373051ef 100644
--- a/schema_models/television_station.py
+++ b/schema_models/television_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class TelevisionStation(LocalBusiness):
"""
A television station.
diff --git a/schema_models/tennis_complex.py b/schema_models/tennis_complex.py
index dc13e2b5..25fcf550 100644
--- a/schema_models/tennis_complex.py
+++ b/schema_models/tennis_complex.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.sports_activity_location import SportsActivityLocation
+@dataclass
class TennisComplex(SportsActivityLocation):
"""
A tennis complex.
diff --git a/schema_models/text_digital_document.py b/schema_models/text_digital_document.py
index dca1e2b3..65cb1404 100644
--- a/schema_models/text_digital_document.py
+++ b/schema_models/text_digital_document.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.digital_document import DigitalDocument
+@dataclass
class TextDigitalDocument(DigitalDocument):
"""
A file composed primarily of text.
diff --git a/schema_models/text_object.py b/schema_models/text_object.py
index cd9bc738..f2d1ac6c 100644
--- a/schema_models/text_object.py
+++ b/schema_models/text_object.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_object import MediaObject
+@dataclass
class TextObject(MediaObject):
"""
A text file. The text can be unformatted or contain markup, html, etc.
diff --git a/schema_models/theater_event.py b/schema_models/theater_event.py
index 13a44517..9e807de2 100644
--- a/schema_models/theater_event.py
+++ b/schema_models/theater_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class TheaterEvent(Event):
"""
Event type: Theater performance.
diff --git a/schema_models/theater_group.py b/schema_models/theater_group.py
index ab0508f5..c00b1580 100644
--- a/schema_models/theater_group.py
+++ b/schema_models/theater_group.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.performing_group import PerformingGroup
+@dataclass
class TheaterGroup(PerformingGroup):
"""
A theater group or company, for example, the Royal Shakespeare Company or Druid Theatre.
diff --git a/schema_models/therapeutic_procedure.py b/schema_models/therapeutic_procedure.py
index ed3b9e0e..e07f2089 100644
--- a/schema_models/therapeutic_procedure.py
+++ b/schema_models/therapeutic_procedure.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.dose_schedule import DoseSchedule
@@ -6,6 +7,7 @@
from schema_models.medical_procedure import MedicalProcedure
+@dataclass
class TherapeuticProcedure(MedicalProcedure):
"""
A medical procedure intended primarily for therapeutic purposes, aimed at improving a health condition.
diff --git a/schema_models/thesis.py b/schema_models/thesis.py
index a88d24b1..b2f4bf02 100644
--- a/schema_models/thesis.py
+++ b/schema_models/thesis.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class Thesis(CreativeWork):
"""
A thesis or dissertation document submitted in support of candidature for an academic degree or professional qualification.
diff --git a/schema_models/ticket.py b/schema_models/ticket.py
index 3361db45..af7b47e7 100644
--- a/schema_models/ticket.py
+++ b/schema_models/ticket.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.seat import Seat
+@dataclass
class Ticket(Intangible):
"""
Used to describe a ticket to an event, a flight, a bus ride, etc.
diff --git a/schema_models/tie_action.py b/schema_models/tie_action.py
index ae2d666e..d51a3a29 100644
--- a/schema_models/tie_action.py
+++ b/schema_models/tie_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.achieve_action import AchieveAction
+@dataclass
class TieAction(AchieveAction):
"""
The act of reaching a draw in a competitive activity.
diff --git a/schema_models/tier_benefit_enumeration.py b/schema_models/tier_benefit_enumeration.py
index b13898b2..41a3df08 100644
--- a/schema_models/tier_benefit_enumeration.py
+++ b/schema_models/tier_benefit_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class TierBenefitEnumeration(Enumeration):
"""
An enumeration of possible benefits as part of a loyalty (members) program.
diff --git a/schema_models/tip_action.py b/schema_models/tip_action.py
index 9d305aea..aba63a59 100644
--- a/schema_models/tip_action.py
+++ b/schema_models/tip_action.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -7,6 +8,7 @@
from schema_models.trade_action import TradeAction
+@dataclass
class TipAction(TradeAction):
"""
The act of giving money voluntarily to a beneficiary in recognition of services rendered.
diff --git a/schema_models/tire_shop.py b/schema_models/tire_shop.py
index 7ae4da22..83abd572 100644
--- a/schema_models/tire_shop.py
+++ b/schema_models/tire_shop.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class TireShop(Store):
"""
A tire shop.
diff --git a/schema_models/tourist_attraction.py b/schema_models/tourist_attraction.py
index 5a8d8fee..457602d4 100644
--- a/schema_models/tourist_attraction.py
+++ b/schema_models/tourist_attraction.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
@@ -5,6 +6,7 @@
from schema_models.place import Place
+@dataclass
class TouristAttraction(Place):
"""
A tourist attraction. In principle any Thing can be a [[TouristAttraction]], from a [[Mountain]] and [[LandmarksOrHistoricalBuildings]] to a [[LocalBusiness]]. This Type can be used on its own to describe a general [[TouristAttraction]], or be used as an [[additionalType]] to add tourist attraction properties to any other type. (See examples below)
diff --git a/schema_models/tourist_destination.py b/schema_models/tourist_destination.py
index cb0d05d1..f2dd67da 100644
--- a/schema_models/tourist_destination.py
+++ b/schema_models/tourist_destination.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
from schema_models.place import Place
+@dataclass
class TouristDestination(Place):
"""
A tourist destination. In principle any [[Place]] can be a [[TouristDestination]] from a [[City]], Region or [[Country]] to an [[AmusementPark]] or [[Hotel]]. This Type can be used on its own to describe a general [[TouristDestination]], or be used as an [[additionalType]] to add tourist relevant properties to any other [[Place]]. A [[TouristDestination]] is defined as a [[Place]] that contains, or is colocated with, one or more [[TouristAttraction]]s, often linked by a similar theme or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines Destination (main destination of a tourism trip) as the place visited that is central to the decision to take the trip.
diff --git a/schema_models/tourist_information_center.py b/schema_models/tourist_information_center.py
index 5132a059..1eb8af2e 100644
--- a/schema_models/tourist_information_center.py
+++ b/schema_models/tourist_information_center.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class TouristInformationCenter(LocalBusiness):
"""
A tourist information center.
diff --git a/schema_models/tourist_trip.py b/schema_models/tourist_trip.py
index b4b756b4..e51c2702 100644
--- a/schema_models/tourist_trip.py
+++ b/schema_models/tourist_trip.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.audience import Audience
from schema_models.trip import Trip
+@dataclass
class TouristTrip(Trip):
"""
A tourist trip. A created itinerary of visits to one or more places of interest ([[TouristAttraction]]/[[TouristDestination]]) often linked by a similar theme, geographic area, or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines tourism trip as the Trip taken by visitors.
diff --git a/schema_models/toy_store.py b/schema_models/toy_store.py
index 691e1725..fcafd8fa 100644
--- a/schema_models/toy_store.py
+++ b/schema_models/toy_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class ToyStore(Store):
"""
A toy store.
diff --git a/schema_models/track_action.py b/schema_models/track_action.py
index 53f30724..b8e7a604 100644
--- a/schema_models/track_action.py
+++ b/schema_models/track_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.delivery_method import DeliveryMethod
from schema_models.find_action import FindAction
+@dataclass
class TrackAction(FindAction):
"""
An agent tracks an object for updates.
diff --git a/schema_models/trade_action.py b/schema_models/trade_action.py
index 1774630b..8b24a3db 100644
--- a/schema_models/trade_action.py
+++ b/schema_models/trade_action.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
+@dataclass
class TradeAction(Action):
"""
The act of participating in an exchange of goods and services for monetary compensation. An agent trades an object, product or service with a participant in exchange for a one time or periodic payment.
diff --git a/schema_models/train_reservation.py b/schema_models/train_reservation.py
index ae376043..28316bce 100644
--- a/schema_models/train_reservation.py
+++ b/schema_models/train_reservation.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.reservation import Reservation
+@dataclass
class TrainReservation(Reservation):
"""
A reservation for train travel.
diff --git a/schema_models/train_station.py b/schema_models/train_station.py
index bdadffc4..78afc7f1 100644
--- a/schema_models/train_station.py
+++ b/schema_models/train_station.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class TrainStation(CivicStructure):
"""
A train station.
diff --git a/schema_models/train_trip.py b/schema_models/train_trip.py
index f270f3db..fa268790 100644
--- a/schema_models/train_trip.py
+++ b/schema_models/train_trip.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.trip import Trip
+@dataclass
class TrainTrip(Trip):
"""
A trip on a commercial train line.
diff --git a/schema_models/transfer_action.py b/schema_models/transfer_action.py
index efd5a34a..547c3515 100644
--- a/schema_models/transfer_action.py
+++ b/schema_models/transfer_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
from schema_models.place import Place
+@dataclass
class TransferAction(Action):
"""
The act of transferring/moving (abstract or concrete) animate or inanimate objects from one place to another.
diff --git a/schema_models/travel_action.py b/schema_models/travel_action.py
index 2a48f452..5fa3edf5 100644
--- a/schema_models/travel_action.py
+++ b/schema_models/travel_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.distance import Distance
from schema_models.move_action import MoveAction
+@dataclass
class TravelAction(MoveAction):
"""
The act of traveling from a fromLocation to a destination by a specified mode of transport, optionally with participants.
diff --git a/schema_models/travel_agency.py b/schema_models/travel_agency.py
index 202534bb..8513b127 100644
--- a/schema_models/travel_agency.py
+++ b/schema_models/travel_agency.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.local_business import LocalBusiness
+@dataclass
class TravelAgency(LocalBusiness):
"""
A travel agency.
diff --git a/schema_models/treatment_indication.py b/schema_models/treatment_indication.py
index 7ed09686..659219b0 100644
--- a/schema_models/treatment_indication.py
+++ b/schema_models/treatment_indication.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_indication import MedicalIndication
+@dataclass
class TreatmentIndication(MedicalIndication):
"""
An indication for treating an underlying condition, symptom, etc.
diff --git a/schema_models/trip.py b/schema_models/trip.py
index 2c4d2566..5a585303 100644
--- a/schema_models/trip.py
+++ b/schema_models/trip.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import datetime, time
from typing import List, Optional, Union
@@ -8,6 +9,7 @@
from schema_models.place import Place
+@dataclass
class Trip(Intangible):
"""
A trip or journey. An itinerary of visits to one or more places.
diff --git a/schema_models/tv_clip.py b/schema_models/tv_clip.py
index a5bc3144..4b849c6d 100644
--- a/schema_models/tv_clip.py
+++ b/schema_models/tv_clip.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.clip import Clip
from schema_models.tv_series import TVSeries
+@dataclass
class TVClip(Clip):
"""
A short TV program or a segment/part of a TV program.
diff --git a/schema_models/tv_episode.py b/schema_models/tv_episode.py
index 9a21025b..9655aa6d 100644
--- a/schema_models/tv_episode.py
+++ b/schema_models/tv_episode.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.tv_series import TVSeries
+@dataclass
class TVEpisode(Episode):
"""
A TV episode which can be part of a series or season.
diff --git a/schema_models/tv_season.py b/schema_models/tv_season.py
index 138359c0..3e73a99a 100644
--- a/schema_models/tv_season.py
+++ b/schema_models/tv_season.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.tv_series import TVSeries
+@dataclass
class TVSeason(CreativeWork):
"""
Season dedicated to TV broadcast and associated online delivery.
diff --git a/schema_models/tv_series.py b/schema_models/tv_series.py
index 997f1b99..f565a46e 100644
--- a/schema_models/tv_series.py
+++ b/schema_models/tv_series.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.person import Person
+@dataclass
class TVSeries(CreativeWork):
"""
CreativeWorkSeries dedicated to TV broadcast and associated online delivery.
diff --git a/schema_models/type_and_quantity_node.py b/schema_models/type_and_quantity_node.py
index 6aa0c0b6..93e5bb60 100644
--- a/schema_models/type_and_quantity_node.py
+++ b/schema_models/type_and_quantity_node.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -8,6 +9,7 @@
from schema_models.structured_value import StructuredValue
+@dataclass
class TypeAndQuantityNode(StructuredValue):
"""
A structured value indicating the quantity, unit of measurement, and business function of goods included in a bundle offer.
diff --git a/schema_models/uk_nonprofit_type.py b/schema_models/uk_nonprofit_type.py
index a72ba5cf..c8b44ef8 100644
--- a/schema_models/uk_nonprofit_type.py
+++ b/schema_models/uk_nonprofit_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.nonprofit_type import NonprofitType
+@dataclass
class UKNonprofitType(NonprofitType):
"""
UKNonprofitType: Non-profit organization type originating from the United Kingdom.
diff --git a/schema_models/un_register_action.py b/schema_models/un_register_action.py
index 738108df..1a703167 100644
--- a/schema_models/un_register_action.py
+++ b/schema_models/un_register_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.interact_action import InteractAction
+@dataclass
class UnRegisterAction(InteractAction):
"""
The act of un-registering from a service.
diff --git a/schema_models/unit_price_specification.py b/schema_models/unit_price_specification.py
index 05f442c8..45951a07 100644
--- a/schema_models/unit_price_specification.py
+++ b/schema_models/unit_price_specification.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -9,6 +10,7 @@
from schema_models.quantitative_value import QuantitativeValue
+@dataclass
class UnitPriceSpecification(PriceSpecification):
"""
The price asked for a given offer by the respective organization or person.
diff --git a/schema_models/update_action.py b/schema_models/update_action.py
index c5e59220..61edc554 100644
--- a/schema_models/update_action.py
+++ b/schema_models/update_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.action import Action
from schema_models.thing import Thing
+@dataclass
class UpdateAction(Action):
"""
The act of managing by changing/editing the state of the object.
diff --git a/schema_models/us_nonprofit_type.py b/schema_models/us_nonprofit_type.py
index 1df23890..c18bbf9c 100644
--- a/schema_models/us_nonprofit_type.py
+++ b/schema_models/us_nonprofit_type.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.nonprofit_type import NonprofitType
+@dataclass
class USNonprofitType(NonprofitType):
"""
USNonprofitType: Non-profit organization type originating from the United States.
diff --git a/schema_models/use_action.py b/schema_models/use_action.py
index dce2e542..b2b4b40f 100644
--- a/schema_models/use_action.py
+++ b/schema_models/use_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class UseAction(ConsumeAction):
"""
The act of applying an object to its intended purpose.
diff --git a/schema_models/user_blocks.py b/schema_models/user_blocks.py
index 83614c2d..e07972e8 100644
--- a/schema_models/user_blocks.py
+++ b/schema_models/user_blocks.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserBlocks(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_checkins.py b/schema_models/user_checkins.py
index 97bec76f..90bc9e8a 100644
--- a/schema_models/user_checkins.py
+++ b/schema_models/user_checkins.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserCheckins(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_comments.py b/schema_models/user_comments.py
index dac9852b..33a139ab 100644
--- a/schema_models/user_comments.py
+++ b/schema_models/user_comments.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date, datetime
from typing import List, Optional, Union
@@ -9,6 +10,7 @@
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserComments(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_downloads.py b/schema_models/user_downloads.py
index fe277900..9caed70b 100644
--- a/schema_models/user_downloads.py
+++ b/schema_models/user_downloads.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserDownloads(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_interaction.py b/schema_models/user_interaction.py
index ee22c174..003b8ee9 100644
--- a/schema_models/user_interaction.py
+++ b/schema_models/user_interaction.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class UserInteraction(Event):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_likes.py b/schema_models/user_likes.py
index 29a7927a..445d27ce 100644
--- a/schema_models/user_likes.py
+++ b/schema_models/user_likes.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserLikes(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_page_visits.py b/schema_models/user_page_visits.py
index a9334ea7..3f96a2aa 100644
--- a/schema_models/user_page_visits.py
+++ b/schema_models/user_page_visits.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserPageVisits(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_plays.py b/schema_models/user_plays.py
index 34b23943..aaec8232 100644
--- a/schema_models/user_plays.py
+++ b/schema_models/user_plays.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserPlays(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_plus_ones.py b/schema_models/user_plus_ones.py
index 21349967..0a769834 100644
--- a/schema_models/user_plus_ones.py
+++ b/schema_models/user_plus_ones.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserPlusOnes(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/user_review.py b/schema_models/user_review.py
index 695cddd8..adbb44b2 100644
--- a/schema_models/user_review.py
+++ b/schema_models/user_review.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.review import Review
+@dataclass
class UserReview(Review):
"""
A review created by an end-user (e.g. consumer, purchaser, attendee etc.), in contrast with [[CriticReview]].
diff --git a/schema_models/user_tweets.py b/schema_models/user_tweets.py
index 0f2c6677..ac8f32dd 100644
--- a/schema_models/user_tweets.py
+++ b/schema_models/user_tweets.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.user_interaction import UserInteraction
+@dataclass
class UserTweets(UserInteraction):
"""
UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].
diff --git a/schema_models/vacation_rental.py b/schema_models/vacation_rental.py
index 439f9bc9..9c08b0d6 100644
--- a/schema_models/vacation_rental.py
+++ b/schema_models/vacation_rental.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.lodging_business import LodgingBusiness
+@dataclass
class VacationRental(LodgingBusiness):
"""
A kind of lodging business that focuses on renting single properties for limited time.
diff --git a/schema_models/vehicle.py b/schema_models/vehicle.py
index d76cd2be..fdbe680b 100644
--- a/schema_models/vehicle.py
+++ b/schema_models/vehicle.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -6,6 +7,7 @@
from schema_models.product import Product
+@dataclass
class Vehicle(Product):
"""
A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.
diff --git a/schema_models/vein.py b/schema_models/vein.py
index 807bf33c..a9eae681 100644
--- a/schema_models/vein.py
+++ b/schema_models/vein.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.anatomical_structure import AnatomicalStructure
@@ -5,6 +6,7 @@
from schema_models.vessel import Vessel
+@dataclass
class Vein(Vessel):
"""
A type of blood vessel that specifically carries blood to the heart.
diff --git a/schema_models/vessel.py b/schema_models/vessel.py
index 20ee7833..90982d69 100644
--- a/schema_models/vessel.py
+++ b/schema_models/vessel.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.anatomical_structure import AnatomicalStructure
+@dataclass
class Vessel(AnatomicalStructure):
"""
A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body.
diff --git a/schema_models/veterinary_care.py b/schema_models/veterinary_care.py
index 0c6172e4..980204a3 100644
--- a/schema_models/veterinary_care.py
+++ b/schema_models/veterinary_care.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_organization import MedicalOrganization
+@dataclass
class VeterinaryCare(MedicalOrganization):
"""
A vet's office.
diff --git a/schema_models/video_gallery.py b/schema_models/video_gallery.py
index 37ef5233..8053b6ea 100644
--- a/schema_models/video_gallery.py
+++ b/schema_models/video_gallery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.media_gallery import MediaGallery
+@dataclass
class VideoGallery(MediaGallery):
"""
Web page type: Video gallery page.
diff --git a/schema_models/video_game.py b/schema_models/video_game.py
index 27668eeb..1fc69248 100644
--- a/schema_models/video_game.py
+++ b/schema_models/video_game.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -13,6 +14,7 @@
from schema_models.video_object import VideoObject
+@dataclass
class VideoGame(Game):
"""
A video game is an electronic game that involves human interaction with a user interface to generate visual feedback on a video device.
diff --git a/schema_models/video_game_clip.py b/schema_models/video_game_clip.py
index 981ac71b..849e48bf 100644
--- a/schema_models/video_game_clip.py
+++ b/schema_models/video_game_clip.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.clip import Clip
+@dataclass
class VideoGameClip(Clip):
"""
A short segment/part of a video game.
diff --git a/schema_models/video_game_series.py b/schema_models/video_game_series.py
index 9b8719a8..bab5ddd5 100644
--- a/schema_models/video_game_series.py
+++ b/schema_models/video_game_series.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -17,6 +18,7 @@
from schema_models.video_object import VideoObject
+@dataclass
class VideoGameSeries(CreativeWorkSeries):
"""
A video game series.
diff --git a/schema_models/video_object.py b/schema_models/video_object.py
index 9ac24ac5..63edb6b0 100644
--- a/schema_models/video_object.py
+++ b/schema_models/video_object.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.media_object import MediaObject
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class VideoObject(MediaObject):
"""
A video file.
diff --git a/schema_models/video_object_snapshot.py b/schema_models/video_object_snapshot.py
index 469c4161..3d26df8b 100644
--- a/schema_models/video_object_snapshot.py
+++ b/schema_models/video_object_snapshot.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.video_object import VideoObject
+@dataclass
class VideoObjectSnapshot(VideoObject):
"""
A specific and exact (byte-for-byte) version of a [[VideoObject]]. Two byte-for-byte identical files, for the purposes of this type, considered identical. If they have different embedded metadata the files will differ. Different external facts about the files, e.g. creator or dateCreated that aren't represented in their actual content, do not affect this notion of identity.
diff --git a/schema_models/view_action.py b/schema_models/view_action.py
index f748edb5..ca629e01 100644
--- a/schema_models/view_action.py
+++ b/schema_models/view_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class ViewAction(ConsumeAction):
"""
The act of consuming static visual content.
diff --git a/schema_models/virtual_location.py b/schema_models/virtual_location.py
index 0877f3ae..bb8b6506 100644
--- a/schema_models/virtual_location.py
+++ b/schema_models/virtual_location.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.intangible import Intangible
+@dataclass
class VirtualLocation(Intangible):
"""
An online or virtual location for attending events. For example, one may attend an online seminar or educational event. While a virtual location may be used as the location of an event, virtual locations should not be confused with physical locations in the real world.
diff --git a/schema_models/visual_arts_event.py b/schema_models/visual_arts_event.py
index c90c2164..a461e89d 100644
--- a/schema_models/visual_arts_event.py
+++ b/schema_models/visual_arts_event.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.event import Event
+@dataclass
class VisualArtsEvent(Event):
"""
Event type: Visual arts event.
diff --git a/schema_models/visual_artwork.py b/schema_models/visual_artwork.py
index a77d017e..b655e246 100644
--- a/schema_models/visual_artwork.py
+++ b/schema_models/visual_artwork.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.person import Person
+@dataclass
class VisualArtwork(CreativeWork):
"""
A work of art that is primarily visual in character.
diff --git a/schema_models/vital_sign.py b/schema_models/vital_sign.py
index c99ab7c7..f0b5b84a 100644
--- a/schema_models/vital_sign.py
+++ b/schema_models/vital_sign.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.medical_sign import MedicalSign
+@dataclass
class VitalSign(MedicalSign):
"""
Vital signs are measures of various physiological functions in order to assess the most basic body functions.
diff --git a/schema_models/volcano.py b/schema_models/volcano.py
index 260f9c6b..653f167a 100644
--- a/schema_models/volcano.py
+++ b/schema_models/volcano.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.landform import Landform
+@dataclass
class Volcano(Landform):
"""
A volcano, like Fujisan.
diff --git a/schema_models/vote_action.py b/schema_models/vote_action.py
index 88b368c0..1708781c 100644
--- a/schema_models/vote_action.py
+++ b/schema_models/vote_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.choose_action import ChooseAction
from schema_models.person import Person
+@dataclass
class VoteAction(ChooseAction):
"""
The act of expressing a preference from a fixed/finite/structured set of choices/options.
diff --git a/schema_models/want_action.py b/schema_models/want_action.py
index 55b3a27a..352dd484 100644
--- a/schema_models/want_action.py
+++ b/schema_models/want_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.react_action import ReactAction
+@dataclass
class WantAction(ReactAction):
"""
The act of expressing a desire about the object. An agent wants an object.
diff --git a/schema_models/warranty_promise.py b/schema_models/warranty_promise.py
index 8d0be5d1..224c7414 100644
--- a/schema_models/warranty_promise.py
+++ b/schema_models/warranty_promise.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.structured_value import StructuredValue
from schema_models.warranty_scope import WarrantyScope
+@dataclass
class WarrantyPromise(StructuredValue):
"""
The warranty promise(s) included in the offer.
diff --git a/schema_models/warranty_scope.py b/schema_models/warranty_scope.py
index 6ac3802a..036dd52a 100644
--- a/schema_models/warranty_scope.py
+++ b/schema_models/warranty_scope.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.enumeration import Enumeration
+@dataclass
class WarrantyScope(Enumeration):
"""
A range of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.
diff --git a/schema_models/watch_action.py b/schema_models/watch_action.py
index 8059f766..bf631f9f 100644
--- a/schema_models/watch_action.py
+++ b/schema_models/watch_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.consume_action import ConsumeAction
+@dataclass
class WatchAction(ConsumeAction):
"""
The act of consuming dynamic/moving visual content.
diff --git a/schema_models/waterfall.py b/schema_models/waterfall.py
index 4fe7d9eb..ec13b1df 100644
--- a/schema_models/waterfall.py
+++ b/schema_models/waterfall.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.body_of_water import BodyOfWater
+@dataclass
class Waterfall(BodyOfWater):
"""
A waterfall, like Niagara.
diff --git a/schema_models/wear_action.py b/schema_models/wear_action.py
index 0b8a012f..45d0fb57 100644
--- a/schema_models/wear_action.py
+++ b/schema_models/wear_action.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.use_action import UseAction
+@dataclass
class WearAction(UseAction):
"""
The act of dressing oneself in clothing.
diff --git a/schema_models/wearable_measurement_type_enumeration.py b/schema_models/wearable_measurement_type_enumeration.py
index 230b41a9..e3167b41 100644
--- a/schema_models/wearable_measurement_type_enumeration.py
+++ b/schema_models/wearable_measurement_type_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.measurement_type_enumeration import MeasurementTypeEnumeration
+@dataclass
class WearableMeasurementTypeEnumeration(MeasurementTypeEnumeration):
"""
Enumerates common types of measurement for wearables products.
diff --git a/schema_models/wearable_size_group_enumeration.py b/schema_models/wearable_size_group_enumeration.py
index a1814a06..4964e866 100644
--- a/schema_models/wearable_size_group_enumeration.py
+++ b/schema_models/wearable_size_group_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.size_group_enumeration import SizeGroupEnumeration
+@dataclass
class WearableSizeGroupEnumeration(SizeGroupEnumeration):
"""
Enumerates common size groups (also known as "size types") for wearable products.
diff --git a/schema_models/wearable_size_system_enumeration.py b/schema_models/wearable_size_system_enumeration.py
index aeb39805..85315a60 100644
--- a/schema_models/wearable_size_system_enumeration.py
+++ b/schema_models/wearable_size_system_enumeration.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.size_system_enumeration import SizeSystemEnumeration
+@dataclass
class WearableSizeSystemEnumeration(SizeSystemEnumeration):
"""
Enumerates common size systems specific for wearable products.
diff --git a/schema_models/web_api.py b/schema_models/web_api.py
index 691b4347..7f61b318 100644
--- a/schema_models/web_api.py
+++ b/schema_models/web_api.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from pydantic import HttpUrl
@@ -6,6 +7,7 @@
from schema_models.service import Service
+@dataclass
class WebAPI(Service):
"""
An application programming interface accessible over Web/Internet technologies.
diff --git a/schema_models/web_application.py b/schema_models/web_application.py
index 8eff8d45..91731586 100644
--- a/schema_models/web_application.py
+++ b/schema_models/web_application.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.software_application import SoftwareApplication
+@dataclass
class WebApplication(SoftwareApplication):
"""
Web applications.
diff --git a/schema_models/web_content.py b/schema_models/web_content.py
index 37b8c2e3..a466dbf8 100644
--- a/schema_models/web_content.py
+++ b/schema_models/web_content.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.creative_work import CreativeWork
+@dataclass
class WebContent(CreativeWork):
"""
WebContent is a type representing all [[WebPage]], [[WebSite]] and [[WebPageElement]] content. It is sometimes the case that detailed distinctions between Web pages, sites and their parts are not always important or obvious. The [[WebContent]] type makes it easier to describe Web-addressable content without requiring such distinctions to always be stated. (The intent is that the existing types [[WebPage]], [[WebSite]] and [[WebPageElement]] will eventually be declared as subtypes of [[WebContent]].)
diff --git a/schema_models/web_page.py b/schema_models/web_page.py
index a66eaf76..7a93a94d 100644
--- a/schema_models/web_page.py
+++ b/schema_models/web_page.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from datetime import date
from typing import List, Optional, Union
@@ -10,6 +11,7 @@
from schema_models.web_page_element import WebPageElement
+@dataclass
class WebPage(CreativeWork):
"""
A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page.
diff --git a/schema_models/web_page_element.py b/schema_models/web_page_element.py
index b739f104..017a9dc3 100644
--- a/schema_models/web_page_element.py
+++ b/schema_models/web_page_element.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
from schema_models.css_selector_type import CssSelectorType
+@dataclass
class WebPageElement(CreativeWork):
"""
A web page element, like a table or an image.
diff --git a/schema_models/web_site.py b/schema_models/web_site.py
index 366c7b15..07d9152e 100644
--- a/schema_models/web_site.py
+++ b/schema_models/web_site.py
@@ -1,8 +1,10 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.creative_work import CreativeWork
+@dataclass
class WebSite(CreativeWork):
"""
A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs.
diff --git a/schema_models/wholesale_store.py b/schema_models/wholesale_store.py
index 2a89136f..c785e3e6 100644
--- a/schema_models/wholesale_store.py
+++ b/schema_models/wholesale_store.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.store import Store
+@dataclass
class WholesaleStore(Store):
"""
A wholesale store.
diff --git a/schema_models/win_action.py b/schema_models/win_action.py
index 23ffcf09..0e7fc04e 100644
--- a/schema_models/win_action.py
+++ b/schema_models/win_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.achieve_action import AchieveAction
from schema_models.person import Person
+@dataclass
class WinAction(AchieveAction):
"""
The act of achieving victory in a competitive activity.
diff --git a/schema_models/winery.py b/schema_models/winery.py
index ff90dc59..86a015f5 100644
--- a/schema_models/winery.py
+++ b/schema_models/winery.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.food_establishment import FoodEstablishment
+@dataclass
class Winery(FoodEstablishment):
"""
A winery.
diff --git a/schema_models/work_based_program.py b/schema_models/work_based_program.py
index cc5089be..6d7d3c2c 100644
--- a/schema_models/work_based_program.py
+++ b/schema_models/work_based_program.py
@@ -1,3 +1,4 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.category_code import CategoryCode
@@ -6,6 +7,7 @@
)
+@dataclass
class WorkBasedProgram(EducationalOccupationalProgram):
"""
A program with both an educational and employment component. Typically based at a workplace and structured around work-based learning, with the aim of instilling competencies related to an occupation. WorkBasedProgram is used to distinguish programs such as apprenticeships from school, college or other classroom based educational programs.
diff --git a/schema_models/workers_union.py b/schema_models/workers_union.py
index f92fd02b..41351cc7 100644
--- a/schema_models/workers_union.py
+++ b/schema_models/workers_union.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.organization import Organization
+@dataclass
class WorkersUnion(Organization):
"""
A Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying.
diff --git a/schema_models/wp_ad_block.py b/schema_models/wp_ad_block.py
index ae76efcc..68b30be9 100644
--- a/schema_models/wp_ad_block.py
+++ b/schema_models/wp_ad_block.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class WPAdBlock(WebPageElement):
"""
An advertising section of the page.
diff --git a/schema_models/wp_footer.py b/schema_models/wp_footer.py
index 73065129..dfcebe99 100644
--- a/schema_models/wp_footer.py
+++ b/schema_models/wp_footer.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class WPFooter(WebPageElement):
"""
The footer section of the page.
diff --git a/schema_models/wp_header.py b/schema_models/wp_header.py
index 057fe5d1..07623336 100644
--- a/schema_models/wp_header.py
+++ b/schema_models/wp_header.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class WPHeader(WebPageElement):
"""
The header section of the page.
diff --git a/schema_models/wp_side_bar.py b/schema_models/wp_side_bar.py
index 7050e4fc..5be46b89 100644
--- a/schema_models/wp_side_bar.py
+++ b/schema_models/wp_side_bar.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.web_page_element import WebPageElement
+@dataclass
class WPSideBar(WebPageElement):
"""
A sidebar section of the page.
diff --git a/schema_models/write_action.py b/schema_models/write_action.py
index e2dcfe7b..cdc76db4 100644
--- a/schema_models/write_action.py
+++ b/schema_models/write_action.py
@@ -1,9 +1,11 @@
+from dataclasses import dataclass
from typing import List, Optional, Union
from schema_models.create_action import CreateAction
from schema_models.language import Language
+@dataclass
class WriteAction(CreateAction):
"""
The act of authoring written creative content.
diff --git a/schema_models/zoo.py b/schema_models/zoo.py
index 712f91c7..00ad6d8e 100644
--- a/schema_models/zoo.py
+++ b/schema_models/zoo.py
@@ -1,6 +1,9 @@
+from dataclasses import dataclass
+
from schema_models.civic_structure import CivicStructure
+@dataclass
class Zoo(CivicStructure):
"""
A zoo.
diff --git a/tests/test_creative_work.py b/tests/test_creative_work.py
new file mode 100644
index 00000000..29e3e93e
--- /dev/null
+++ b/tests/test_creative_work.py
@@ -0,0 +1,16 @@
+# import sys; sys.setrecursionlimit(2000)
+from dataclasses import is_dataclass
+
+from pydantic import BaseModel
+
+from schema_models.creative_work import CreativeWork
+from schema_models.thing import Thing
+
+
+def test_creative_work_name():
+ c = CreativeWork(awards="test")
+ assert isinstance(c, CreativeWork)
+ assert isinstance(c, Thing)
+ assert is_dataclass(c)
+ c_validator = c.validator()
+ assert isinstance(c_validator, BaseModel)