4.1. PDEF Document

The PDEF Document is the root object encapsulating entirely or partly a PDEF Dataset.

Note

To allow scaling-up of the PDEF Dataset size, splitting the dataset in several JSON documents is allowed.

4.1.1. Examples

An empty valid PDEF JSON document reads:

1
2
3
4
5
{
   "pdef_id":"b589ad95-1c14-4983-9332-34ba30aed1f7",
   "pdef_type":"pdef",
   "pdef_version":"2023-12",
}

The data is then chaptered in Collections.

1
2
3
4
5
6
7
{
   "pdef_id": "some text",
   "pdef_type": "pdef",
   "pdef_version": "2023-12",
   "projects": [],
   "bare_pipe_specs": [],
}

The valid PDEF JSON document above reports two Collections. Those collections are empty for now, but are intended to gather instances of Project (FV) and BarePipeSpec (PV). Each collection shall be completed with members corresponding to the actual projects and bare pipe specifications data.

Note

The example above illustrates a user case of an EPCI contractor requesting a quotation from a pipe manufacturer. In such a case, only the bare pipe specification objects are transmitted between the Users. The other collections are therefore omitted.

4.1.2. Documentation

A PDEF Document has :

4.1.3. PDEF Schema

pdef.model.pdef.PDEF

Root of PDEF JSON dataset. This is where all Collections are gathered.

Show JSON schema
{
   "title": "PDEF",
   "description": "Root of PDEF JSON dataset. This is where all :ref:`Collections` are gathered.",
   "type": "object",
   "properties": {
      "pdef_id": {
         "title": "PDEF id",
         "description": ":ref:`pdef_id` is the unique identifier for the object.",
         "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
         "type": "string"
      },
      "pdef_type": {
         "title": "PDEF type",
         "description": "Object :ref:`pdef_type`. Always set to `pdef` in this case.",
         "const": "pdef",
         "type": "string"
      },
      "meta_data": {
         "title": "Metadata",
         "description": "Optional user free structured :ref:`Metadata` object.",
         "example": "{'created':'2021-09-03'}",
         "allOf": [
            {
               "$ref": "#/definitions/MetaData"
            }
         ]
      },
      "additional_data": {
         "title": "Additional Data",
         "description": "Optional user free structured :ref:`Additional Data` object.",
         "example": "{'color':'grey'}",
         "allOf": [
            {
               "$ref": "#/definitions/AdditionalData"
            }
         ]
      },
      "pdef_version": {
         "title": "PDEF schema version",
         "description": "The version of the PDEF schema used for this dataset. Always 2023-12 in this case.",
         "const": "2023-12",
         "type": "string"
      },
      "projects": {
         "title": "Project Collection",
         "description": "The collection of :ref:`Project` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Project"
         }
      },
      "routes": {
         "title": "Route Collection",
         "description": "The collection of :ref:`Route` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Route"
         }
      },
      "bare_pipe_specs": {
         "title": "Bare Pipe Specification Collection",
         "description": "The collection of :ref:`BarePipeSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/BarePipeSpec"
         }
      },
      "pipe_coating_specs": {
         "title": "Pipe Coating Specification Collection",
         "description": "The collection of :ref:`PipeCoatingSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/PipeCoatingSpec"
         }
      },
      "field_joint_coating_specs": {
         "title": "Field Joint Coating Specification Collection",
         "description": "The collection of :ref:`FieldJointCoatingSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/FieldJointCoatingSpec"
         }
      },
      "weld_specs": {
         "title": " Weld Specification Collection",
         "description": "The collection of :ref:`WeldSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/WeldSpec"
         }
      },
      "pipeline_specs": {
         "title": "`PipelineSpec` Collection",
         "description": "The collection of :ref:`PipelineSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/PipelineSpec"
         }
      },
      "section_single_pipe_specs": {
         "title": "`Section Single Pipe Spec` Collection",
         "description": "The collection of :ref:`SectionSinglePipeSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/SectionSinglePipeSpec"
         }
      },
      "assembly_single_pipe_specs": {
         "title": "`Assembly Single Pipe Spec` Collection",
         "description": "The collection of :ref:`AssemblySinglePipeSpec` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/AssemblySinglePipeSpec"
         }
      },
      "bare_pipes": {
         "title": "Bare Pipe Collection",
         "description": "The collection of :ref:`BarePipe` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/BarePipe"
         }
      },
      "pipe_ends": {
         "title": "Pipe End Collection",
         "description": "The collection of :ref:`PipeEnd` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/PipeEnd"
         }
      },
      "pipe_damages": {
         "title": "Pipe Damage Collection",
         "description": "The collection of :ref:`PipeDamage` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/PipeDamage"
         }
      },
      "coated_pipes": {
         "title": "Coated Pipe Collection",
         "description": "The collection of :ref:`CoatedPipe` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/CoatedPipe"
         }
      },
      "welds": {
         "title": " Weld Collection",
         "description": "The collection of :ref:`Weld` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Weld"
         }
      },
      "weld_flaws": {
         "title": " Weld Flaw Collection",
         "description": "The collection of :ref:`WeldFlaw` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/WeldFlaw"
         }
      },
      "weld_ndts": {
         "title": "Weld NDT Collection",
         "description": "The collection of :ref:`WeldNDT` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/WeldNDT"
         }
      },
      "field_joint_coatings": {
         "title": "Field Joint Coating Collection",
         "description": "The collection of :ref:`FieldJointCoating` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/FieldJointCoating"
         }
      },
      "assembly_single_pipes": {
         "title": "Assembly Single Pipe Collection",
         "description": "The collection of :ref:`AssemblySinglePipe` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/AssemblySinglePipe"
         }
      },
      "pipelines": {
         "title": "Pipeline Collection",
         "description": "The collection of :ref:`Pipeline` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Pipeline"
         }
      },
      "vessels": {
         "title": "Vessel Collection",
         "description": "The collection of :ref:`Vessel` instances included in this dataset.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Vessel"
         }
      }
   },
   "definitions": {
      "MetaData": {
         "title": "MetaData",
         "description": "Optional base JSON-fragment used to report meta data. User free structure.",
         "type": "object",
         "properties": {}
      },
      "AdditionalData": {
         "title": "AdditionalData",
         "description": "Optional base JSON-fragment used to report additional user specific data. User free structure.",
         "type": "object",
         "properties": {}
      },
      "Project": {
         "title": "Project",
         "description": "General project related data.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "project",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "name": {
               "title": "name",
               "description": "The usual name of the project.",
               "maxLength": 256,
               "examples": [
                  "Lapa SW Development"
               ],
               "type": "string"
            },
            "country": {
               "title": "country",
               "description": "The country of the project.",
               "examples": [
                  "Angola"
               ],
               "enum": [
                  "Afghanistan",
                  "Aland Islands",
                  "Albania",
                  "Algeria",
                  "American Samoa",
                  "Andorra",
                  "Angola",
                  "Anguilla",
                  "Antarctica",
                  "Antigua and Barbuda",
                  "Argentina",
                  "Armenia",
                  "Aruba",
                  "Australia",
                  "Austria",
                  "Azerbaijan",
                  "Bahamas",
                  "Bahrain",
                  "Bangladesh",
                  "Barbados",
                  "Belarus",
                  "Belgium",
                  "Belize",
                  "Benin",
                  "Bermuda",
                  "Bhutan",
                  "Bolivia",
                  "Bosnia and Herzegovina",
                  "Botswana",
                  "Bouvet Island",
                  "Brazil",
                  "British Indian Ocean Territory",
                  "Brunei Darussalam",
                  "Bulgaria",
                  "Burkina Faso",
                  "Burundi",
                  "Cambodia",
                  "Cameroon",
                  "Canada",
                  "Cape Verde",
                  "Cayman Islands",
                  "Central African Republic",
                  "Chad",
                  "Chile",
                  "China",
                  "Christmas Island",
                  "Cocos (Keeling) Islands",
                  "Colombia",
                  "Comoros",
                  "Congo",
                  "Congo, The Democratic Republic of the",
                  "Cook Islands",
                  "Costa Rica",
                  "Cote D'Ivoire",
                  "Croatia",
                  "Cuba",
                  "Cyprus",
                  "Czech Republic",
                  "Denmark",
                  "Djibouti",
                  "Dominica",
                  "Dominican Republic",
                  "Ecuador",
                  "Egypt",
                  "El Salvador",
                  "Equatorial Guinea",
                  "Eritrea",
                  "Estonia",
                  "Ethiopia",
                  "Falkland Islands (Malvinas)",
                  "Faroe Islands",
                  "Fiji",
                  "Finland",
                  "France",
                  "French Guiana",
                  "French Polynesia",
                  "French Southern Territories",
                  "Gabon",
                  "Gambia",
                  "Georgia",
                  "Germany",
                  "Ghana",
                  "Gibraltar",
                  "Greece",
                  "Greenland",
                  "Grenada",
                  "Guadeloupe",
                  "Guam",
                  "Guatemala",
                  "Guernsey",
                  "Guinea",
                  "Guinea-Bissau",
                  "Guyana",
                  "Haiti",
                  "Heard Island and Mcdonald Islands",
                  "Holy See (Vatican City State)",
                  "Honduras",
                  "Hong Kong",
                  "Hungary",
                  "Iceland",
                  "India",
                  "Indonesia",
                  "Iran, Islamic Republic Of",
                  "Iraq",
                  "Ireland",
                  "Isle of Man",
                  "Israel",
                  "Italy",
                  "Jamaica",
                  "Japan",
                  "Jersey",
                  "Jordan",
                  "Kazakhstan",
                  "Kenya",
                  "Kiribati",
                  "Democratic People's Republic of Korea",
                  "Korea, Republic of",
                  "Kosovo",
                  "Kuwait",
                  "Kyrgyzstan",
                  "Lao People's Democratic Republic",
                  "Latvia",
                  "Lebanon",
                  "Lesotho",
                  "Liberia",
                  "Libyan Arab Jamahiriya",
                  "Liechtenstein",
                  "Lithuania",
                  "Luxembourg",
                  "Macao",
                  "Macedonia, The Former Yugoslav Republic of",
                  "Madagascar",
                  "Malawi",
                  "Malaysia",
                  "Maldives",
                  "Mali",
                  "Malta",
                  "Marshall Islands",
                  "Martinique",
                  "Mauritania",
                  "Mauritius",
                  "Mayotte",
                  "Mexico",
                  "Micronesia, Federated States of",
                  "Moldova, Republic of",
                  "Monaco",
                  "Mongolia",
                  "Montenegro",
                  "Montserrat",
                  "Morocco",
                  "Mozambique",
                  "Myanmar",
                  "Namibia",
                  "Nauru",
                  "Nepal",
                  "Netherlands",
                  "Netherlands Antilles",
                  "New Caledonia",
                  "New Zealand",
                  "Nicaragua",
                  "Niger",
                  "Nigeria",
                  "Niue",
                  "Norfolk Island",
                  "Northern Mariana Islands",
                  "Norway",
                  "Oman",
                  "Pakistan",
                  "Palau",
                  "Palestinian Territory, Occupied",
                  "Panama",
                  "Papua New Guinea",
                  "Paraguay",
                  "Peru",
                  "Philippines",
                  "Pitcairn",
                  "Poland",
                  "Portugal",
                  "Puerto Rico",
                  "Qatar",
                  "Reunion",
                  "Romania",
                  "Russian Federation",
                  "Rwanda",
                  "Saint Helena",
                  "Saint Kitts and Nevis",
                  "Saint Lucia",
                  "Saint Pierre and Miquelon",
                  "Saint Vincent and the Grenadines",
                  "Samoa",
                  "San Marino",
                  "Sao Tome and Principe",
                  "Saudi Arabia",
                  "Senegal",
                  "Serbia",
                  "Seychelles",
                  "Sierra Leone",
                  "Singapore",
                  "Slovakia",
                  "Slovenia",
                  "Solomon Islands",
                  "Somalia",
                  "South Africa",
                  "South Georgia and the South Sandwich Islands",
                  "Spain",
                  "Sri Lanka",
                  "Sudan",
                  "Suriname",
                  "Svalbard and Jan Mayen",
                  "Swaziland",
                  "Sweden",
                  "Switzerland",
                  "Syrian Arab Republic",
                  "Taiwan",
                  "Tajikistan",
                  "Tanzania, United Republic of",
                  "Thailand",
                  "Timor-Leste",
                  "Togo",
                  "Tokelau",
                  "Tonga",
                  "Trinidad and Tobago",
                  "Tunisia",
                  "Turkey",
                  "Turkmenistan",
                  "Turks and Caicos Islands",
                  "Tuvalu",
                  "Uganda",
                  "Ukraine",
                  "United Arab Emirates",
                  "United Kingdom",
                  "United States",
                  "United States Minor Outlying Islands",
                  "Uruguay",
                  "Uzbekistan",
                  "Vanuatu",
                  "Venezuela",
                  "Viet Nam",
                  "Virgin Islands, British",
                  "Virgin Islands, U.S.",
                  "Wallis and Futuna",
                  "Western Sahara",
                  "Yemen",
                  "Zambia",
                  "Zimbabwe"
               ],
               "type": "string"
            },
            "block": {
               "title": "block",
               "description": "The main geographical Block to which the project is related.",
               "maxLength": 256,
               "examples": [
                  "Block 15"
               ],
               "type": "string"
            },
            "field": {
               "title": "field",
               "description": "The main Field to which the project is related.",
               "maxLength": 256,
               "examples": [
                  "Begonia"
               ],
               "type": "string"
            },
            "operator": {
               "title": "Operator",
               "description": "Name of the company operating the project.",
               "maxLength": 256,
               "examples": [
                  "ExxonMobil",
                  "Petrobras",
                  "Total E&P Angola",
                  "Woodside"
               ],
               "type": "string"
            },
            "related_pipeline": {
               "title": "Relations to :ref:`Pipeline`.",
               "description": "Related instances of :ref:`Pipeline`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "pipeline_1",
                  "pipeline_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "Point": {
         "title": "Point",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "Point",
               "enum": [
                  "Point",
                  "LineString",
                  "Polygon",
                  "MultiPoint",
                  "MultiLineString",
                  "MultiPolygon"
               ],
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "description": "Single position. A position is an array of 2 or 3 floats (long, lat, el), see GeoJSON documentation.",
               "examples": [
                  2.3393476009368896,
                  48.857771121284145
               ],
               "anyOf": [
                  {
                     "type": "array",
                     "items": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ]
                  },
                  {
                     "type": "array",
                     "items": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ]
                  }
               ]
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "LineString": {
         "title": "LineString",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "LineString",
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "minItems": 2,
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     }
                  ]
               }
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "MultiPoint": {
         "title": "MultiPoint",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "MultiPoint",
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     }
                  ]
               }
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "Length": {
         "title": "Length",
         "description": ":ref:`Measure` of a length, distance, thickness, diameter, etc",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "km",
                  "hm",
                  "dam",
                  "m",
                  "dm",
                  "cm",
                  "mm",
                  "microm",
                  "ft",
                  "in"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Route": {
         "title": "Route",
         "description": "Parameters defining the :ref:`Pipeline` route, including location of start and end points, length, Kilometer Post (KP) 0 conventions and the like.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "route",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "life_phase": {
               "title": "Name",
               "description": "The pipeline life phase to which this route is related.",
               "enum": [
                  "design",
                  "installation",
                  "as-built",
                  "inspection"
               ],
               "type": "string"
            },
            "descr": {
               "title": "Description",
               "description": "Descriptive text for the route.",
               "maxLength": 1000,
               "type": "string"
            },
            "kp_start_descr": {
               "title": "KP Start Description",
               "description": "Short description of location selected as pipeline starting point and KP 0.",
               "maxLength": 256,
               "example": [
                  "spool/pipeline tie-in point on as-built drawing XXX rev. 1"
               ],
               "type": "string"
            },
            "kp_start_point": {
               "title": "Location of Starting Point (KP 0)",
               "description": "GeoJSON :ref:`Point` for localizing kp_start.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Point"
                  }
               ]
            },
            "kp_end_descr": {
               "title": "KP End Description",
               "description": "Short description of location selected as pipeline endpoint.",
               "maxLength": 1000,
               "example": [
                  "spool/pipeline tie-in point on as-built drawing XXX rev. 1"
               ],
               "type": "string"
            },
            "kp_end_point": {
               "title": "Location of End Point (KP end)",
               "description": "GeoJSON Point for localizing kp_end.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Point"
                  }
               ]
            },
            "easting_northing_linestring": {
               "title": "Easting, Northing coordinates",
               "description": "GeoJSON :ref:`LineString` of easting and northing coordinates.",
               "allOf": [
                  {
                     "$ref": "#/definitions/LineString"
                  }
               ]
            },
            "bathymetry_multipoint": {
               "title": "Bathymetry profile ",
               "description": "GeoJSON :ref:`MultiPoint` of bathymetry - water depth -.",
               "allOf": [
                  {
                     "$ref": "#/definitions/MultiPoint"
                  }
               ]
            },
            "intersection_point_radius": {
               "title": "Intersection point with curve radius",
               "description": "Array of GeoJSON :ref:`Point` of intersection points and associated curve radius.",
               "type": "array",
               "items": {
                  "type": "array",
                  "items": [
                     {
                        "$ref": "#/definitions/Point"
                     },
                     {
                        "$ref": "#/definitions/Length"
                     }
                  ]
               }
            },
            "flow_direction": {
               "title": "Direction convention for the conveyed fluid flow versus the KP.",
               "description": "`True` if the direction of the flow follows the KP, `False` otherwise.",
               "default": true,
               "type": "boolean"
            },
            "length": {
               "title": "Route Length",
               "description": "The projected route length.",
               "example": {
                  "val": 12.568,
                  "unit": "km"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            }
         },
         "additionalProperties": false
      },
      "Density": {
         "title": "Density",
         "description": ":ref:`Measure` of a density.",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "g.m^-3",
                  "kg.m^-3"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Stress": {
         "title": "Stress",
         "description": ":ref:`Measure` of stress",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "Pa",
                  "kPa",
                  "MPa",
                  "GPa",
                  "psi",
                  "kpsi"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "UnitLess": {
         "title": "UnitLess",
         "description": ":ref:`Measure` for dimensionless ratios.",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "anyOf": [
                  {
                     "type": "null"
                  },
                  {
                     "enum": [
                        "ppb",
                        "%",
                        "ppm",
                        "ppt",
                        "ppq",
                        "N/A",
                        ""
                     ],
                     "type": "string"
                  }
               ]
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Thermal_Expansion_Coef": {
         "title": "Thermal_Expansion_Coef",
         "description": ":ref:`Measure` of coefficient of thermal expansion",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "Unit",
               "enum": [
                  "C^-1",
                  "K^-1",
                  "F^-1"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Specific_Heat_Capacity": {
         "title": "Specific_Heat_Capacity",
         "description": ":ref:`Measure` of specific heat capacity, the amount of energy needed to raise the \ntemperature of a substance by degree.",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "J.K^-1.g^-1",
                  "J.C^-1.g^-1",
                  "J.K^-1.kg^-1",
                  "J.C^-1.kg^-1"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Thermal_Conductivity": {
         "title": "Thermal_Conductivity",
         "description": ":ref:`Measure` of Thermal Conductivity",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "W.m^-1.K^-1"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Pressure": {
         "title": "Pressure",
         "description": ":ref:`Measure` of pressure",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "Pa",
                  "kPa",
                  "MPa",
                  "GPa",
                  "psi",
                  "kpsi",
                  "bar"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "BarePipeSpec": {
         "title": "BarePipeSpec",
         "description": "`BarePipeSpec` stores data intended to gather the properties of :ref:`BarePipe` objects.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "bare_pipe_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "standard": {
               "title": "Standard",
               "description": "Main Standard for the pipe.",
               "example": "DNV",
               "enum": [
                  "DNV",
                  "API5L"
               ],
               "type": "string"
            },
            "marking_rule": {
               "title": "marking_rule",
               "description": "Marking rule.",
               "type": "string"
            },
            "marking_ends_rules": {
               "title": "marking ends rule",
               "description": "Marking ends rule",
               "type": "string"
            },
            "length_nom": {
               "title": "Length, nominal",
               "description": "The linepipe nominal :ref:`Length`.",
               "example": {
                  "val": 12.252,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "length_min": {
               "title": "Length, minimum",
               "description": "The linepipe minimum :ref:`Length`.",
               "example": {
                  "val": 12.1,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "length_max": {
               "title": "Length, maximal",
               "description": "The linepipe maximum :ref:`Length`.",
               "example": {
                  "val": 12.3,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "out_dia_nom": {
               "title": "Outside Diameter, nominal",
               "description": "Outside diameter of the linepipe (steel external surface), nominal.",
               "example": {
                  "val": 323.9,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "out_dia_tol_neg_body": {
               "title": "Outside Diameter Tolerance, negative, body",
               "description": "Outside diameter negative tolerance of the linepipe body (steel external surface).",
               "example": {
                  "val": -3.05,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "out_dia_tol_pos_body": {
               "title": "Outside Diameter Tolerance, positive, body",
               "description": "Outside diameter positive tolerance of the linepipe body (steel external surface).",
               "example": {
                  "val": 3.05,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "out_dia_tol_neg_end": {
               "title": "Outside Diameter Tolerance, negative, end",
               "description": "Outside diameter negative tolerance of the linepipe end (steel external surface).",
               "example": {
                  "val": -2.03,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "out_dia_tol_pos_end": {
               "title": "Outside Diameter Tolerance, positive, end",
               "description": "Outside diameter positive tolerance of the linepipe end (steel external surface).",
               "example": {
                  "val": 2.03,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "inn_dia_nom": {
               "title": "Inner Diameter, nominal",
               "description": "Inner diameter of the linepipe (steel inertal surface), nominal.",
               "example": {
                  "val": 295.3,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "inn_dia_tol_neg_body": {
               "title": "Inner Diameter Tolerance, negative, body",
               "description": "Inner diameter negative tolerance of the linepipe body (steel internal surface).",
               "example": {
                  "val": -3.05,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "inn_dia_tol_pos_body": {
               "title": "Inner Diameter Tolerance, positive, body",
               "description": "Inner diameter positive tolerance of the linepipe body (steel internal surface).",
               "example": {
                  "val": 3.05,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "inn_dia_tol_neg_end": {
               "title": "Inner Diameter Tolerance, negative, end",
               "description": "Inner diameter negative tolerance of the linepipe end (steel internal surface).",
               "example": {
                  "val": -2.03,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "inn_dia_tol_pos_end": {
               "title": "Inner Diameter Tolerance, positive, end",
               "description": "Inner diameter positive tolerance of the linepipe end (steel internal surface).",
               "example": {
                  "val": 2.03,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "wth_nom": {
               "title": "Wall Thickness, nominal.",
               "description": "Wall thickness of the linepipe (internal to external bare steel surface, excluding liner, clad, coating, etc), nominal.",
               "example": {
                  "val": 14.3,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "wth_tol_neg": {
               "title": "Wall Thickness Tolerance, negative",
               "description": "Wall thickness tolerance of the linepipe (internal to external bare steel surface, excluding liner, clad, coating, etc), negative.",
               "example": {
                  "val": -1.43,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "wth_tol_pos": {
               "title": "Wall Thickness Tolerance, positive",
               "description": "Wall thickness tolerance of the linepipe (internal to external bare steel surface, excluding liner, clad, coating, etc), positive.",
               "example": {
                  "val": 1.78,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oor_dnv_tol_end": {
               "title": "Out-of-roundness Tolerance, end",
               "description": "Out-of-roundness tolerance of the linepipe end (steel external surface) as per DNV.",
               "example": {
                  "val": 4.06,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oor_dnv_tol_body": {
               "title": "Out-of-roundness Tolerance, body",
               "description": "Out-of-roundness tolerance of the linepipe body (steel external surface) as per DNV.",
               "example": {
                  "val": 6.1,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oor_api5L_tol_end": {
               "title": "Out-of-roundness Tolerance, end",
               "description": "Out-of-roundness tolerance of the linepipe end (steel external surface) as per API5L.",
               "example": {
                  "val": 4.06,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oor_api5L_tol_body": {
               "title": "Out-of-roundness Tolerance, body",
               "description": "Out-of-roundness tolerance of the linepipe body (steel external surface) as per API5L.",
               "example": {
                  "val": 6.1,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "str_tol": {
               "title": "Max Straightness tolerance, full length",
               "description": "Max Straightness tolerance for full length of pipe.",
               "example": {
                  "val": 18,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "str_tol_end": {
               "title": "Max Straightness tolerance deviation,end",
               "description": "Max Straightness tolerance deviation for pipe end region.",
               "example": {
                  "val": 3,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oosq_tol_end": {
               "title": "Out-of-squarness,end",
               "description": "Out-of squareness at pipe ends.",
               "example": {
                  "val": 1.6,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "material_type": {
               "title": "Material Type",
               "description": "Material type used to make the pipe.",
               "example": [
                  "C-Mn"
               ],
               "enum": [
                  "C-Mn"
               ],
               "type": "string"
            },
            "material_density": {
               "title": "Material Density",
               "description": "Material :ref:`Density`",
               "example": {
                  "val": 7850,
                  "unit": "kg.m^-3"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Density"
                  }
               ]
            },
            "material_steel_grade_dnv": {
               "title": "Steel Grade",
               "description": "Main steel material grade, as per DNV acronym.",
               "example": [
                  "DNV450"
               ],
               "enum": [
                  "DNV245",
                  "DNV290",
                  "DNV320",
                  "DNV360",
                  "DNV390",
                  "DNV415",
                  "DNV450",
                  "DNV485",
                  "DNV555"
               ],
               "type": "string"
            },
            "material_steel_grade_api5L": {
               "title": "Steel Grade",
               "description": "Main steel material grade, as per API5L acronym.",
               "example": [
                  "X65"
               ],
               "enum": [
                  "X52",
                  "X56",
                  "X60",
                  "X65",
                  "X70",
                  "X80"
               ],
               "type": "string"
            },
            "young_modulus": {
               "title": "Young's Modulus",
               "description": ":ref:`Stress` for material Young's modulus, at ambiant temperature.",
               "example": {
                  "val": 210,
                  "unit": "GPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "poisson_ratio": {
               "title": "Poisson Ratio",
               "description": "Material Poisson :ref:`UnitLess` ratio.",
               "example": {
                  "val": 0.3,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "material_thermal_expansion_coef": {
               "title": "Thermal Expansion Coefficient",
               "description": ":ref:`Thermal_Expansion_Coef` ratio for material thermal expansion coefficient",
               "example": {
                  "val": 1.17e-05,
                  "unit": "C^-1"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Expansion_Coef"
                  }
               ]
            },
            "material_specific_heat_capacity": {
               "title": "Material Specific Heat Capacity",
               "description": ":ref:`Specific_Heat_Capacity` measure of the material.",
               "example": [
                  {
                     "val": 420,
                     "unit": "J.K^-1.kg^-1"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Specific_Heat_Capacity"
                  }
               ]
            },
            "material_thermal_conductivity": {
               "title": "Material Thermal Conductivity",
               "description": ":ref:`Thermal_Conductivity` for the material.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Conductivity"
                  }
               ]
            },
            "material_thermal_emissivity": {
               "title": "Material Thermal Emissivity",
               "description": ":ref:`UnitLess` ratio for thermal emissivity",
               "example": {
                  "val": 0.9,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "yie_str_min": {
               "title": "Yield Strength Minimum, (SMYS).",
               "description": ":ref:`Stress` for Minimum Yield Strength (SMYS).",
               "example": {
                  "val": 450,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_str_max": {
               "title": "Yield Strength Maximum ",
               "description": ":ref:`Stress` for Yield Strength Maximum.",
               "example": {
                  "val": 535,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_str_range": {
               "title": "Yield Strength Range ",
               "description": ":ref:`Stress` for Yield Strength Range.",
               "example": {
                  "val": 100,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_min": {
               "title": "SMTS",
               "description": ":ref:`Stress` for Minimum Tensile Strength (SMTS).",
               "example": {
                  "val": 760,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_max": {
               "title": "Tensile Strength Maximum ",
               "description": ":ref:`Stress` for Tensile Strength Maximum.",
               "example": {
                  "val": 570,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_to_ten_max": {
               "title": "Y/T, maximum, specified",
               "description": "Maximum Yield to tensile :ref:`UnitLess` ratio, (Strain Hardening).",
               "example": [
                  {
                     "val": 0.93,
                     "unit": ""
                  },
                  {
                     "val": 93,
                     "unit": "%"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "uni_elon": {
               "title": "Uniform Elongation",
               "description": "Uniform Elongation.",
               "example": {
                  "val": 17,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "elon_at_yie": {
               "title": "Elongation at yield",
               "description": "Elongation at yield.",
               "example": {
                  "val": 10,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "manuf_process": {
               "title": "Process of Manufacture",
               "description": "Process of manufacturing used to make the pipe.",
               "example": "SMLS",
               "enum": [
                  "EBW",
                  "LBW",
                  "HFI",
                  "MWPHFW",
                  "SAW",
                  "SAWL",
                  "SAWH",
                  "SMLS"
               ],
               "type": "string"
            },
            "dnv_alpha_fab": {
               "title": "DNV Alpha Fab",
               "description": "Maximum Fabrication Factor :ref:`UnitLess` ratio, as per DNV code.",
               "example": [
                  {
                     "val": 0.85,
                     "unit": ""
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "delivery_condition_api5L": {
               "title": "Delivery Condition (API 5L)",
               "description": "Delivery condition for the pipe.",
               "example": [
                  "M",
                  "Q"
               ],
               "enum": [
                  "R",
                  "N",
                  "Q",
                  "M"
               ],
               "type": "string"
            },
            "supp_req_api5L": {
               "title": "Supplementary Requirement, API5L",
               "description": "Supplementary requirements from the purchaser, as per API5L.",
               "example": [
                  "['O', 'S']",
                  "['O']"
               ],
               "type": "array",
               "items": {
                  "enum": [
                     "S",
                     "O",
                     "N"
                  ],
                  "type": "string"
               }
            },
            "supp_req_dnv": {
               "title": "Supplementary Requirement, DNV",
               "description": "Supplementary requirements from the purchaser, as per DNV.",
               "example": [
                  "['S', 'P']",
                  "['U']"
               ],
               "type": "array",
               "items": {
                  "enum": [
                     "D",
                     "F",
                     "P",
                     "S",
                     "U"
                  ],
                  "type": "string"
               }
            },
            "mill_test_pressure": {
               "title": "Mill Hydrotest Pressure",
               "description": ":ref:`Pressure` at which the pipe is to be hydrotested at the mill.",
               "example": {
                  "val": 405,
                  "unit": "bar"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Pressure"
                  }
               ]
            },
            "marking": {
               "title": "Marking",
               "description": "Marking for the pipe.",
               "maxLength": 256,
               "example": [
                  "DNVGL SMLS 450 SP 323.9 x 14.3",
                  "DNVGL MWPL 415 D L - UNS S31600 (B) UNS N06625 (E)",
                  "X  API  Spec  5L 508  12,7  L360M  PSL  2  SAWL  Y  Z  TESTED 17,5"
               ],
               "type": "string"
            },
            "marking_end_a": {
               "title": "Marking End A",
               "description": "Marking for the pipe end A.",
               "example": "Red dot",
               "type": "string"
            },
            "marking_end_b": {
               "title": "Marking End B",
               "description": "Marking for the pipe end B.",
               "example": "Yellow stripe",
               "type": "string"
            }
         },
         "additionalProperties": false
      },
      "Angle": {
         "title": "Angle",
         "description": ":ref:`Measure` of an angle.",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "deg",
                  "rad"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "CoatingLayerSpec": {
         "title": "CoatingLayerSpec",
         "description": "`CoatingLayerSpec` object stores data related to one layer of coating.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "coating_layer_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "layer_nb": {
               "title": "Layer Location",
               "description": "Order for the layer. `1` corresponds to the first layer on top of the bare steel, and so on. `-1` works with the same principle for coating applied to the inner surface of the tube. CRA Pipes not included in 'CoatingLayerSpec'.",
               "examples": [
                  -1,
                  1,
                  2
               ],
               "type": "integer"
            },
            "material_type": {
               "title": "Material Type",
               "description": "Material type used to make the coating layer.",
               "maxLength": 256,
               "examples": [
                  "FBE",
                  "Adhesive",
                  "PP"
               ],
               "type": "string"
            },
            "material_density": {
               "title": "Material Density",
               "description": "Material :ref:`Density`",
               "example": {
                  "val": 7850,
                  "unit": "kg.m^-3"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Density"
                  }
               ]
            },
            "material_specific_heat_capacity": {
               "title": "Material Specific Heat Capacity",
               "description": ":ref:`Specific_Heat_Capacity` measure of the material.",
               "example": [
                  {
                     "val": 420,
                     "unit": "J.K^-1.kg^-1"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Specific_Heat_Capacity"
                  }
               ]
            },
            "material_thermal_conductivity": {
               "title": "Material Thermal Conductivity",
               "description": ":ref:`Thermal_Conductivity` for the material.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Conductivity"
                  }
               ]
            },
            "material_thermal_emissivity": {
               "title": "Material Thermal Emissivity",
               "description": ":ref:`UnitLess` ratio for thermal emissivity",
               "example": {
                  "val": 0.9,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "young_modulus": {
               "title": "Young's Modulus",
               "description": ":ref:`Stress` for material Young's modulus, at ambiant temperature.",
               "example": {
                  "val": 210,
                  "unit": "GPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "poisson_ratio": {
               "title": "Poisson Ratio",
               "description": "Material Poisson :ref:`UnitLess` ratio.",
               "example": {
                  "val": 0.3,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "material_thermal_expansion_coef": {
               "title": "Thermal Expansion Coefficient",
               "description": ":ref:`Thermal_Expansion_Coef` ratio for material thermal expansion coefficient",
               "example": {
                  "val": 1.17e-05,
                  "unit": "C^-1"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Expansion_Coef"
                  }
               ]
            },
            "yie_str_min": {
               "title": "Yield Strength Minimum, (SMYS).",
               "description": ":ref:`Stress` for Minimum Yield Strength (SMYS).",
               "example": {
                  "val": 450,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_str_max": {
               "title": "Yield Strength Maximum ",
               "description": ":ref:`Stress` for Yield Strength Maximum.",
               "example": {
                  "val": 535,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_min": {
               "title": "SMTS",
               "description": ":ref:`Stress` for Minimum Tensile Strength (SMTS).",
               "example": {
                  "val": 760,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_max": {
               "title": "Tensile Strength Maximum ",
               "description": ":ref:`Stress` for Tensile Strength Maximum.",
               "example": {
                  "val": 570,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_to_ten_max": {
               "title": "Y/T, maximum, specified",
               "description": "Maximum Yield to tensile :ref:`UnitLess` ratio, (Strain Hardening).",
               "example": [
                  {
                     "val": 0.93,
                     "unit": ""
                  },
                  {
                     "val": 93,
                     "unit": "%"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "uni_elon": {
               "title": "Uniform Elongation",
               "description": "Uniform Elongation.",
               "example": {
                  "val": 17,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "elon_at_yie": {
               "title": "Elongation at yield",
               "description": "Elongation at yield.",
               "example": {
                  "val": 10,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "thickness_nom": {
               "title": "Layer Thickness, nominal, specified",
               "description": ":ref:`Length` for Thickness of the coating layer, nominal.",
               "examples": [
                  {
                     "val": 3.0,
                     "unit": "mm"
                  },
                  {
                     "val": 0.003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_tol_neg": {
               "title": "Layer Thickness Tolerance, negative",
               "description": ":ref:`Length` for Thickness tolerance of the coating layer, negative.",
               "examples": [
                  {
                     "val": -0.3,
                     "unit": "mm"
                  },
                  {
                     "val": -0.0003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_tol_pos": {
               "title": "Layer Thickness Tolerance, positive",
               "description": ":ref:`Length` for Thickness tolerance of the coating layer, positive.",
               "examples": [
                  {
                     "val": 0.3,
                     "unit": "mm"
                  },
                  {
                     "val": 0.0003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            }
         },
         "additionalProperties": false
      },
      "PipeCoatingSpec": {
         "title": "PipeCoatingSpec",
         "description": "`PipeCoatingSpec` stores data intended to gather the specified properties of :ref:`PipeCoatingSpec` objects.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "pipe_coating_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "system": {
               "title": "Coating System Name",
               "description": "Coating System Name",
               "example": "3LPP",
               "type": "string"
            },
            "thickness_nom": {
               "title": "Overall Coating System Thickness, Nominal",
               "description": ":ref:`Length` for coating system overall thickness, nominal.",
               "example": {
                  "val": 0.0025,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_min": {
               "title": "Overall Coating System Thickness, Minimum",
               "description": ":ref:`Length` for coating system overall thickness, minimum.",
               "example": {
                  "val": 0.0022,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_max": {
               "title": "Overall Coating System Thickness, Maximum",
               "description": ":ref:`Length` for coating system overall thickness, maximum.",
               "example": {
                  "val": 0.0027,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length_nom": {
               "title": "Coating Cut-Back Length, nominal",
               "description": ":ref:`Length` for Coating Cut-Back, nominal.",
               "examples": {
                  "val": 150,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length_max": {
               "title": "Coating Cut-Back Length, maximum",
               "description": ":ref:`Length` for Coating Cut-Back, maximum.",
               "examples": {
                  "val": 170,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length_min": {
               "title": "Coating Cut-Back Length, minimum",
               "description": ":ref:`Length` for Coating Cut-Back, minimum.",
               "examples": {
                  "val": 130,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "chamfer_angle_nom": {
               "title": "Coating Chamfer Angle, nominal",
               "description": ":ref:`Angle` for Coating Chamfer, nominal.",
               "examples": {
                  "val": 40,
                  "unit": "deg"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Angle"
                  }
               ]
            },
            "chamfer_angle_max": {
               "title": "Coating Chamfer Angle, maximum",
               "description": ":ref:`Angle` for Coating Chamfer, maximum.",
               "examples": {
                  "val": 45,
                  "unit": "deg"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Angle"
                  }
               ]
            },
            "chamfer_angle_min": {
               "title": "Coating Chamfer Angle, minimum",
               "description": ":ref:`Angle` for Coating Chamfer, minimum.",
               "examples": {
                  "val": 35,
                  "unit": "deg"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Angle"
                  }
               ]
            },
            "surface_roughness": {
               "title": "Surface Coating Roughness ",
               "description": "Ra Average Surface Roughness.",
               "example": {
                  "val": 0.4,
                  "unit": "microm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "surface_color": {
               "title": "Surface Color",
               "description": "Coating system color.",
               "example": [
                  "Grey"
               ],
               "type": "string"
            },
            "related_bare_pipe_spec": {
               "title": "Relations to BarePipeSpec",
               "description": "Related instances of :ref:`BarePipeSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "records_of_coating_layer_spec": {
               "title": "Records of Coating Layer Specification",
               "description": "Embedded records of specifications for each coating layer, :ref:`CoatingLayerSpec`.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/CoatingLayerSpec"
               }
            }
         },
         "additionalProperties": false
      },
      "FieldJointCoatingLayerSpec": {
         "title": "FieldJointCoatingLayerSpec",
         "description": "`FieldJointCoatingLayerSpec` object stores data related to one layer of field joint coating.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "field_joint_coating_layer_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "layer_nb": {
               "title": "Layer Location",
               "description": "Order for the layer. `1` corresponds to the first layer on top of the bare steel, and so on.",
               "examples": [
                  1,
                  2
               ],
               "type": "integer"
            },
            "cut_back_length_nominal": {
               "title": "Cut back length, nominal",
               "description": ":ref:`Length` for nominal cut-back of the field joint coating layer.",
               "example": {
                  "val": 200,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length_min": {
               "title": "Cut back length, minimum",
               "description": ":ref:`Length` for minimum cut-back of the field joint coating layer.",
               "example": {
                  "val": 180,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length_max": {
               "title": "Cut back length, maximum",
               "description": ":ref:`Length` for maximum cut-back of the field joint coating layer.",
               "example": {
                  "val": 220,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "material_type": {
               "title": "Material Type",
               "description": "Material type used to make the field joint coating layer.",
               "maxLength": 256,
               "examples": [
                  "FBE",
                  "PVC",
                  "PP"
               ],
               "type": "string"
            },
            "material_density": {
               "title": "Material Density",
               "description": "Material :ref:`Density`",
               "example": {
                  "val": 7850,
                  "unit": "kg.m^-3"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Density"
                  }
               ]
            },
            "material_specific_heat_capacity": {
               "title": "Material Specific Heat Capacity",
               "description": ":ref:`Specific_Heat_Capacity` measure of the material.",
               "example": [
                  {
                     "val": 420,
                     "unit": "J.K^-1.kg^-1"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Specific_Heat_Capacity"
                  }
               ]
            },
            "material_thermal_conductivity": {
               "title": "Material Thermal Conductivity",
               "description": ":ref:`Thermal_Conductivity` for the material.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Conductivity"
                  }
               ]
            },
            "material_thermal_emissivity": {
               "title": "Material Thermal Emissivity",
               "description": ":ref:`UnitLess` ratio for thermal emissivity",
               "example": {
                  "val": 0.9,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "young_modulus": {
               "title": "Young's Modulus",
               "description": ":ref:`Stress` for material Young's modulus, at ambiant temperature.",
               "example": {
                  "val": 210,
                  "unit": "GPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "poisson_ratio": {
               "title": "Poisson Ratio",
               "description": "Material Poisson :ref:`UnitLess` ratio.",
               "example": {
                  "val": 0.3,
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "material_thermal_expansion_coef": {
               "title": "Thermal Expansion Coefficient",
               "description": ":ref:`Thermal_Expansion_Coef` ratio for material thermal expansion coefficient",
               "example": {
                  "val": 1.17e-05,
                  "unit": "C^-1"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Thermal_Expansion_Coef"
                  }
               ]
            },
            "yie_str_min": {
               "title": "Yield Strength Minimum, (SMYS).",
               "description": ":ref:`Stress` for Minimum Yield Strength (SMYS).",
               "example": {
                  "val": 450,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_str_max": {
               "title": "Yield Strength Maximum ",
               "description": ":ref:`Stress` for Yield Strength Maximum.",
               "example": {
                  "val": 535,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_min": {
               "title": "SMTS",
               "description": ":ref:`Stress` for Minimum Tensile Strength (SMTS).",
               "example": {
                  "val": 760,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "ten_str_max": {
               "title": "Tensile Strength Maximum ",
               "description": ":ref:`Stress` for Tensile Strength Maximum.",
               "example": {
                  "val": 570,
                  "unit": "MPa"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Stress"
                  }
               ]
            },
            "yie_to_ten_max": {
               "title": "Y/T, maximum, specified",
               "description": "Maximum Yield to tensile :ref:`UnitLess` ratio, (Strain Hardening).",
               "example": [
                  {
                     "val": 0.93,
                     "unit": ""
                  },
                  {
                     "val": 93,
                     "unit": "%"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "uni_elon": {
               "title": "Uniform Elongation",
               "description": "Uniform Elongation.",
               "example": {
                  "val": 17,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "elon_at_yie": {
               "title": "Elongation at yield",
               "description": "Elongation at yield.",
               "example": {
                  "val": 10,
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "thickness_nom": {
               "title": "Layer Thickness, nominal",
               "description": ":ref:`Length` for Thickness of the field joint coating layer, nominal.",
               "examples": [
                  {
                     "val": 3.0,
                     "unit": "mm"
                  },
                  {
                     "val": 0.003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_tol_neg": {
               "title": "Layer Thickness Tolerance, negative",
               "description": ":ref:`Length` for Thickness tolerance of the field joint coating layer, negative.",
               "examples": [
                  {
                     "val": -0.3,
                     "unit": "mm"
                  },
                  {
                     "val": -0.0003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_tol_pos": {
               "title": "Layer Thickness Tolerance, positive",
               "description": ":ref:`Length` for Thickness tolerance of the field joint coating layer, positive.",
               "examples": [
                  {
                     "val": 0.3,
                     "unit": "mm"
                  },
                  {
                     "val": 0.0003,
                     "unit": "m"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            }
         }
      },
      "FieldJointCoatingSpec": {
         "title": "FieldJointCoatingSpec",
         "description": "`FieldJointCoatingSpec` stores data intended to gather the specified properties of `FieldJointCoating` objects.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "field_joint_coating_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "overlap": {
               "title": "Length of overlap",
               "description": ":ref:`Length` of the field joint coating overlaping over parent coating",
               "example": {
                  "val": 5,
                  "unit": "cm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_weld_spec": {
               "title": "Relations to WeldSpec",
               "description": "Related instances of :ref:`WeldSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "weld_1"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "records_of_field_joint_coating_layer_spec": {
               "title": "Records of Field Joint Coating Layer Specification",
               "description": "Embedded records of specifications for each coating layer, :ref:`FieldJointCoatingLayerSpec`.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/FieldJointCoatingLayerSpec"
               }
            }
         },
         "additionalProperties": false
      },
      "ElectricCurrent": {
         "title": "ElectricCurrent",
         "description": ":ref:`Measure` of the intensity of an electric current.",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "A"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Volt": {
         "title": "Volt",
         "description": ":ref:`Measure` of a current tension",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "V"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Speed": {
         "title": "Speed",
         "description": ":ref:`Measure` of speed",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "m.s^-1",
                  "km.hr^-1",
                  "mm.hr^-1",
                  "knots",
                  "ipm"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "HeatInput": {
         "title": "HeatInput",
         "description": ":ref:`Measure` of Heat Input",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "J/in",
                  "J/mm",
                  "kJ/in",
                  "kJ/mm"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "Temperature": {
         "title": "Temperature",
         "description": ":ref:`Measure` of temperature",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "K",
                  "C",
                  "F"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "WeldPassSpec": {
         "title": "WeldPassSpec",
         "description": "`WeldPassSpec` object stores data related to one pass of layer's weld.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld_pass_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "pass_nb": {
               "title": "Pass number",
               "description": "The pass. `1` corresponds to the first pass on top parent layer, and so on.",
               "examples": [
                  1,
                  2
               ],
               "type": "integer"
            },
            "process": {
               "title": "welding process name",
               "description": "Type of welding process.",
               "examples": "SMAW",
               "enum": [
                  "OFW",
                  "SMAW",
                  "GTAW",
                  "GMAW",
                  "PAW",
                  "FCAW",
                  "SAW",
                  "ESW",
                  "EGW",
                  "BRAZING",
                  "THERMAL SPRAYING"
               ],
               "type": "string"
            },
            "filler_metal_aws": {
               "title": "Americal Welding Society classification label of filler metal",
               "description": "Americal Welding Society classification label of filler metal.",
               "examples": "A5.9",
               "enum": [
                  "A5.1",
                  "A5.2",
                  "A5.3",
                  "A5.4",
                  "A5.5",
                  "A5.6",
                  "A5.7",
                  "A5.8",
                  "A5.9",
                  "A5.10",
                  "A5.11",
                  "A5.12",
                  "A5.14",
                  "A5.15",
                  "A5.16",
                  "A5.17",
                  "A5.18",
                  "A5.19",
                  "A5.20",
                  "A5.21",
                  "A5.22",
                  "A5.23",
                  "A5.24",
                  "A5.25",
                  "A5.26",
                  "A5.28",
                  "A5.29",
                  "A5.30",
                  "A5.31",
                  "A5.32",
                  "A5.36",
                  "C2.25"
               ],
               "type": "string"
            },
            "filler_metal_size": {
               "title": "Filler metal size",
               "description": ":ref:`Length` measure of filler metal diameter.",
               "examples": {
                  "val": 1,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "polarity": {
               "title": "Polarity",
               "description": "Polarity of electrical current flow used to weld.",
               "examples": "AC",
               "enum": [
                  "AC",
                  "DCEP",
                  "DCEN"
               ],
               "type": "string"
            },
            "amps_min": {
               "title": "Minimum amperage for welding",
               "description": ":ref:`ElectricCurrent` measure of minimum amperage used to weld.",
               "examples": {
                  "val": "75",
                  "unit": "amp"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/ElectricCurrent"
                  }
               ]
            },
            "amps_max": {
               "title": "Maximum amperage",
               "description": ":ref:`ElectricCurrent` measure of maximum amperage used to weld.",
               "examples": {
                  "val": "125",
                  "unit": "A"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/ElectricCurrent"
                  }
               ]
            },
            "volt_min": {
               "title": "Minimum voltage ",
               "description": ":ref:`Volt` measure of minimum voltage used to weld.",
               "examples": {
                  "val": "23",
                  "unit": "V"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Volt"
                  }
               ]
            },
            "volt_max": {
               "title": "Maximum voltage",
               "description": ":ref:`Volt` measure of maximum voltage used to weld.",
               "examples": {
                  "val": "25",
                  "unit": "V"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Volt"
                  }
               ]
            },
            "travel_speed_min": {
               "title": "Minimum travel speed",
               "description": ":ref:`Speed` measure of minimum travel speed used to weld.",
               "examples": {
                  "val": "14",
                  "unit": "ipm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Speed"
                  }
               ]
            },
            "travel_speed_max": {
               "title": "Maximum travel speed",
               "description": ":ref:`Speed` measure of maximum travel speed used to weld.",
               "examples": {
                  "val": "15",
                  "unit": "ipm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Speed"
                  }
               ]
            },
            "heat_input_min": {
               "title": "Minimum heat input",
               "description": ":ref:`HeatInput` measure of minimum heat input used to weld.",
               "examples": {
                  "val": "10",
                  "unit": "kJ/in"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/HeatInput"
                  }
               ]
            },
            "heat_input_max": {
               "title": "Maximum heat input",
               "description": ":ref:`HeatInput` measure of maximum heat input used to weld.",
               "examples": {
                  "val": "20",
                  "unit": "kJ/in"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/HeatInput"
                  }
               ]
            },
            "interpass_min": {
               "title": "Minimum Interpass Temperature",
               "description": "Minimum :ref:`Temperature` measure of interpass.",
               "examples": {
                  "val": "70",
                  "unit": "C"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Temperature"
                  }
               ]
            },
            "interpass_max": {
               "title": "Maximum Interpass Temperature",
               "description": "Maximum :ref:`Temperature` measure of interpass.",
               "examples": {
                  "val": "200",
                  "unit": "C"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Temperature"
                  }
               ]
            },
            "position": {
               "title": "Type of Welding Position",
               "description": "Type of Welding Position, 1G, 2G, 5G, 6G.",
               "examples": "5G",
               "enum": [
                  "1G",
                  "2G",
                  "5G",
                  "6G"
               ],
               "type": "string"
            },
            "gas": {
               "title": "Type of Welding Gas ",
               "description": "Type of Gas used to weld.",
               "examples": "Argon ",
               "enum": [
                  "Ar",
                  "CO2",
                  "O2",
                  "He",
                  "N",
                  "H"
               ],
               "type": "string"
            },
            "gas_flow_rate": {
               "title": "Welding Gas Flow Rate ",
               "description": "Value of gas flow rate.",
               "examples": {
                  "val": 1,
                  "unit": "'mm.hr^-1'"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Speed"
                  }
               ]
            },
            "gas_cup_size": {
               "title": "Gas cup size ",
               "description": ":ref:`Length` measure of gas cup size.",
               "examples": {
                  "val": 4,
                  "unit": "'mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "tungsten_type": {
               "title": "Type of tungsten electrodes ",
               "description": "Type of tungsten electrodes. ",
               "examples": "EWP",
               "enum": [
                  "EWP",
                  "EWTh-1",
                  "EWTh-2",
                  "EWZr",
                  "EWCe-2",
                  "EWLa-1"
               ],
               "type": "string"
            },
            "tungsten_size": {
               "title": "Tunsgten Size ",
               "description": ":ref:`Length` measure of tungsten electrode size.",
               "examples": {
                  "val": 175,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "backing": {
               "title": "Backing used ",
               "description": "True or False backing used. ",
               "examples": true,
               "type": "boolean"
            },
            "backgouging": {
               "title": "Backgouging process",
               "description": "True or False backgouging process used.",
               "examples": false,
               "type": "boolean"
            }
         }
      },
      "WeldLayerSpec": {
         "title": "WeldLayerSpec",
         "description": "`WeldLayerSpec` object stores data related to one layer of weld.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld_layer_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "layer_name": {
               "title": "Type of layer name",
               "description": " Name of Layer, root, hot, fill or cap",
               "examples": "root",
               "enum": [
                  "root",
                  "hot",
                  "fill",
                  "cap"
               ],
               "type": "string"
            },
            "layer_nb": {
               "title": "Layer Location",
               "description": "Order for the layer. `1` corresponds to the first layer at root",
               "examples": [
                  1,
                  2
               ],
               "type": "integer"
            },
            "records_of_weld_pass_spec": {
               "title": "Records of Weld Pass Specification",
               "description": "Embedded records of specifications for each weld pass, :ref:`WeldPassSpec`.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/WeldPassSpec"
               }
            }
         }
      },
      "WeldSpec": {
         "title": "WeldSpec",
         "description": "`WeldSpec` stores data intended to gather the specified properties of `Weld` objects.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "environment_cap": {
               "title": "Cap Environment",
               "description": "Environmental condition for cap.",
               "example": "seawater with cathodic protection",
               "enum": [
                  "air",
                  "seawater with cathodic protection",
                  "seawater with free corrosion"
               ],
               "type": "string"
            },
            "environment_root": {
               "title": "Root Environment",
               "description": "Environmental condition for root.",
               "example": "air",
               "enum": [
                  "air",
                  "seawater with cathodic protection",
                  "seawater with free corrosion"
               ],
               "type": "string"
            },
            "fatigue_acceptance_criteria": {
               "title": "Fatigue Acceptance Criteria",
               "description": ":ref:`Unitless` measure of maximum allowable total accumulated damage ratio.",
               "example": {
                  "val": "0.8",
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "groove_angle": {
               "title": "groove angle",
               "description": ":ref:`Angle` measure of groove.",
               "example": {
                  "val": "0.8",
                  "unit": "deg"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Angle"
                  }
               ]
            },
            "knock_down_factor_cap": {
               "title": "Knock Down Factor Cap",
               "description": ":ref:`Unitless` measure of knock-down factor.",
               "example": {
                  "val": "10",
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "knock_down_factor_root": {
               "title": "Knock Down Factor Root",
               "description": ":ref:`Unitless` measure of knock-down factor.",
               "example": {
                  "val": "10",
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "l_root": {
               "title": "Length measure of root gap ",
               "description": ":ref:`Length` measure root gap.",
               "example": {
                  "val": "1",
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "l_cap": {
               "title": "Length measure of root gap ",
               "description": ":ref:`Length` measure of cap length/opening width.",
               "example": {
                  "val": "3.5",
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "max_hi_lo_cap": {
               "title": "High/low on cap side",
               "description": ":ref:`Length` measure of maximum High/low on cap side.",
               "example": {
                  "val": "1.3",
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "max_hi_lo_root": {
               "title": "High/low on root side",
               "description": ":ref:`Length` measure of maximum High/low on root side.",
               "example": {
                  "val": "1.3",
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "root_face": {
               "title": "Length measure of thickness root face",
               "description": ":ref:`Length` measure of thickness root face.",
               "example": {
                  "val": "0.3",
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "sn_curve_cap": {
               "title": "S-N Curve for cap",
               "description": "S-N Curve to be used for cap.",
               "example": "C",
               "enum": [
                  "B1",
                  "B2",
                  "C",
                  "C1",
                  "C2",
                  "D",
                  "E",
                  "F",
                  "F1",
                  "F3",
                  "G",
                  "W1",
                  "W2",
                  "W3"
               ],
               "type": "string"
            },
            "sn_curve_root": {
               "title": "S-N Curve for cap",
               "description": "S-N Curve to be used for cap.",
               "example": "C",
               "enum": [
                  "B1",
                  "B2",
                  "C",
                  "C1",
                  "C2",
                  "D",
                  "E",
                  "F",
                  "F1",
                  "F3",
                  "G",
                  "W1",
                  "W2",
                  "W3"
               ],
               "type": "string"
            },
            "stress_concentration_factor_cap": {
               "title": "Stress Concentration Factor Cap",
               "description": ":ref:`Unitless` measure of stress concentration factor.",
               "example": {
                  "val": "1.175",
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "stress_concentration_factor_root": {
               "title": "Stress Concentration Factor Root",
               "description": ":ref:`Unitless` measure of stress concentration factor.",
               "example": {
                  "val": "1.175",
                  "unit": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "total_elongation_max_strain": {
               "title": "Total Elongation at Maximum Strain",
               "description": ":ref:`Unitless` measure of total elongation at maximum strain.",
               "example": {
                  "val": "1.175",
                  "unit": "%"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "records_of_weld_layer_spec": {
               "title": "Records of Weld Layer Specification",
               "description": "Embedded records of specifications for each weld layer, :ref:`WeldLayerSpec`.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/WeldLayerSpec"
               }
            },
            "related_bare_pipe_spec": {
               "title": "Related Bare Pipe Spec",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_assembly_single_pipe_spec": {
               "title": "Related Assembly Single Pipe Spec",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_section_single_pipe_spec": {
               "title": "Related Section Single Pipe Spec",
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "Duration": {
         "title": "Duration",
         "description": ":ref:`Measure` of a duration",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "s",
                  "mn",
                  "hr",
                  "d",
                  "mth",
                  "y"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "OHTC": {
         "title": "OHTC",
         "description": ":ref:`Measure` of Overall Heat Transfer Coefficient (u-value).",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "W.m^-2.K^-1"
               ],
               "type": "string"
            },
            "ref": {
               "title": "OHTC Diameter Reference",
               "description": "The reference diameter used to specify the OHTC.",
               "default": "ID",
               "examples": [
                  "ID",
                  "OD"
               ],
               "enum": [
                  "ID",
                  "OD"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "PipelineSpec": {
         "title": "PipelineSpec",
         "description": "Pipeline Spec object stores data related to one pipeline.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "pipeline_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "battery_limits": {
               "title": "Battery Limit",
               "description": "Description of the battery limits considered in the definition of the pipeline.",
               "maxLength": 1000,
               "example": "from PLET-18 to ILT-01",
               "type": "string"
            },
            "design_code": {
               "title": "Design Code",
               "description": "The main design code used for this pipeline.",
               "example": "DNV",
               "enum": [
                  "API",
                  "DNV",
                  "ISO"
               ],
               "type": "string"
            },
            "design_life": {
               "title": "Design Life",
               "description": "The design life :ref:`Duration`.",
               "examples": {
                  "val": 15.0,
                  "uom": "y"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Duration"
                  }
               ]
            },
            "system": {
               "title": "System",
               "description": "Related functional system.",
               "example": "gas export",
               "enum": [
                  "gas export",
                  "gas injection",
                  "gas lift",
                  "oil export",
                  "offloading",
                  "production",
                  "water alternate gas (WAG)",
                  "water injection"
               ],
               "type": "string"
            },
            "service": {
               "title": "Service",
               "description": "Functional service rating.",
               "examples": [
                  "sweet",
                  "sour"
               ],
               "enum": [
                  "sweet",
                  "sour"
               ],
               "type": "string"
            },
            "tag": {
               "title": "Tag",
               "description": "Component tag for the pipeline.",
               "maxLength": 256,
               "example": "PR16",
               "type": "string"
            },
            "ohtc_max_specified": {
               "title": "Specified Max OHTC",
               "description": "Specified maximum Overall Heat Transfer Coefficient (:ref:`OHTC`).",
               "example": {
                  "val": 0.9,
                  "uom": "W.m^-2.K^-1",
                  "ref": "ID"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/OHTC"
                  }
               ]
            },
            "min_no_touch_time": {
               "title": "Minimum No Touch Time",
               "description": "Minimum :ref:`Duration` during which the pipeline can be left without hydrate mitigation.",
               "example": {
                  "val": 4,
                  "uom": "hr"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Duration"
                  }
               ]
            },
            "min_cool_down_time": {
               "title": "Minimum Cool Down Time",
               "description": "Minimum :ref:`Duration` during which the pipeline can be left to cooldown.",
               "example": {
                  "val": 4,
                  "uom": "hr"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Duration"
                  }
               ]
            },
            "max_water_condensation_rate": {
               "title": "Maximum Water Condensate Rate",
               "description": "WIP : description and example needed.",
               "example": {
                  "val": 0.9,
                  "uom": ""
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/UnitLess"
                  }
               ]
            },
            "related_route": {
               "title": "Relations to Routes",
               "description": "Related instances of :ref:`Route`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_section_single_pipe_spec": {
               "title": "Relations to Section Single Pipe Spec",
               "description": "Related instances of :ref:`SectionSinglePipeSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_assembly_single_pipe_spec": {
               "title": "Relations to Assembly Single Pipe Spec",
               "description": "Related instances of :ref:`AssemblySinglePipeSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "orientation_assembly_single_pipe": {
               "title": "Orientation Assembly Single Pipe",
               "description": "Orientation assembly single pipe, list of boolean. ",
               "example": [
                  true,
                  false,
                  true,
                  true
               ],
               "type": "array",
               "items": {
                  "type": "boolean"
               }
            },
            "related_field_joint_coating_spec": {
               "title": "Relations to Field Joint Coating Spec",
               "description": "Related instances of :ref:`FieldJointCoatingSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld_spec": {
               "title": "Relations to Weld Spec",
               "description": "Related instances of :ref:`WeldSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "SectionSinglePipeSpec": {
         "title": "SectionSinglePipeSpec",
         "description": "`SectionSinglePipeSpec` stores data intended to gather the specified properties of a joint assembly of single pipe :ref:`Pipeline`, with repetitive cross-sectional properties & pattern.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "section_single_pipe_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "length": {
               "title": "Length",
               "description": ":ref:`Length` of the section",
               "example": {
                  "val": 1500,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "corrosion_allowance": {
               "title": "Corrosion Allowance",
               "description": "The sacrificial design corrosion allowance for the :ref:`SectionSinglePipeSpec`",
               "example": {
                  "val": 3.0,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "location_class_dnv": {
               "title": "Location Class (DNV)",
               "description": "Location class, as per DNV acronym.",
               "example": 1,
               "enum": [
                  1,
                  2
               ],
               "type": "integer"
            },
            "related_bare_pipe_spec": {
               "title": "Relation to bare pipe specification",
               "description": "Related instance of :ref:`BarePipeSpec`, provided as array of one :ref:`pdef_id`.",
               "example": [
                  "42e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipe_coating_spec": {
               "title": "Relation to pipe coating specification",
               "description": "Related instance of :ref:`PipeCoatingSpec`, provided as array of one :ref:`pdef_id`.",
               "example": [
                  "77e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_field_joint_coating_spec": {
               "title": "Relation to field joint coating specification",
               "description": "Related instance of :ref:`FieldJointCoatingSPec`, provided as array of one :ref:`pdef_id`.",
               "examples": [
                  "39e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld_spec": {
               "title": "WeldSpec relations",
               "description": "Related instance of :ref:`WeldSpec`, provided as array of one :ref:`pdef_id`.",
               "examples": [
                  "37e682a2-e4e5-457a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "AssemblySinglePipeSpec": {
         "title": "AssemblySinglePipeSpec",
         "description": "`AssemblySinglePipeSpec` stores data ",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "section_single_pipe_spec",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "length": {
               "title": "Length",
               "description": ":ref:`Length` of the section",
               "example": {
                  "val": 1500,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_bare_pipe_spec": {
               "title": "Relation to bare pipe specification",
               "description": "Related instance of :ref:`BarePipeSpec`, provided as value of :ref:`pdef_id`.",
               "example": "42e682a2-e4e5-497a-b252-ea4b4ea54bc0",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipe_coating_spec": {
               "title": "Relation to pipe coating specification",
               "description": "Related instance of :ref:`PipeCoatingSpec`, provided as value of :ref:`pdef_id`.",
               "example": "77e682a2-e4e5-497a-b252-ea4b4ea54bc0",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_field_joint_coating_spec": {
               "title": "Relation to field joint coating specification",
               "description": "Related instance of :ref:`FieldJointCoatingSPec`, provided as value of :ref:`pdef_id`.",
               "examples": "39e682a2-e4e5-497a-b252-ea4b4ea54bc0",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld_spec": {
               "title": "WeldSpec relations",
               "description": "Related instance of :ref:`WeldSpec`, provided as value of :ref:`pdef_id`.",
               "examples": "37e682a2-e4e5-457a-b252-ea4b4ea54bc0",
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "Mass": {
         "title": "Mass",
         "description": ":ref:`Measure` of mass",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "g",
                  "kg",
                  "lb",
                  "lbs",
                  "t"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      },
      "BarePipe": {
         "title": "BarePipe",
         "description": "`BarePipe` object stores data related to one bare linepipe, ie more or less a 12m long metallic tube coming out of the pipemill.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "bare_pipe",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "part_number": {
               "title": "Part Number",
               "description": "Object :ref:`part_number`, ie the manufacturer or purchaser part design number.",
               "maxLength": 256,
               "example": "100-440-0.750-3434-A",
               "type": "string"
            },
            "serial_number": {
               "title": "Part Number",
               "description": "Object :ref:`serial_number`, ie the manufacturer or purchaser item serial number.",
               "maxLength": 256,
               "example": "P/N 12345",
               "type": "string"
            },
            "heat_ref": {
               "title": "Heat Reference",
               "description": "Reference of the heat used to make the pipe.",
               "maxLength": 256,
               "example": "aa56593f6073",
               "type": "string"
            },
            "plate_ref": {
               "title": "Plate Reference",
               "description": "Reference of the plate used to make the pipe.",
               "maxLength": 256,
               "example": "4db9b261",
               "type": "string"
            },
            "billet_ref": {
               "title": "Billet Reference",
               "description": "Reference of the billet used to make the pipe.",
               "maxLength": 256,
               "example": "4db9b261",
               "type": "string"
            },
            "length_act": {
               "title": "Length",
               "description": "The linepipe actual :ref:`length`.",
               "example": {
                  "val": 12.252,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "mass": {
               "title": "Mass of the linepipe",
               "description": "Linepipe nominal :ref:`Mass`, empty in air.",
               "example": [
                  {
                     "val": 398.7,
                     "unit": "kg"
                  },
                  {
                     "val": 398700.0,
                     "unit": "g"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Mass"
                  }
               ]
            },
            "manuf_date_time": {
               "title": "Manufacture Date and Time",
               "description": "Date of manufacturing.",
               "example": [
                  "2032-04-23T10:20:30.400+02:30"
               ],
               "type": "string",
               "format": "date-time"
            },
            "manuf_cpy": {
               "title": "Manufacturer",
               "description": "Name of the company who manufactured the linepipe.",
               "maxLength": 256,
               "example": "Vallourec",
               "type": "string"
            },
            "manuf_mill": {
               "title": "Pipe Mill",
               "description": "Mill facilities that made the linepipe.",
               "maxLength": 256,
               "example": "Dalmine",
               "type": "string"
            },
            "mill_test_pressure": {
               "title": "Actual Mill Hydrotest Pressure",
               "description": "Pressure at which the linepipe is hydrotested at the mill.",
               "example": {
                  "val": 405,
                  "unit": "bar"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Pressure"
                  }
               ]
            },
            "oor_avg_body": {
               "title": "Out-of-roundness, body",
               "description": "Actual out-of-roundness of the linepipe body,average, measured.",
               "example": {
                  "val": 4.06,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_bare_pipe_spec": {
               "title": "Relations to Bare Pipe Specifications",
               "description": "Related instances of :ref:`BarePipeSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipe_damage": {
               "title": "Relations to Pipe Damages",
               "description": "Related instances of :ref:`PipeDamage`, provided as array of :ref:`pdef_id`.",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipe_end": {
               "title": "Relations to Pipe Ends",
               "description": "Related instances of :ref:`PipeEnd`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "maxItems": 2,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "PipeEnd": {
         "title": "PipeEnd",
         "description": "PipeEnd describes the ends of :ref:`BarePipe`.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "pipe_end",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "marking": {
               "title": "Marking End",
               "description": "Marking for the pipe end.",
               "example": "Red dot",
               "type": "string"
            },
            "int_dia_avg": {
               "title": "Internal Diameter, average, measured.",
               "description": "Internal diameter of the linepipe end, average, measured.",
               "example": [
                  {
                     "val": 368.2,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "int_dia_max": {
               "title": "Internal Diameter, maximum, measured.",
               "description": "Internal diameter of the linepipe end, maximum, measured.",
               "example": [
                  {
                     "val": 368.3,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "int_dia_min": {
               "title": "Internal Diameter, minimum, measured.",
               "description": "Internal diameter of the linepipe end, minimum, measured.",
               "example": [
                  {
                     "val": 368.1,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "wth_avg": {
               "title": "Wall Thickness, average, measured.",
               "description": "Wall thickness of the linepipe end, average, measured.",
               "example": [
                  {
                     "val": 19.1,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "oor_avg": {
               "title": "Out-of-roundness, average, measured",
               "description": "Actual out-of-roundness of the linepipe end, average, measured.",
               "example": {
                  "val": 4.06,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_bare_pipe": {
               "title": "Bare Pipe",
               "description": "Related instances of :ref:`BarePipe`, provided as array of one :ref:`pdef_id`.",
               "example": [
                  "bare_pipe_1"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         }
      },
      "PipeDamage": {
         "title": "PipeDamage",
         "description": "`PipeDamage` stores data intended to gather the specified properties of :ref:`PipeDamage` objects.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "pipe_damage",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "descr": {
               "title": "Description",
               "description": "Descriptive text for the Pipe Damage.",
               "maxLength": 1000,
               "type": "string"
            },
            "type": {
               "title": "Type of Damage",
               "description": "Descriptive text for the Pipe Damage.",
               "maxLength": 256,
               "type": "string"
            },
            "raised_date_time": {
               "title": "Damage Detection Date and Time",
               "description": "Date and time when the damage was raised.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "resolution": {
               "title": "Resolution",
               "description": "Descriptive text for the resolution.",
               "maxLength": 256,
               "type": "string"
            },
            "resolution_date_time": {
               "title": "Damage resolution Date and Time",
               "description": "Date and time when the damage was resolved.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "related_bare_pipe": {
               "title": "Bare Pipe",
               "description": "Related instances of :ref:`BarePipe`, provided as array of one :ref:`pdef_id`.",
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_coated_pipe": {
               "title": "Coated Pipe",
               "description": "Related instances of :ref:`CoatedPipe`, provided as array of one :ref:`pdef_id`.",
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "CoatingLayer": {
         "title": "CoatingLayer",
         "description": "`CoatingLayer` object stores data related to one layer of coating.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "coating_layer",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "material_type": {
               "title": "Material Type",
               "description": "Material type used to make the layer.",
               "maxLength": 256,
               "examples": [
                  "FBE",
                  "Adhesive",
                  "PP"
               ],
               "type": "string"
            },
            "length": {
               "title": "Layer Length measured",
               "description": "Actual layer length, measured. ",
               "example": {
                  "val": 150,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_avg": {
               "title": "Thickness, average, measured",
               "description": "Actual layer thickness, average, measured. ",
               "example": {
                  "val": 0.5,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_min": {
               "title": "Minimum thickness, measured",
               "description": "Actual minimum layer thicknes, measured. ",
               "example": {
                  "val": 0.2,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "thickness_max": {
               "title": "Maximum thickness, measured ",
               "description": "Actual maximum layer thicknes, measured.  ",
               "example": {
                  "val": 0.6,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            }
         },
         "additionalProperties": false
      },
      "CoatedPipe": {
         "title": "CoatedPipe",
         "description": "`CoatedPipe` object stores data related to one coated pipe, ie more or less a 12m long metallic tube with its applied parent coating.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "coated_pipe",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "overall_thickness_avg": {
               "title": "Overall Thickness, average, measured",
               "description": "Actual overall coating thickness, average, measured. ",
               "example": {
                  "val": 3,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "overall_thickness_min": {
               "title": "Minimum overall thickness, measured",
               "description": "Actual minimum overall coating thicknes, measured. ",
               "example": {
                  "val": 2.85,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "overall_thickness_max": {
               "title": "Maximum overall thickness, measured ",
               "description": "Actual maximum overall coating thicknes, measured.  ",
               "example": {
                  "val": 3.1,
                  "unit": "mm"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "cut_back_length": {
               "title": "Coating Cut-Back Length, measured associated to a pipeline end.",
               "description": "Actual coating Cut-Back :ref:`Length`, measured provided as array of :ref:`PipeEnd` :ref:`pdef_id` and coating cut-back length.",
               "example": [
                  [
                     "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                     {
                        "val": 150,
                        "unit": "mm"
                     }
                  ]
               ],
               "type": "array",
               "items": {
                  "type": "array",
                  "items": [
                     {
                        "type": "string"
                     },
                     {
                        "$ref": "#/definitions/Length"
                     }
                  ]
               }
            },
            "related_pipe_coating_spec": {
               "title": "Relations to Pipe Coating Specification",
               "description": "Related instances of :ref:`PipeCoatingSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_bare_pipe": {
               "title": "Relation to :ref:`BarePipe`",
               "description": "Related instances of :ref:`BarePipe`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "records_of_coating_layer": {
               "title": "Records of Coating Layers",
               "description": "Embedded records of coating layer, :ref:`CoatingLayer`. The order in which it is provided in the array is explicitly the order of physical application for the layer. The first CoatingLayer in the array corresponds to the first layer on top of the bare steel, and so on.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/CoatingLayer"
               }
            }
         },
         "additionalProperties": false
      },
      "Weld": {
         "title": "Weld",
         "description": "Parameters defining a  weld.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "part_number": {
               "title": "Part Number",
               "description": "Object :ref:`part_number`, ie the manufacturer or purchaser part design number.",
               "maxLength": 256,
               "example": "100-440-0.750-3434-A",
               "type": "string"
            },
            "serial_number": {
               "title": "Part Number",
               "description": "Object :ref:`serial_number`, ie the manufacturer or purchaser item serial number.",
               "maxLength": 256,
               "example": "P/N 12345",
               "type": "string"
            },
            "acceptance_criteria_type": {
               "title": "Type of Acceptance Criteria",
               "description": "Type of Acceptance Criteria",
               "examples": [
                  "eca",
                  "workmanship"
               ],
               "enum": [
                  "eca",
                  "workmanship"
               ],
               "type": "string"
            },
            "cut_out": {
               "title": "The nonconforming portion of a weld is removed by cut out",
               "description": "True or False weld cut-out used.",
               "type": "boolean"
            },
            "manuf_location": {
               "title": "Weld Manufacturing Location",
               "description": "Weld manufacturing site.",
               "example": "Yard",
               "type": "string"
            },
            "manuf_date_time": {
               "title": "Weld Manufacturing Date and Time",
               "description": "Weld manufacturing date and time.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "operator": {
               "title": "Operator list",
               "description": "List of operators and welders.",
               "example": [
                  "ID12",
                  "ID13"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "repair_type": {
               "title": "Repair Type",
               "description": "Type of repair.",
               "enum": [
                  "PTR",
                  "TTR",
                  "in_process_root",
                  "cap"
               ],
               "type": "string"
            },
            "start_pos": {
               "title": "Start Position",
               "description": "Circonferential position of start point of the weld repair.",
               "example": [
                  {
                     "val": 32.8,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "end_pos": {
               "title": "End Position",
               "description": "Circonferential position of end point of the weld repair.",
               "example": [
                  {
                     "val": 32.8,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_pipe_end": {
               "title": "Relations to :ref:`PipeEnd`",
               "description": "Related instances of :ref:`PipeEnd`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "maxItems": 2,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld_spec": {
               "title": "Relations to :ref:`WeldSpec`",
               "description": "Related instances of :ref:`WeldSpec`, provided as array of one :ref:`pdef_id`.",
               "examples": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld_flaw": {
               "title": "Relations to :ref:`WeldFlaw`",
               "description": "Related instances of :ref:`WeldFlaw` that are repaired by the :ref:`Weld`. Provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld": {
               "title": "Relation to :ref:`Weld`",
               "description": "Related instance of :ref:`Weld` that is repaired by the current instance of :ref:`Weld`. Provided as array of one :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "WeldFlaw": {
         "title": "WeldFlaw",
         "description": "WeldFlaw describes the various flaws observed in a :ref:`Weld`.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld_flaw",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "acceptable": {
               "title": "Acceptability",
               "description": "True for acceptable weld flaw, False otherwise.",
               "type": "boolean"
            },
            "flaw_type": {
               "title": "Type of Flaw",
               "description": "Type of detected flaw.",
               "type": "string"
            },
            "flaw_length": {
               "title": "Flaw Length",
               "description": ":ref:`Length` of the detected flaw.",
               "example": [
                  {
                     "val": 3.2,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "flaw_depth": {
               "title": "Flaw Depth",
               "description": "Depth of bottom point of the detected flaw.",
               "example": [
                  {
                     "val": 3.2,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "flaw_height": {
               "title": "Flaw Height",
               "description": "Height of the detected flaw.",
               "example": [
                  {
                     "val": 3.2,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "start_pos": {
               "title": "Flaw Start Position",
               "description": "Circonferential position of start point of the detected flaw.",
               "example": [
                  {
                     "val": 32.8,
                     "unit": "mm"
                  }
               ],
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_weld_ndt": {
               "title": "Relation to :ref:`WeldNDT`",
               "description": "Related instance of :ref:`WeldNDT` that led to the indentification of the :ref:`WeldFlaw`. Provided as array of one :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "WeldNDT": {
         "title": "WeldNDT",
         "description": "Parameters defining a :ref:`Weld` non destructive test (NDT).",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "weld_ndt",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "method": {
               "title": "NDT Method",
               "description": "Method used for non detructive testing.",
               "example": "MPI",
               "enum": [
                  "VT",
                  "DPI",
                  "MPI",
                  "MUT",
                  "RT",
                  "RTR",
                  "AUT"
               ],
               "type": "string"
            },
            "acceptance_status": {
               "title": "Acceptance Status",
               "description": "Wether the WeldNDT is accepted or not.",
               "type": "boolean"
            },
            "operator": {
               "title": "Operator",
               "description": "Identify the operator who performed the non-destructive testing.",
               "type": "string"
            },
            "date_time": {
               "title": "Non-destructive testing Date and Time",
               "description": "Date and time when the non-destructive testing was performed.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "report_ref": {
               "title": "Report Reference",
               "description": "Non-destructive testing report reference.",
               "type": "string"
            },
            "start_pos": {
               "title": "Start Position of the tested section",
               "description": "Start Position of the tested section.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "end_pos": {
               "title": "End Position of the tested section",
               "description": "End Position of the tested section.",
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "related_weld": {
               "title": "Relation to :ref:`Weld`",
               "description": "Related instance of :ref:`Weld` examined by the non-destructive testing (:ref:`WeldNDT`). Provided as array of one :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "FieldJointCoatingLayer": {
         "title": "FieldJointCoatingLayer",
         "description": "FieldJointCoatingLayer describe the various layers making the :ref:`FieldJointCoating`.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "field_joint_coating_layer",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "material_type": {
               "title": "Material type",
               "description": "Material Type of the Field Joint Coating Layer.",
               "maxLength": 256,
               "examples": [
                  "FBE",
                  "PVC",
                  "PP"
               ],
               "type": "string"
            },
            "batch_number": {
               "title": "Layer batch number",
               "description": "Batch number of the Field Joint Coating Layer.",
               "maxLength": 256,
               "example": "aa56593f6073",
               "type": "string"
            }
         }
      },
      "FieldJointCoating": {
         "title": "FieldJointCoating",
         "description": "Parameters defining a field joint coating.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "field_joint_coating",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "part_number": {
               "title": "Part Number",
               "description": "Object :ref:`part_number`, ie the manufacturer or purchaser part design number.",
               "maxLength": 256,
               "example": "100-440-0.750-3434-A",
               "type": "string"
            },
            "serial_number": {
               "title": "Part Number",
               "description": "Object :ref:`serial_number`, ie the manufacturer or purchaser item serial number.",
               "maxLength": 256,
               "example": "P/N 12345",
               "type": "string"
            },
            "manuf_location": {
               "title": "Field Joint Coating manufacturing site",
               "description": "Field Joint Coating manufacturing site.",
               "example": "Yard",
               "type": "string"
            },
            "manuf_date_time": {
               "title": "Field Joint Coating Manufacturing Date and Time",
               "description": "Field Joint Coating manufacturing date and time.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "acceptance_status": {
               "title": "Acceptability",
               "description": "True for acceptable Field Joint Coating, False otherwise.",
               "type": "boolean"
            },
            "repair_status": {
               "title": "Field Joint Coating repair",
               "description": "True for repaired Field Joint Coating, False otherwise.",
               "type": "boolean"
            },
            "related_weld": {
               "title": "Relation to :ref:`Weld`",
               "description": "Related instance of :ref:`Weld`, provided as array of one :ref:`pdef_id`.",
               "example": [
                  "weld_1"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_field_joint_coating_spec": {
               "title": "Relation to Field Joint Coating Specifications",
               "description": "Related instance of :ref:`FieldJointCoatingSpec`, provided as array of one :ref:`pdef_id`.",
               "example": [
                  "fjc_spec_1"
               ],
               "maxItems": 1,
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "records_of_field_joint_coating_layer": {
               "title": "Field Joint Coating Layer",
               "description": "Embedded records of Field Joint Coating layers, :ref:`FieldJointCoatingLayer`. The order in which it is provided in the array is explicitly the order of physical application for the layer. The first FieldJointCoatingLayer in the array corresponds to the first layer to be applied on top of the bare steel, and so on.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/FieldJointCoatingLayer"
               }
            }
         },
         "additionalProperties": false
      },
      "AssemblySinglePipe": {
         "title": "AssemblySinglePipe",
         "description": "`AssemblySinglePipe` stores data intended to link several instances of :ref:`BarePipe` and :ref:`CoatedPipe` together, like in a double-joint, quad-joint or stalk.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "assembly_single_pipe",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "acceptance_status": {
               "title": "Acceptance Status",
               "description": "Whether the :ref:`AssemblySinglePipe` is accepted or not.",
               "example": true,
               "type": "boolean"
            },
            "prod_site_name": {
               "title": "Production Site Name",
               "description": "Name of the site, yard or vessel used to fabricate the assembly.",
               "maxLength": 256,
               "examples": "Orkanger Spoolbase",
               "type": "string"
            },
            "prod_site_country": {
               "title": "Production Site Country",
               "description": "The country of the production site.",
               "example": "Angola",
               "enum": [
                  "Afghanistan",
                  "Aland Islands",
                  "Albania",
                  "Algeria",
                  "American Samoa",
                  "Andorra",
                  "Angola",
                  "Anguilla",
                  "Antarctica",
                  "Antigua and Barbuda",
                  "Argentina",
                  "Armenia",
                  "Aruba",
                  "Australia",
                  "Austria",
                  "Azerbaijan",
                  "Bahamas",
                  "Bahrain",
                  "Bangladesh",
                  "Barbados",
                  "Belarus",
                  "Belgium",
                  "Belize",
                  "Benin",
                  "Bermuda",
                  "Bhutan",
                  "Bolivia",
                  "Bosnia and Herzegovina",
                  "Botswana",
                  "Bouvet Island",
                  "Brazil",
                  "British Indian Ocean Territory",
                  "Brunei Darussalam",
                  "Bulgaria",
                  "Burkina Faso",
                  "Burundi",
                  "Cambodia",
                  "Cameroon",
                  "Canada",
                  "Cape Verde",
                  "Cayman Islands",
                  "Central African Republic",
                  "Chad",
                  "Chile",
                  "China",
                  "Christmas Island",
                  "Cocos (Keeling) Islands",
                  "Colombia",
                  "Comoros",
                  "Congo",
                  "Congo, The Democratic Republic of the",
                  "Cook Islands",
                  "Costa Rica",
                  "Cote D'Ivoire",
                  "Croatia",
                  "Cuba",
                  "Cyprus",
                  "Czech Republic",
                  "Denmark",
                  "Djibouti",
                  "Dominica",
                  "Dominican Republic",
                  "Ecuador",
                  "Egypt",
                  "El Salvador",
                  "Equatorial Guinea",
                  "Eritrea",
                  "Estonia",
                  "Ethiopia",
                  "Falkland Islands (Malvinas)",
                  "Faroe Islands",
                  "Fiji",
                  "Finland",
                  "France",
                  "French Guiana",
                  "French Polynesia",
                  "French Southern Territories",
                  "Gabon",
                  "Gambia",
                  "Georgia",
                  "Germany",
                  "Ghana",
                  "Gibraltar",
                  "Greece",
                  "Greenland",
                  "Grenada",
                  "Guadeloupe",
                  "Guam",
                  "Guatemala",
                  "Guernsey",
                  "Guinea",
                  "Guinea-Bissau",
                  "Guyana",
                  "Haiti",
                  "Heard Island and Mcdonald Islands",
                  "Holy See (Vatican City State)",
                  "Honduras",
                  "Hong Kong",
                  "Hungary",
                  "Iceland",
                  "India",
                  "Indonesia",
                  "Iran, Islamic Republic Of",
                  "Iraq",
                  "Ireland",
                  "Isle of Man",
                  "Israel",
                  "Italy",
                  "Jamaica",
                  "Japan",
                  "Jersey",
                  "Jordan",
                  "Kazakhstan",
                  "Kenya",
                  "Kiribati",
                  "Democratic People's Republic of Korea",
                  "Korea, Republic of",
                  "Kosovo",
                  "Kuwait",
                  "Kyrgyzstan",
                  "Lao People's Democratic Republic",
                  "Latvia",
                  "Lebanon",
                  "Lesotho",
                  "Liberia",
                  "Libyan Arab Jamahiriya",
                  "Liechtenstein",
                  "Lithuania",
                  "Luxembourg",
                  "Macao",
                  "Macedonia, The Former Yugoslav Republic of",
                  "Madagascar",
                  "Malawi",
                  "Malaysia",
                  "Maldives",
                  "Mali",
                  "Malta",
                  "Marshall Islands",
                  "Martinique",
                  "Mauritania",
                  "Mauritius",
                  "Mayotte",
                  "Mexico",
                  "Micronesia, Federated States of",
                  "Moldova, Republic of",
                  "Monaco",
                  "Mongolia",
                  "Montenegro",
                  "Montserrat",
                  "Morocco",
                  "Mozambique",
                  "Myanmar",
                  "Namibia",
                  "Nauru",
                  "Nepal",
                  "Netherlands",
                  "Netherlands Antilles",
                  "New Caledonia",
                  "New Zealand",
                  "Nicaragua",
                  "Niger",
                  "Nigeria",
                  "Niue",
                  "Norfolk Island",
                  "Northern Mariana Islands",
                  "Norway",
                  "Oman",
                  "Pakistan",
                  "Palau",
                  "Palestinian Territory, Occupied",
                  "Panama",
                  "Papua New Guinea",
                  "Paraguay",
                  "Peru",
                  "Philippines",
                  "Pitcairn",
                  "Poland",
                  "Portugal",
                  "Puerto Rico",
                  "Qatar",
                  "Reunion",
                  "Romania",
                  "Russian Federation",
                  "Rwanda",
                  "Saint Helena",
                  "Saint Kitts and Nevis",
                  "Saint Lucia",
                  "Saint Pierre and Miquelon",
                  "Saint Vincent and the Grenadines",
                  "Samoa",
                  "San Marino",
                  "Sao Tome and Principe",
                  "Saudi Arabia",
                  "Senegal",
                  "Serbia",
                  "Seychelles",
                  "Sierra Leone",
                  "Singapore",
                  "Slovakia",
                  "Slovenia",
                  "Solomon Islands",
                  "Somalia",
                  "South Africa",
                  "South Georgia and the South Sandwich Islands",
                  "Spain",
                  "Sri Lanka",
                  "Sudan",
                  "Suriname",
                  "Svalbard and Jan Mayen",
                  "Swaziland",
                  "Sweden",
                  "Switzerland",
                  "Syrian Arab Republic",
                  "Taiwan",
                  "Tajikistan",
                  "Tanzania, United Republic of",
                  "Thailand",
                  "Timor-Leste",
                  "Togo",
                  "Tokelau",
                  "Tonga",
                  "Trinidad and Tobago",
                  "Tunisia",
                  "Turkey",
                  "Turkmenistan",
                  "Turks and Caicos Islands",
                  "Tuvalu",
                  "Uganda",
                  "Ukraine",
                  "United Arab Emirates",
                  "United Kingdom",
                  "United States",
                  "United States Minor Outlying Islands",
                  "Uruguay",
                  "Uzbekistan",
                  "Vanuatu",
                  "Venezuela",
                  "Viet Nam",
                  "Virgin Islands, British",
                  "Virgin Islands, U.S.",
                  "Wallis and Futuna",
                  "Western Sahara",
                  "Yemen",
                  "Zambia",
                  "Zimbabwe"
               ],
               "type": "string"
            },
            "prod_site_onshore_offshore": {
               "title": "Production Site Onshore / Offshore",
               "description": "Whether the production site is located onshore or offshore.",
               "example": "onshore",
               "enum": [
                  "onshore",
                  "offshore"
               ],
               "type": "string"
            },
            "prod_line_name": {
               "title": "Production Line Name",
               "description": "Name of the production line used to fabricate the assembly.",
               "maxLength": 256,
               "example": "East Prod Line",
               "type": "string"
            },
            "length": {
               "title": "Length of the assembly",
               "description": "The overall :ref:`Length` of the Assembly.",
               "example": {
                  "val": 49.0,
                  "unit": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "mass": {
               "title": "Mass of the assembly",
               "description": "The overall :ref:`Mass` of the assembly instance",
               "examples": {
                  "val": 49.0,
                  "unit": "kg"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Mass"
                  }
               ]
            },
            "marking_end_a": {
               "title": "Marking End A",
               "description": "Marking for the pipe end A.",
               "example": "Red dot",
               "type": "string"
            },
            "marking_end_b": {
               "title": "Marking End B",
               "description": "Marking for the pipe end B.",
               "example": "Yellow stripe",
               "type": "string"
            },
            "related_bare_pipe": {
               "title": "Related instances of :ref:`BarePipe`",
               "description": "Related instances of :ref:`BarePipe` used in this assembly, provided as array of :ref:`pdef_id`. The order of related instance is important and representative of the real order of the assembly pipe",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_coated_pipe": {
               "title": "Related instances of :ref:`CoatedPipe`.",
               "description": "Related instances of :ref:`CoatedPipe`, provided as array of :ref:`pdef_id`. The order of related instance is important and representative of the real order of the assembly pipe",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_assembly_single_pipe": {
               "title": "Related instances of :ref:`AssemblySinglePipe`",
               "description": "Related instances of :ref:`AssemblySinglePipe`, provided as array of :ref:`pdef_id`. The order of related instance is important and representative of the real order of the assembly pipe",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld": {
               "title": "Related instances of :ref:`Weld`",
               "description": "Related instances of :ref:`Weld`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_field_joint_coating": {
               "title": "Related instances of Field Joint Coating",
               "description": "Related instances of :ref:`FieldJointCoating`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipe_end": {
               "title": "Related instances of :ref:`PipeEnd`.",
               "description": "Related instances of :ref:`PipeEnd` which become the assembly ends, provided as array of :ref:`pdef_id`.Not all the ends contained in the assembly need to be mentioned, but only those that become the new ends of the assembly",
               "example": [
                  "37e682a2-e4e5-497a-b252-ea4b4ea54bc0",
                  "93b73ef3-cf5a-445e-a162-68fa6f246faa"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "Pipeline": {
         "title": "Pipeline",
         "description": "Pipeline object stores data related to one pipeline.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "pipeline",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "battery_limits": {
               "title": "Battery Limit",
               "description": "Description of the battery limits considered in the definition of the pipeline.",
               "maxLength": 1000,
               "example": "from PLET-18 to ILT-01",
               "type": "string"
            },
            "tag": {
               "title": "Tag",
               "description": "Component tag for the pipeline.",
               "maxLength": 256,
               "example": "PR16",
               "type": "string"
            },
            "name": {
               "title": "Name",
               "description": "The pipeline name ",
               "maxLength": 256,
               "example": "Production 16",
               "type": "string"
            },
            "installation_date_time": {
               "title": "End of Installation Date and Time",
               "description": "Date and time where the pipeline was installed.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "commissioning_date_time": {
               "title": "End of Commissioning Date and Time",
               "description": "Date and time where the pipeline commissioning was done.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "hydrotest_date_time": {
               "title": "Hydrotest Date and Time",
               "description": "Date and time where the hydrotest was done.",
               "example": "2032-04-23T10:20:30.400+02:30",
               "type": "string",
               "format": "date-time"
            },
            "installation_direction": {
               "title": "Installation direction",
               "description": "The direction of installation, provided as tuple of :ref:`Route` :ref:`pdef_id` and boolean. True when the pipeline is installed from kp 0 to kp end and Flase when pipeline is installed in opposite direction.",
               "example": [
                  [
                     "route_1",
                     true
                  ]
               ],
               "type": "array",
               "items": {
                  "type": "array",
                  "items": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               }
            },
            "related_route": {
               "title": "Relations to Routes",
               "description": "Related instances of :ref:`Route`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "route_as_built",
                  "route_design"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_vessel": {
               "title": "Relations to Vessel",
               "description": "Related instances of :ref:`Vessel`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "vessel_1",
                  "vessel_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_pipeline_spec": {
               "title": "Relations to Pipeline Spec",
               "description": "Related instances of :ref:`PipelineSpec`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "pipeline_spec_1"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_project": {
               "title": "Relations to Project",
               "description": "Related instances of :ref:`Project`, provided as array of :ref:`pdef_id`.",
               "example": [
                  "project_1"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_assembly_single_pipe": {
               "title": "Relations to Assembly Single Pipe",
               "description": "Related instances of :ref:`AssemblySinglePipe`, provided as array of :ref:`pdef_id`.The order of related instances is important and representative of the real order of the assembly pipe.",
               "example": [
                  "QJ_1",
                  "QJ_2",
                  "QJ_3",
                  "QJ_4"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_bare_pipe": {
               "title": "Relations to Bare Pipe",
               "description": "Related instances of :ref:`BarePipe`, provided as array of :ref:`pdef_id`.The order of related instances is important and representative of the real order of the assembly pipe.",
               "example": [
                  "bare_pipe_1",
                  "bare_pipe_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_coated_pipe": {
               "title": "Relations to Coated Pipe",
               "description": "Related instances of :ref:`CoatedPipe`, provided as array of :ref:`pdef_id`.The order of related instances is important and representative of the real order of the assembly pipe.",
               "example": [
                  "coated_pipe_1",
                  "coated_pipe_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_weld": {
               "title": "Relations to Weld",
               "description": "Related instances of :ref:`Weld`, provided as array of :ref:`pdef_id`. The order of related instances is important and representative of the real order of weld along the assembly pipe. Not all welds contained in the pipeline need to be mentioned, but only those between the assembly pipe are related.",
               "example": [
                  "weld_1",
                  "weld_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "related_field_joint_coating": {
               "title": "Relations to Field Joint Coating",
               "description": "Related instances of :ref:`FieldJointCoating`, provided as array of :ref:`pdef_id`. The order of related instances is important and representative of the real order of field joint coating along the assembly pipe. Not all field joint coating contained in the pipeline need to be mentioned, but only those between the assembly pipe are related..",
               "example": [
                  "fjc_1",
                  "fjc_2"
               ],
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         },
         "additionalProperties": false
      },
      "Vessel": {
         "title": "Vessel",
         "description": ":ref:`Base PDEF Object` defining a vessel.",
         "type": "object",
         "properties": {
            "pdef_id": {
               "title": "PDEF id",
               "description": ":ref:`pdef_id` is the unique identifier for the object.",
               "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
               "type": "string"
            },
            "pdef_type": {
               "title": "Pdef Type",
               "const": "vessel",
               "type": "string"
            },
            "meta_data": {
               "title": "Metadata",
               "description": "Optional user free structured :ref:`Metadata` object.",
               "example": "{'created':'2021-09-03'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/MetaData"
                  }
               ]
            },
            "additional_data": {
               "title": "Additional Data",
               "description": "Optional user free structured :ref:`Additional Data` object.",
               "example": "{'color':'grey'}",
               "allOf": [
                  {
                     "$ref": "#/definitions/AdditionalData"
                  }
               ]
            },
            "IMO_number": {
               "title": "IMO Number",
               "description": "International Maritime Organization (IMO) number is a unique identifier for ships, registered ship owners and management companies.",
               "example": 9215359,
               "type": "integer"
            },
            "name": {
               "title": "Vessel Name",
               "description": "Vessel name.",
               "example": "DEEP BLUE",
               "type": "string"
            },
            "ship_type": {
               "title": "Ship Type",
               "description": "Type of vessel.",
               "example": "Pipe Layer",
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "enum": [
                        "Pipe Layer"
                     ],
                     "type": "string"
                  }
               ]
            },
            "flag": {
               "title": "Flag",
               "description": "Vessel country flag.",
               "example": "Bahamas",
               "enum": [
                  "Afghanistan",
                  "Aland Islands",
                  "Albania",
                  "Algeria",
                  "American Samoa",
                  "Andorra",
                  "Angola",
                  "Anguilla",
                  "Antarctica",
                  "Antigua and Barbuda",
                  "Argentina",
                  "Armenia",
                  "Aruba",
                  "Australia",
                  "Austria",
                  "Azerbaijan",
                  "Bahamas",
                  "Bahrain",
                  "Bangladesh",
                  "Barbados",
                  "Belarus",
                  "Belgium",
                  "Belize",
                  "Benin",
                  "Bermuda",
                  "Bhutan",
                  "Bolivia",
                  "Bosnia and Herzegovina",
                  "Botswana",
                  "Bouvet Island",
                  "Brazil",
                  "British Indian Ocean Territory",
                  "Brunei Darussalam",
                  "Bulgaria",
                  "Burkina Faso",
                  "Burundi",
                  "Cambodia",
                  "Cameroon",
                  "Canada",
                  "Cape Verde",
                  "Cayman Islands",
                  "Central African Republic",
                  "Chad",
                  "Chile",
                  "China",
                  "Christmas Island",
                  "Cocos (Keeling) Islands",
                  "Colombia",
                  "Comoros",
                  "Congo",
                  "Congo, The Democratic Republic of the",
                  "Cook Islands",
                  "Costa Rica",
                  "Cote D'Ivoire",
                  "Croatia",
                  "Cuba",
                  "Cyprus",
                  "Czech Republic",
                  "Denmark",
                  "Djibouti",
                  "Dominica",
                  "Dominican Republic",
                  "Ecuador",
                  "Egypt",
                  "El Salvador",
                  "Equatorial Guinea",
                  "Eritrea",
                  "Estonia",
                  "Ethiopia",
                  "Falkland Islands (Malvinas)",
                  "Faroe Islands",
                  "Fiji",
                  "Finland",
                  "France",
                  "French Guiana",
                  "French Polynesia",
                  "French Southern Territories",
                  "Gabon",
                  "Gambia",
                  "Georgia",
                  "Germany",
                  "Ghana",
                  "Gibraltar",
                  "Greece",
                  "Greenland",
                  "Grenada",
                  "Guadeloupe",
                  "Guam",
                  "Guatemala",
                  "Guernsey",
                  "Guinea",
                  "Guinea-Bissau",
                  "Guyana",
                  "Haiti",
                  "Heard Island and Mcdonald Islands",
                  "Holy See (Vatican City State)",
                  "Honduras",
                  "Hong Kong",
                  "Hungary",
                  "Iceland",
                  "India",
                  "Indonesia",
                  "Iran, Islamic Republic Of",
                  "Iraq",
                  "Ireland",
                  "Isle of Man",
                  "Israel",
                  "Italy",
                  "Jamaica",
                  "Japan",
                  "Jersey",
                  "Jordan",
                  "Kazakhstan",
                  "Kenya",
                  "Kiribati",
                  "Democratic People's Republic of Korea",
                  "Korea, Republic of",
                  "Kosovo",
                  "Kuwait",
                  "Kyrgyzstan",
                  "Lao People's Democratic Republic",
                  "Latvia",
                  "Lebanon",
                  "Lesotho",
                  "Liberia",
                  "Libyan Arab Jamahiriya",
                  "Liechtenstein",
                  "Lithuania",
                  "Luxembourg",
                  "Macao",
                  "Macedonia, The Former Yugoslav Republic of",
                  "Madagascar",
                  "Malawi",
                  "Malaysia",
                  "Maldives",
                  "Mali",
                  "Malta",
                  "Marshall Islands",
                  "Martinique",
                  "Mauritania",
                  "Mauritius",
                  "Mayotte",
                  "Mexico",
                  "Micronesia, Federated States of",
                  "Moldova, Republic of",
                  "Monaco",
                  "Mongolia",
                  "Montenegro",
                  "Montserrat",
                  "Morocco",
                  "Mozambique",
                  "Myanmar",
                  "Namibia",
                  "Nauru",
                  "Nepal",
                  "Netherlands",
                  "Netherlands Antilles",
                  "New Caledonia",
                  "New Zealand",
                  "Nicaragua",
                  "Niger",
                  "Nigeria",
                  "Niue",
                  "Norfolk Island",
                  "Northern Mariana Islands",
                  "Norway",
                  "Oman",
                  "Pakistan",
                  "Palau",
                  "Palestinian Territory, Occupied",
                  "Panama",
                  "Papua New Guinea",
                  "Paraguay",
                  "Peru",
                  "Philippines",
                  "Pitcairn",
                  "Poland",
                  "Portugal",
                  "Puerto Rico",
                  "Qatar",
                  "Reunion",
                  "Romania",
                  "Russian Federation",
                  "Rwanda",
                  "Saint Helena",
                  "Saint Kitts and Nevis",
                  "Saint Lucia",
                  "Saint Pierre and Miquelon",
                  "Saint Vincent and the Grenadines",
                  "Samoa",
                  "San Marino",
                  "Sao Tome and Principe",
                  "Saudi Arabia",
                  "Senegal",
                  "Serbia",
                  "Seychelles",
                  "Sierra Leone",
                  "Singapore",
                  "Slovakia",
                  "Slovenia",
                  "Solomon Islands",
                  "Somalia",
                  "South Africa",
                  "South Georgia and the South Sandwich Islands",
                  "Spain",
                  "Sri Lanka",
                  "Sudan",
                  "Suriname",
                  "Svalbard and Jan Mayen",
                  "Swaziland",
                  "Sweden",
                  "Switzerland",
                  "Syrian Arab Republic",
                  "Taiwan",
                  "Tajikistan",
                  "Tanzania, United Republic of",
                  "Thailand",
                  "Timor-Leste",
                  "Togo",
                  "Tokelau",
                  "Tonga",
                  "Trinidad and Tobago",
                  "Tunisia",
                  "Turkey",
                  "Turkmenistan",
                  "Turks and Caicos Islands",
                  "Tuvalu",
                  "Uganda",
                  "Ukraine",
                  "United Arab Emirates",
                  "United Kingdom",
                  "United States",
                  "United States Minor Outlying Islands",
                  "Uruguay",
                  "Uzbekistan",
                  "Vanuatu",
                  "Venezuela",
                  "Viet Nam",
                  "Virgin Islands, British",
                  "Virgin Islands, U.S.",
                  "Wallis and Futuna",
                  "Western Sahara",
                  "Yemen",
                  "Zambia",
                  "Zimbabwe"
               ],
               "type": "string"
            },
            "year_of_built": {
               "title": "Year of built",
               "description": "Year of Built.",
               "example": 2001,
               "type": "integer"
            },
            "length_overall": {
               "title": "Length Overall",
               "description": "Overall vessel :ref:`Length`.",
               "example": {
                  "val": 207.0,
                  "uom": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "beam": {
               "title": "Beam Length",
               "description": "Overall vessel beam :ref:`Length`.",
               "example": {
                  "val": 32.0,
                  "uom": "m"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Length"
                  }
               ]
            },
            "gross_tonnage": {
               "title": "Gross Tonnage",
               "description": ":ref:`Mass` for ship gross tonnage.",
               "example": {
                  "val": 33822.0,
                  "uom": "t"
               },
               "allOf": [
                  {
                     "$ref": "#/definitions/Mass"
                  }
               ]
            }
         },
         "additionalProperties": false
      }
   }
}

Config
  • extra: str = allow

assembly_single_pipe_specs: Optional[List[pdef.model.assembly_single_pipe_spec.AssemblySinglePipeSpec]]

The collection of AssemblySinglePipeSpec (PV) instances included in this dataset.

assembly_single_pipes: Optional[List[pdef.model.assembly_single_pipe.AssemblySinglePipe]]

The collection of AssemblySinglePipe (FV) instances included in this dataset.

bare_pipe_specs: Optional[List[pdef.model.bare_pipe_spec.BarePipeSpec]]

The collection of BarePipeSpec (PV) instances included in this dataset.

bare_pipes: Optional[List[pdef.model.bare_pipe.BarePipe]]

The collection of BarePipe (FV) instances included in this dataset.

coated_pipes: Optional[List[pdef.model.coated_pipe.CoatedPipe]]

The collection of CoatedPipe (FV) instances included in this dataset.

field_joint_coating_specs: Optional[List[pdef.model.field_joint_coating_spec.FieldJointCoatingSpec]]

The collection of FieldJointCoatingSpec (PV) instances included in this dataset.

field_joint_coatings: Optional[List[pdef.model.field_joint_coating.FieldJointCoating]]

The collection of FieldJointCoating (FV) instances included in this dataset.

pdef_type: str = 'pdef'

Object pdef_type. Always set to pdef in this case.

Constraints and examples:
  • const = pdef

pdef_version: str = '2023-12'

The version of the PDEF schema used for this dataset. Always 2023-12 in this case.

Constraints and examples:
  • const = 2023-12

pipe_coating_specs: Optional[List[pdef.model.pipe_coating_spec.PipeCoatingSpec]]

The collection of PipeCoatingSpec (PV) instances included in this dataset.

pipe_damages: Optional[List[pdef.model.pipe_damage.PipeDamage]]

The collection of PipeDamage (FV) instances included in this dataset.

pipe_ends: Optional[List[pdef.model.pipe_end.PipeEnd]]

The collection of PipeEnd (FV) instances included in this dataset.

pipeline_specs: Optional[List[pdef.model.pipeline_spec.PipelineSpec]]

The collection of PipelineSpec (PV) instances included in this dataset.

pipelines: Optional[List[pdef.model.pipeline.Pipeline]]

The collection of Pipeline (FV) instances included in this dataset.

projects: Optional[List[pdef.model.project.Project]]

The collection of Project (FV) instances included in this dataset.

routes: Optional[List[pdef.model.route.Route]]

The collection of Route (FV) instances included in this dataset.

section_single_pipe_specs: Optional[List[pdef.model.section_single_pipe_spec.SectionSinglePipeSpec]]

The collection of SectionSinglePipeSpec (PV) instances included in this dataset.

vessels: Optional[List[pdef.model.vessel.Vessel]]

The collection of Vessel (FV) instances included in this dataset.

weld_flaws: Optional[List[pdef.model.weld_flaw.WeldFlaw]]

The collection of WeldFlaw (FV) instances included in this dataset.

weld_ndts: Optional[List[pdef.model.weld_ndt.WeldNDT]]

The collection of WeldNDT (FV) instances included in this dataset.

weld_specs: Optional[List[pdef.model.weld_spec.WeldSpec]]

The collection of WeldSpec (PV) instances included in this dataset.

welds: Optional[List[pdef.model.weld.Weld]]

The collection of Weld (FV) instances included in this dataset.