diff --git a/OpenActive.NET/enums/PropertyEnumeration.cs b/OpenActive.NET/enums/PropertyEnumeration.cs index 1ebef89..09fd001 100644 --- a/OpenActive.NET/enums/PropertyEnumeration.cs +++ b/OpenActive.NET/enums/PropertyEnumeration.cs @@ -153,6 +153,8 @@ public enum PropertyEnumeration UnitTaxSpecification, [EnumMember(Value = "https://openactive.io/validFromBeforeStartDate")] ValidFromBeforeStartDate, + [EnumMember(Value = "https://openactive.io/validThroughBeforeStartDate")] + ValidThroughBeforeStartDate, [EnumMember(Value = "https://openactive.io/valueOption")] ValueOption, [EnumMember(Value = "https://schema.org/about")] @@ -309,6 +311,8 @@ public enum PropertyEnumeration Antagonist, [EnumMember(Value = "https://schema.org/appearance")] Appearance, + [EnumMember(Value = "https://schema.org/applicableCountry")] + ApplicableCountry, [EnumMember(Value = "https://schema.org/applicableLocation")] ApplicableLocation, [EnumMember(Value = "https://schema.org/applicantLocationRequirements")] @@ -1231,8 +1235,14 @@ public enum PropertyEnumeration FundedItem, [EnumMember(Value = "https://schema.org/funder")] Funder, + [EnumMember(Value = "https://schema.org/funding")] + Funding, [EnumMember(Value = "https://schema.org/game")] Game, + [EnumMember(Value = "https://schema.org/gameAvailabilityType")] + GameAvailabilityType, + [EnumMember(Value = "https://schema.org/gameEdition")] + GameEdition, [EnumMember(Value = "https://schema.org/gameItem")] GameItem, [EnumMember(Value = "https://schema.org/gameLocation")] @@ -1309,6 +1319,8 @@ public enum PropertyEnumeration GuidelineSubject, [EnumMember(Value = "https://schema.org/handlingTime")] HandlingTime, + [EnumMember(Value = "https://schema.org/hasAdultConsideration")] + HasAdultConsideration, [EnumMember(Value = "https://schema.org/hasBioChemEntityPart")] HasBioChemEntityPart, [EnumMember(Value = "https://schema.org/hasBioPolymerSequence")] @@ -1571,6 +1583,8 @@ public enum PropertyEnumeration Isbn, [EnumMember(Value = "https://schema.org/isicV4")] IsicV4, + [EnumMember(Value = "https://schema.org/iso6523Code")] + Iso6523Code, [EnumMember(Value = "https://schema.org/isrcCode")] IsrcCode, [EnumMember(Value = "https://schema.org/issn")] diff --git a/OpenActive.NET/models/Entitlement.cs b/OpenActive.NET/models/Entitlement.cs index bb2504e..dd8d8e5 100644 --- a/OpenActive.NET/models/Entitlement.cs +++ b/OpenActive.NET/models/Entitlement.cs @@ -75,14 +75,14 @@ public override string ToString() /// The date the entitlement becomes valid. This must be in the past. /// [DataMember(Name = "validFrom", EmitDefaultValue = false, Order = 9)] - [JsonConverter(typeof(OpenActiveDateTimeOffsetToISO8601DateTimeValuesConverter))] - public new virtual DateTimeOffset? ValidFrom { get; set; } + [JsonConverter(typeof(OpenActiveDateTimeValuesConverter))] + public new virtual DateValue ValidFrom { get; set; } /// /// The date that the entitlement is no longer valid. This must be in the future. /// [DataMember(Name = "validUntil", EmitDefaultValue = false, Order = 10)] - [JsonConverter(typeof(OpenActiveDateTimeOffsetToISO8601DateTimeValuesConverter))] - public new virtual DateTimeOffset? ValidUntil { get; set; } + [JsonConverter(typeof(OpenActiveDateTimeValuesConverter))] + public new virtual DateValue ValidUntil { get; set; } } } diff --git a/OpenActive.NET/models/Event.cs b/OpenActive.NET/models/Event.cs index 999d824..32ac79d 100644 --- a/OpenActive.NET/models/Event.cs +++ b/OpenActive.NET/models/Event.cs @@ -749,13 +749,23 @@ public override string ToString() [JsonConverter(typeof(ValuesConverter))] public virtual bool? IsFirstSessionAccessibleForFree { get; set; } + /// + /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] + /// A property that indicates whether the event contains a high frequency of occurrences. Intended as a UI hint for interfaces that represent these occurrences. + /// + /// If you are using this property, please join the discussion at proposal [#301](https://github.com/openactive/modelling-opportunity-data/issues/301). + /// + [DataMember(Name = "beta:isScheduledAsSlots", EmitDefaultValue = false, Order = 1061)] + [JsonConverter(typeof(ValuesConverter))] + public virtual bool? IsScheduledAsSlots { get; set; } + /// /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] /// Contact details for an Event, where they are not specifically related to the `organizer` or `leader`. /// /// If you are using this property, please join the discussion at proposal [#113](https://github.com/openactive/modelling-opportunity-data/issues/113). /// - [DataMember(Name = "beta:contactPoint", EmitDefaultValue = false, Order = 1061)] + [DataMember(Name = "beta:contactPoint", EmitDefaultValue = false, Order = 1062)] [JsonConverter(typeof(ValuesConverter))] public virtual Schema.NET.ContactPoint ContactPoint { get; set; } @@ -765,14 +775,14 @@ public override string ToString() /// /// If you are using this property, please join the discussion at proposal [#161](https://github.com/openactive/modelling-opportunity-data/issues/161). /// - [DataMember(Name = "beta:bookingChannel", EmitDefaultValue = false, Order = 1062)] + [DataMember(Name = "beta:bookingChannel", EmitDefaultValue = false, Order = 1063)] [JsonConverter(typeof(ValuesConverter))] public virtual List BookingChannel { get; set; } /// /// [NOTICE: This property is part of the Open Booking API Test Interface, and MUST NOT be used in production.] /// - [DataMember(Name = "test:testOpenBookingFlow", EmitDefaultValue = false, Order = 1063)] + [DataMember(Name = "test:testOpenBookingFlow", EmitDefaultValue = false, Order = 1064)] [JsonConverter(typeof(ValuesConverter))] public virtual TestOpenBookingFlowEnumeration? TestOpenBookingFlow { get; set; } @@ -780,7 +790,7 @@ public override string ToString() /// [NOTICE: This property is part of the Open Booking API Test Interface, and MUST NOT be used in production.] /// The opportunity criteria which the Event conforms to. /// - [DataMember(Name = "test:testOpportunityCriteria", EmitDefaultValue = false, Order = 1064)] + [DataMember(Name = "test:testOpportunityCriteria", EmitDefaultValue = false, Order = 1065)] [JsonConverter(typeof(ValuesConverter))] public virtual TestOpportunityCriteriaEnumeration? TestOpportunityCriteria { get; set; } } diff --git a/OpenActive.NET/models/FacilityUse.cs b/OpenActive.NET/models/FacilityUse.cs index 2d13401..459db6b 100644 --- a/OpenActive.NET/models/FacilityUse.cs +++ b/OpenActive.NET/models/FacilityUse.cs @@ -356,7 +356,7 @@ public override string ToString() /// [DataMember(Name = "provider", EmitDefaultValue = false, Order = 25)] [JsonConverter(typeof(ValuesConverter))] - public new virtual Organization Provider { get; set; } + public virtual Organization Provider { get; set; } /// /// A URL to a web page (or section of a page) that describes the facility use. @@ -420,13 +420,23 @@ public override string ToString() [JsonConverter(typeof(OpenActiveTimeSpanToISO8601DurationValuesConverter))] public virtual TimeSpan? OfferValidityPeriod { get; set; } + /// + /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] + /// Attributes associated with the facility in use. See https://openactive.io/facility-attribute-list/. + /// + /// If you are using this property, please join the discussion at proposal [#1](https://github.com/openactive/facility-types/issues/1). + /// + [DataMember(Name = "beta:facilityAttribute", EmitDefaultValue = false, Order = 1032)] + [JsonConverter(typeof(ValuesConverter))] + public virtual List FacilityAttribute { get; set; } + /// /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] /// Whether the event or facility is indoor or outdoor. /// /// If you are using this property, please join the discussion at proposal [#1](https://github.com/openactive/facility-types/issues/1). /// - [DataMember(Name = "beta:facilitySetting", EmitDefaultValue = false, Order = 1032)] + [DataMember(Name = "beta:facilitySetting", EmitDefaultValue = false, Order = 1033)] [JsonConverter(typeof(ValuesConverter))] public virtual FacilitySettingType? FacilitySetting { get; set; } @@ -436,7 +446,7 @@ public override string ToString() /// /// If you are using this property, please join the discussion at proposal [#161](https://github.com/openactive/modelling-opportunity-data/issues/161). /// - [DataMember(Name = "beta:bookingChannel", EmitDefaultValue = false, Order = 1033)] + [DataMember(Name = "beta:bookingChannel", EmitDefaultValue = false, Order = 1034)] [JsonConverter(typeof(ValuesConverter))] public virtual List BookingChannel { get; set; } } diff --git a/OpenActive.NET/models/Offer.cs b/OpenActive.NET/models/Offer.cs index e31574d..2b7ddc8 100644 --- a/OpenActive.NET/models/Offer.cs +++ b/OpenActive.NET/models/Offer.cs @@ -225,19 +225,26 @@ public override string ToString() public new virtual Uri Url { get; set; } /// - /// The duration before the startDate for which this Offer is valid, given in ISO 8601 format. This is a relatively-defined equivalent of schema:validFrom, to allow for Offer inheritance. + /// The duration before the `startDate` for which this `Offer` is valid, given in ISO 8601 format. This is a relatively-defined equivalent of `schema:validFrom`, to allow for `Offer` inheritance. /// [DataMember(Name = "validFromBeforeStartDate", EmitDefaultValue = false, Order = 22)] [JsonConverter(typeof(OpenActiveTimeSpanToISO8601DurationValuesConverter))] public virtual TimeSpan? ValidFromBeforeStartDate { get; set; } + /// + /// The duration before the `startDate` after which the `Offer` is no longer valid, given in ISO 8601 format. This is a relatively-defined equivalent of `schema:validThrough`, to allow for `Offer` inheritance. + /// + [DataMember(Name = "validThroughBeforeStartDate", EmitDefaultValue = false, Order = 23)] + [JsonConverter(typeof(OpenActiveTimeSpanToISO8601DurationValuesConverter))] + public virtual TimeSpan? ValidThroughBeforeStartDate { get; set; } + /// /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] /// Number of people the reservation should accommodate. /// /// If you are using this property, please join the discussion at proposal [#250](https://github.com/openactive/modelling-opportunity-data/issues/250). /// - [DataMember(Name = "beta:partySize", EmitDefaultValue = false, Order = 1023)] + [DataMember(Name = "beta:partySize", EmitDefaultValue = false, Order = 1024)] [JsonConverter(typeof(ValuesConverter))] public virtual QuantitativeValue PartySize { get; set; } } diff --git a/OpenActive.NET/models/OfferOverride.cs b/OpenActive.NET/models/OfferOverride.cs index a950422..20d0612 100644 --- a/OpenActive.NET/models/OfferOverride.cs +++ b/OpenActive.NET/models/OfferOverride.cs @@ -67,5 +67,8 @@ public override string ToString() [Obsolete("This property is disinherited in this type, and must not be used.", true)] public override TimeSpan? ValidFromBeforeStartDate { get; set; } + + [Obsolete("This property is disinherited in this type, and must not be used.", true)] + public override TimeSpan? ValidThroughBeforeStartDate { get; set; } } } diff --git a/OpenActive.NET/models/Place.cs b/OpenActive.NET/models/Place.cs index 6bf0df8..a1e6f81 100644 --- a/OpenActive.NET/models/Place.cs +++ b/OpenActive.NET/models/Place.cs @@ -157,7 +157,7 @@ public override string ToString() /// [DataMember(Name = "containedInPlace", EmitDefaultValue = false, Order = 12)] [JsonConverter(typeof(ValuesConverter))] - public new virtual Place ContainedInPlace { get; set; } + public new virtual ReferenceValue ContainedInPlace { get; set; } /// /// Places that exist within this place @@ -256,5 +256,25 @@ public override string ToString() [DataMember(Name = "beta:formattedDescription", EmitDefaultValue = false, Order = 1020)] [JsonConverter(typeof(ValuesConverter))] public virtual string FormattedDescription { get; set; } + + /// + /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] + /// A related video object. + /// + /// If you are using this property, please join the discussion at proposal [#88](https://github.com/openactive/modelling-opportunity-data/issues/88). + /// + [DataMember(Name = "beta:video", EmitDefaultValue = false, Order = 1021)] + [JsonConverter(typeof(ValuesConverter))] + public virtual List Video { get; set; } + + /// + /// [NOTICE: This is a beta property, and is highly likely to change in future versions of this library.] + /// The type of Place. See https://openactive.io/place-types/. + /// + /// If you are using this property, please join the discussion at proposal [#1](https://github.com/openactive/place-types/issues/1). + /// + [DataMember(Name = "beta:placeType", EmitDefaultValue = false, Order = 1022)] + [JsonConverter(typeof(ValuesConverter))] + public virtual List PlaceType { get; set; } } } diff --git a/OpenActive.NET/models/Slot.cs b/OpenActive.NET/models/Slot.cs index 1a67765..c04f38b 100644 --- a/OpenActive.NET/models/Slot.cs +++ b/OpenActive.NET/models/Slot.cs @@ -229,7 +229,16 @@ public override string ToString() [Obsolete("This property is disinherited in this type, and must not be used.", true)] public override Event SuperEvent { get; set; } - [Obsolete("This property is disinherited in this type, and must not be used.", true)] + /// + /// A URL to a web page (or section of a page) that describes the specific Slot. + /// + /// + /// + /// "url": "https://example.com/slots/1234" + /// + /// + [DataMember(Name = "url", EmitDefaultValue = false, Order = 42)] + [JsonConverter(typeof(ValuesConverter))] public override Uri Url { get; set; } ///