OData supports geospatial data types as a set of primitives accessible via the core EDM namespace, for example: Edm.GeometryPoint, Edm.LineString, and so on.
However, the core EDM namespace does not include all geometry types required by Hexagon PPM Smart APIs. If you review the main metadata document for a Smart API, you may find (if required by the Smart API) the Com.Ingr.Spatial.V1 namespace.
For example, if you review:
https://sam.spclouddave.com/SampleService/Sppid/v2/$metadata
the namespace is included, and you will see two extra spatial types:
<Schema Namespace="Com.Ingr.Spatial.V1" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<ComplexType Name="Vector" BaseType="Com.Ingr.Core.V1.DynamicEdmComplexObject" OpenType="true">
<Property Name="X" Type="Edm.Double" Nullable="false" />
<Property Name="Y" Type="Edm.Double" Nullable="false" />
<Property Name="Z" Type="Edm.Double" />
</ComplexType>
<ComplexType Name="RangeBox" BaseType="Com.Ingr.Core.V1.DynamicEdmComplexObject" OpenType="true">
<Property Name="Low" Type="Edm.GeometryPoint" Nullable="false" SRID="Variable" />
<Property Name="High" Type="Edm.GeometryPoint" Nullable="false" SRID="Variable" />
</ComplexType>
</Schema>
You will also find annotations for spatial types in a Smart API's annotations metadata document, for example:
https://sam.spclouddave.com/SampleService/Sppid/v2/Annotations/$metadata