Object Composition (Low Level) - Zeppelin87/CSS-Sandbox GitHub Wiki
TrackingLog
- The parent level
TrackingLog
object contains various, seemingly random, properties. - Each property found on the
TrackingLog
object can be grouped into 1 of 3 conceptual categories.
-
Identifiers and/or SQL Primary Keys:
Id
- Elasticsearch auto-generated documentId.TrackingId
- Unique identifier for the tracking object. (SQL Primary Key)TrackingKey
- LoadNumber_BookSequenceNumberUserId
- The userId associated with the tracking object. (SQL Primary Key)CarrierCode
- The carrier code associated with the tracking object.LoadNumber
- Parsed from 'TrackingKey' for query potential & business readability.BookSequenceNumber
- Parsed from 'TrackingKey' for query potential & business readability.
-
Properties exposed for optimized Elasticsearch query/filtering:
LocationRequestCount
- An aggregate count of location requests sent to a mobile device.LocationResponseCount
- An aggregate count of location responses received from a mobile device.NonRequestedLocationResponseCount
- An aggregate count of non requested location responses received from a mobile device.
-
Tracking object life cycle properties:
IList<TrackingEvent> Events
- A list of events that have taken place while processing the tracking object.
TrackingEvent
- A new
TrackingEvent
is created, and continually updated, once an event is processed server side. - There are currently 7 different tracking events that can be appended to a
TrackingLog
:CreateTracking
ActivateInactiveTracking
DeactivateTracking
LocationRequest
LocationResponse
NonRequestedLocationResponse
ResolveTracking
- An additional point of interest is that each
TrackingEvent
has its own list ofTrackingError(s)
TrackingError
- There are a litany of potential errors that can occur throughout the life cycle of a Tracking object.
- Adding a list of
TrackingError(s)
to eachTrackingEvent
will help narrow down the source of errors that occur during processing. - For example:
- Any error that occurs while processing a
LocationRequest
will be appended to theLocationRequest
TrackingEvent
. CreateTracking
has its own list of errors,LocationResponse
has its own list of errors, etc...
- Any error that occurs while processing a