module LocationAPI_TypesAndValues { // LibCommon import from LibCommon_BasicTypesAndValues all; type record TimeStamp { UInt32 seconds, UInt32 nanoSeconds } /** * @desc A type containing user information. * @member address_ Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI). * @member accessPointId Identifier of access point, (reference ETSI TS 129 171). * @member zoneId Identifier of zone * @member resourceURL Self referring URL. * @member timeStamp Indicates the time of day for zonal presence notification. * @member locationInfo A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided. */ type record UserInfo { universal charstring address_, universal charstring accessPointId, universal charstring zoneId, universal charstring resourceURL, TimeStamp timeStamp, LocationInfo locationInfo optional, universal charstring contextLocationInfo optional, universal charstring ancillaryInfo optional } with { variant (address_) "name as 'address'"; } // End of type UserInfo /** * @desc A type containing list of users. * @member user Collection of the zone information list. * @member resourceURL Self referring URL. */ type record of UserInfo UserInfos; type record UserList { UserInfos user optional, universal charstring resourceURL } /** * @desc A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided. * @member latitude * @member longitude * @member altitude * @member accuracy */ type record LocationInfo { float latitude, float longitude, float altitude optional, integer accuracy } // End of type LocationInfo /** * @desc A type containing zone information. * @member zoneId Identifier of zone * @member numberOfAccessPoints The number of access points within the zone * @member numberOfUnservicableAccessPoints Number of inoperable access points within the zone. * @member numberOfUsers The number of users currently on the access point. * @member resourceURL Self referring URL. */ type record ZoneInfo { universal charstring zoneId, UInt32 numberOfAccessPoints, UInt32 numberOfUnservicableAccessPoints, UInt32 numberOfUsers, universal charstring resourceURL } /** * @desc Collection of the zone information list. * @member zone Collection of the zone information list. * @member resourceURL Self referring URL. */ type record of ZoneInfo ZoneInfos; type record ZoneList { ZoneInfos zone optional, universal charstring resourceURL } /** * @desc The connection type for the access point. */ type enumerated ConnectionType { Femto, LTE_femto, Smallcell, LTE_smallcell, Wifi, Pico, Micro, Macro, Wimax, Unknown } /** * @desc The operation status of the access point */ type enumerated OperationStatus { Serviceable, Unserviceable, Unknown } /** * @desc A type containing access point information. * @member accessPointId * @member connectionType The connection type for the access poin * @member operationStatus The operation status of the access point * @member numberOfUsers The number of users currently on the access point. * @member resourceURL Self referring URL. */ type record AccessPointInfo { universal charstring accessPointId, ConnectionType connectionType, OperationStatus operationStatus, UInt32 numberOfUsers, universal charstring resourceURL } type record of AccessPointInfo AccessPointInfos type record AccessPointInfoList { AccessPointInfos AccessPointInfo optional, universal charstring resourceURL } } with { encode "JSON" }