{ "$schema": "http://json-schema.org/schema#", "$id": "https://github.com/smart-data-models/dataModel.Port/blob/master/BoatPlacePricing/schema.json", "title": "Boat Place Pricing schema", "description": "The purpose of the data model is to provide information on the pricing of mooring rings by category (length / Width). The information received relates only to pleasure boats and excludes commercial and passenger transport boats. The information on the Spot categories for boats is taken from the ISO 8666 standard.", "type": "object", "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "properties": { "type": { "type": "string", "enum": [ "BoatPlacesPricing" ], "description": "Property. NGSI Entity type. It has to be BoatPlacePricing" }, "dateLastReported": { "type": "string", "format": "date-time", "description": "Property. Model:'https://schema.org/DateTime'. A timestamp which denotes the last time when the device successfully reported data. The date and time of this observation in ISO8601 UTCformat" }, "refSeaPort": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Relationship. Model:'https://schema.org/URL'. Reference to the entity [Seaport](https://github.com/smart-data-models/dataModel.Port/blob/master/Seaport/doc/spec.md) to use as main link" }, "refPointOfInterest": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Relationship. Model:'https://schema.org/URL'. Reference to a [PointOfInterest](https://github.com/smart-data-models/dataModel.PointOfInterest/blob/master/PointOfInterest/doc/spec.md) linked with the Repository" }, "spotCategoryRange": { "type": "array", "description": "Property. List from the lowest to the highest categories: A combination of them. Enum:'A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T1, T2, U, V, W, X, Y, Z, Z01, Z02, Z03, Z04, Z05, Z06, Z07, Z08, Z08, Z09, Z10, Z11, Z12, Z13, Z14, Z15, Z16, Z17'", "items": { "type": "string", "enum": [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T1", "T2", "U", "V", "W", "X", "Y", "Z", "Z01", "Z02", "Z03", "Z04", "Z05", "Z06", "Z07", "Z08", "Z08", "Z09", "Z10", "Z11", "Z12", "Z13", "Z14", "Z15", "Z16", "Z17" ] } }, "minLength": { "type": "number", "description": "Property. Model:'https://schema.org/number'. Minimum length allowed to access the spot. The unit code (text) is given using the [UN/CEFACT Common Codes](http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes) . Units:'metres'" }, "maxLength": { "type": "number", "description": "Property. Model:'https://schema.org/number'. Maximum length allowed to access the spot. The unit code (text) is given using the [UN/CEFACT Common Codes](http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes) . Units:'metres'" }, "maxWidth": { "type": "number", "description": "Property. Model:'https://schema.org/width'. Maximum width allowed to access the spot. The unit code (text) is given using the [UN/CEFACT Common Codes](http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes) . Units:'metres'" }, "maxDraft": { "type": "number", "description": "Property. Model:'https://schema.org/Number'. Maximum draft allowed to access the spot. The unit code (text) is given using the [UN/CEFACT Common Codes](http://wiki.goodrelations-vocabulary.org/Documentation/UN/CEFACT_Common_Codes) . Units:'metres'" }, "validFrom": { "type": "string", "format": "date-time", "description": "Property. Model:'https://schema.org/DateTime'. Start date and time of the pricing rules." }, "validThrough": { "type": "string", "format": "date-time", "description": "Property. Model:'https://schema.org/DateTime'. End date and time of the pricing rules." }, "period": { "type": "string", "description": "Property. Model:'https://schema.org/DateTime'. Type of period defined the date From and Through: A free text or a unique value of the different combination allowed 'season / offSeason' - 'summer / winter' - 'low / medium / high'. enum:'high, low, medium, offSeason, season, summer, winter'", "enum": [ "high", "low", "medium", "offSeason", "season", "summer", "winter" ] }, "passage": { "type": "object", "description": "Property. Model:'https://schema.org/StructuredValue'. Ticket price of the place for passing boats for this category / period. A structured value with 3 subproperties where each items is a string in the format `key` : `price` in Euro \u20ac", "properties": { "day": { "type": "number" }, "week": { "type": "number" }, "month": { "type": "number" } } }, "resident": { "type": "object", "description": "Property. Model:'https://schema.org/StructuredValue'. Ticket price of the place for resident boats for this category / period. A structured value with 2 subproperties where each items is a string in the format `key` : `price` in Euro \u20ac", "properties": { "month": { "type": "number" }, "annual": { "type": "number" } } }, "wintering": { "type": "object", "description": "Property. Model:'https://schema.org/StructuredValue'. Ticket price of the place for wintering boats for this category / period. A structured value with 3 subproperties where each items is a string in the format `key` : `price` in Euro \u20ac", "properties": { "day": { "type": "number" }, "week": { "type": "number" }, "month": { "type": "number" } } }, "fairing": { "type": "object", "description": "Property. Model:'https://schema.org/StructuredValue'. Ticket price of the place for fairing boats for this category / period. A structured value with 3 subproperties where each items is a string in the format `key` : `price` in Euro \u20ac", "properties": { "day": { "type": "number" }, "week": { "type": "number" }, "month": { "type": "number" } } } } } ], "required": [ "id", "type", "location", "dateLastReported", "refSeaPort", "spotCategoryRange", "validFrom", "validThrough" ], "$schemaVersion": "0.0.1" }