FWLocation

This table is used to specify specific location related information. Typically used to represent a DEPOT or CUSTOMER type location.

Attribute Name

Type

Field Size

Description

Required

LocationID

int

4

Unique internal DB Identifier of the Location record.

Required

OrderTaskID

int

4

Unique internal DB Identifier of the Order task record. Must exist on the FWOrder table.

 

LocationKey

nvarchar

50

Business key to identify the activity this Location refers to.

Required

TimeZoneKey

nvarchar

50

Select from a list of valid codes on the FWTimeZone.

 

ModifiedBy

int

4

See ModifiedBy.

 

ModifyDate

datetime

8

See ModifyDate.

 

CreatedBy

int

4

See CreatedBy.

 

CreatedDate

datetime

8

See CreatedDate.

 

Comment

nvarchar

500

See Comment.

 

Company

nvarchar

50

This field is used to specify the company name for the location.

 

Type

nvarchar

50

This attribute is assigned a specific value by the user when it is created. Valid values must be validated against the FWCode table of type LocationType.

Valid values: (default = Customer)

·     CUSTOMER = both customer pickup and dropoff

·     DEPOT = both depot pickup and dropoff

·     VENDOR = currently not supported - similar to customer but may require different processing

·     GPS = currently not supported – but can be used for tracking the execution of the route between stops

Required

Status

nvarchar

50

This attribute is assigned a specific value by the user when it is created. Valid values must be validated against the FWCode table of type LocationStatus. 

Valid values: (default = Temp)

·     DELETE = a previous master is now tagged for deletion

·     MASTER = can persist by itself

·     TEMPORARY = can only exist if there is at least one activity or resource associated with it

·     PENDING  = not fully validated – typically used to identified locations that have not been geocoded, but where code has other missing validations

Required

ContactFirstName

nvarchar

255

This is a string value assigned by the user.

 

ContanctLastName

nvarchar

255

This is a string value assigned by the user.

 

Name

nvarchar

255

Typically used for customer name or depot name. It is required because the User Interface (UI) application references the attribute throughout.

Required

ContactPhone

nvarchar

50

This is a string value assigned by the user. This value should be validated against valid phone formats, both domestic and International.

 

Territory

nvarchar

50

It should be validated against the FWCode table of type Territory.

 

ShipCity

nvarchar

255

City of shipping address.

 

ShipCountry

nvarchar

50

It will default to U.S. but can be modified to any country value during implementation.

Required

ShipCrossStreet

nvarchar

255

It is typically used in conjunction with the ShipStreetName(1 and 2). It should be empty if the ShipStreetName is empty.

 

ShipState

nvarchar

255

State of shipping address.

Outside the U.S., province information is stored here; therefore, we cannot restrict this filed to U.S. states only.

Required

ShipStreetName

nvarchar

255

The Street name information of the shipping address.

 

ShipStreetName2

nvarchar

255

The additional Street name information of the shipping address.

This field must be empty if ShipStreetName is empty.

 

ShipDistrict

nvarchar

255

Outside the U.S., District information is stored here so we cannot restrict this filed to the U.S. states only.

 

ShipStreetNumber

nvarchar

255

Street number of shipping address.

 

ShipZipcode

nvarchar

50

Short zip code only. This value should be validated against valid zip and postal code formats domestic and International.

 

Latitude

float

8

This is a numeric value provided by an external system or function. It is used as the original external latitude value. It does not mean that the address has been officially geocoded within the LNOS environment. The GeocodeLatitude attribute represents the actual LNOS geocoded value. Negative values are allowed.

Note―  If the GeocodeLatitude is blank and this value changes the Activity status needs to be changed to ”r;modified.”

Required – if the Longitude attribute is specified.

Longitude

float

8

This is a numeric value provided by an external system or function. It is used as the longitude original value. In certain applications the user is able to modify the value. Negative values are allowed.

Note―  If the GeocodeLongitude is blank, and this value is changed, then the Activity status needs to be changed to ”r;modified.”

Required – if the Latitude attribute is specified.

GeocodeLatitude

float

8

This is a numeric value provided by an external system or function. It is used for the calculated (LNOS) value and cannot be modified by the user.

Note―  If this value changes, the Activity status needs to be changed to ”r;modified.”

Required – if GeocodeLongitude is specified.

GeocodeLongitude

float

8

This is a numeric value provided by an external system or function. It is used for the calculated (LNOS) value and cannot be modified by the user.

Note―  If this value changes, the Activity status needs to be changed to ”r;modified.”

Required – if GeocodeLatitude is specified.

GeocodeOneCell

int

4

This value is an internal data element that will not be modified or displayed to the user. It is a future requirement and used to help determine the side of street.

Required –  if RelativePosition is specified.

GeocodeRelativePosition

float

8

This value is an internal data element that will not be modified or displayed to the user. It is a future requirement and used to help determine the side of street.

Required –  if OneCell is specified

GeocodeQuality

smallint

2

This is a hex value provided by an external system or function. It is not user modifiable. Whenever this value is presented to the user it will need to be transformed as follows:

·     0x0001 = WRONG_PARITY -The containing address range has the wrong parity.

·     0x0002 = RANGE_ROUNDED -A range with numeric and/or character suffixes had to have its low street number rounded down or its high street number rounded up in order to contain the given street number.

·     0x0004 = WRONG_STREET_NUM_HYPHENATION -Had to insert or delete a dash from the street number to find a containing range.

·     0x0008 = WRONG_CITY - City misspelled.

·     0x0010 = WRONG_XSTREET - Bad suffix or direction in cross street name, base name okay unless WRONG_XSTREET_BASE also set.

·     0x0020 = WRONG_STREET- Bad suffix or direction in main street name, base name okay unless WRONG_STREET_BASE is also set.

·     0x0040 = NO_CONTAINING_RANGE - Street number not contained in range, closest range used.

·     0x0080 = WRONG_XSTREET_BASE - Base name of cross street misspelled.

·     0x0100 = WRONG_STREET_BASE - Base name of main street misspelled.

·     0x0200 = WRONG_ZIP - Improper Zip/postal code

·     0x0400 = WRONG_STATE - State misspelled.

Note—  The left column provides the bit mask, represented as a hexadecimal value.

 The GeocodeFlags field contains the text strings that match the code in GeocodeQuality.

 

GeocodeScore

smallint

2

This is a string value provided by an external system or function. It is not user modifiable. A higher value indicates a better resolution. It is used in several UI screens and as a potential input value to other external functions.

 

GeocodeSource

nvarchar

255

This is a string value provided by an external system or function. It is not user modifiable.

Valid values:

·     GeoStan (an external map provider)

·     *.lmb = the name of a map database file

·     *.lzb = the name of a zip code geocoding database file.

 

GeocodeType

nvarchar

50

This is a numeric value provided by an external system or function. It is not user modifiable.

Valid values:

·     0 = Not Resolved

·     1 = Resolved By City Name

·     2 = Resolved By Zip Code

·     3 = Resolved By Zip Plus2

·     4 = Resolved By Zip Plus4

·     5 = Resolved As Point

·     6 = Resolved Regularly

 

GeocodeFilter

smallint

2

This is a string value used to interface with RMPI. It is provided by the user and is modifiable. It is not used by the new Geocode service but is used simply to control the behavior of the RMPI geocode functionality.

Valid values: (default = 0)

·     0 = No filtering. Any resolution is acceptable.

·     1 = Resolutions with a wrong zip code and one other wrong item are rejected. If the zip code is valid, or if everything but the zip code is valid, the resolution is accepted.

·     2 = Resolutions with a wrong zip code are rejected. If the zip code is valid, the resolution is accepted.

Note―  Settings other than zero can be useful when geocoding on multiple maps. See FileX setting in the [Map] sections of your configuration files.

 

GeocodePolicy

tinyint

1

This is a string value used to interface with RMPI. It is provided by the user and is modifiable. It is not used by the new Geocode service but is simply used to control the behavior of the RMPI geocode functionality.

Valid values:

·     -1 = Never use Latitude/Longitude.

·     0 = Use the Latitude/Longitude unless the address is resolved by the geocoder (not zip/city).

·     1 = Use the Latitude/Longitude unless the address resolved perfectly.

·     2 = Use the Latitude/Longitude always.

·     3 = Use the GeocodeLatitude/GeocodeLongitude fields always.

 

GeocodeFlags

nvarchar

255

A text string containing the strings that match the code in GeocodeQuality. The strings are separted by a space. The possible strings are:

·        HYPHENATION CHANGE - Had to insert or delete a dash from the street number to find a containing range.

·        NO CONTAINING RANGE – Street number not contained in any range, closest range used.

·        RANGE ROUNDED - A range with numeric and/or character suffixes had to have its low street number rounded down or its high street number rounded up in order to contain the given street number.

·        WRONG CITY - City misspelled.

·        WRONG PARITY - The containing address range has the wrong parity.

·        WRONG STATE - State misspelled.

·        WRONG STREET - Bad suffix or direction in main street name, base name OK unless public static final integer RFLAG_WRONGSTREETBASE also set.

·        WRONG STREET BASE – Base name of main street misspelled.

·        WRONG XSTREET - Bad suffix or direction in cross street name, base name OK unless public static final integer RFLAG_WRONGXSTREETBASE also set.

·        WRONG XSTREET BASE - Base name of cross street misspelled.

·        WRONG ZIP - The resolved zip code has changed.

 

Requirements

nvarchar

255

This is a string value used in conjunction with the requirements attribute of the FWResource/FWRoute. When specified, the stop associated with this location will only be scheduled on a route that also has the same requirements specified. If no route has this requirement specified then this stop will not be scheduled. Multiple values can be specified (delimited by a space). Each separate value must be validated against the FWCode table of type Requirements. These values are linked together with other requirements on the corresponding activity record.

If the location is a Depot and Recharge is turned on then a resource must have all the requirements of a Depot in order to recharge there.

 

Commodities

nvarchar

255

This is a string value used in conjunction with other Commodity values. For a Depot these are the Commodities that it supports. For Customers these are the values of the commodities for this location and will be combined with an Order’s commodities to generate the actual set for an Order. An empty value implies that all commodities are possible. Multiple values can be specified (delimited by a space). Each separate value must be validated against the FWCode table of type Commodities.

 

Profit

float

8

This is a numeric value that represents a base profit for this location (customer). It is added to the other profit values to represent a total profit on the activity record. It is different in that it is cumulative instead of linked together.

Defaults to 0.

 

ServiceDuration

int

4

This is an integer value that represents the average service time in seconds applied at this location. It is added to the ServiceDuration of an order/activity. It is only applied once for multiple orders at the same location.

Defaults to 0.

 

PreServiceDuration

int

4

This is an integer value that represents the average pre-service time such as parking - in seconds that is applied at this location. It can be taken before the time window of an order/activity starts.

Defaults to 0.

 

RechargeDuration

int

4

This is an integer value that represents the average recharge service time in seconds that is applied at this location. It is typically cumulative.

Defaults to 0.

 

Recharge

bit

1

For Depots only. If this value is set to true, then the Depot can recharge the Measures that are set to 1. If no measures are set to 1, then all measures can be recharged by this Depot.

Defaults to 0.

 

RechargeRate

float

8

Specifies how quickly a Measure can be recharged. If this is set to 10, then 10 units of a measure can be transferred per second.

 

EarliestRecharge

datetime

8

For Depots specifies the earliest time of the day that a Recharge can take place.

 

LatestRecharge

datetime

8

For Depots specifies the latest time of the day that a Recharge can take place.

 

Measures1-9

float

8

For Depot locations the Measure fields are used to represent which measure amount (1 thru 9) is supplied by the depot. This field is set to 0 (off) or 1 (on). If none are set, then all measures can be supplied.

Defaults to empty.

 

Measure1-9RechargeRate

float

8

It is used to represent which measure amounts (1 thru 9) can be recharged and at what rate. This is typically used for depot type locations. The occurrence must match the occurrence specified by the MeasuresSuppied values. If Measure1RechargeRate=10, then 10 units of Measure1 can be transferred per second.

Default is 0.

 

UDFString1-6

nvarchar

500

User Defined Fields for Strings 1...9

 

UDFInteger1-3

int

4

User Defined Fields for integers 1..3

 

UDFNumber1-3

float

8

User Defined fields for numbers 1…3

 

ServiceFactor

float

8

Factor used to multiply the ServiceDuration of a Measure x. Values greater than one (1) specify a slower Service time. Values less than one (1) specify faster service times.

 

RequirementSetID

int

4

The Requirement Set ID taken from the FWRequirementSet table.

 

AutoCorrectGeocodeInd

bit

4

This field will be set to 1 when the Autocorrection on Geocoding information process overwrote the original longitude/latitude of this record.

Default value: <null>

 

AutoCorrectLatitude

float

 

• If the reported latitude in a status message (see AVLParms) is to be considered for updating a customer, update FWLocation.GeocodeLatitude and the AutoCorrectLatitude with last reported status GPS

• If FWLocation.GeocodeScore <= MaxScoreToAutoCorrect and the latitude is not locked, then update FWLocation.GeocodeLatitude and the AutoCorrectLatitude with last reported status GPS

• Otherwise just save latitude reported in status GPS in the AutoCorrectLatitude

 

AutoCorrectLongitude

float

 

• If the reported longitude in a status message (see AVLParms) is to be considered for updating a customer, then update GeocodeLongitude and the AutoCorrectLongitude with last reported status GPS

• If GeocodeScore <= MaxScoreToAutoCorrect and the longitude is not locked, then update GeocodeLongitude and the AutoCorrectLongitude with last reported status GPS

• Otherwise save reported longitude GPS in AutoCorrectLongitude

 

UDFDateTime1-3

nvarchar

 

User-defined date/time fields

 

RechargeSetupPenalty

float

8

One time cost that a resource incurs whenever it reloads or unloads using this location.

 

RechargePenaltyMeasure1…9

float

8

Penalty per unti incurred a this location when a resource loads Measure ”r;x”.

 

StartupTime

nvarchar

 

Allows RMPI to add a startup time at the beginning of a route. This time can be specified by resource and/or by location. If both exist, RMPI adds them together.

 

WindupTime

nvarchar

 

Allows RMPI to add a shut down time at the end of a route. This time can be specified by resource and/or by location. If both exist, RMPI adds them together.

 

AllowEmptyStart

bit

1

Enables Resources to start empty and allows them to load at their home or remote location. To activate this functionality on a schedule, the AllowEmptyStart property must be set to ”r;1”.

 

UseCallOutNotifyInd

int

 

This field will activate or deactivate Callouts/Notifications for this org

0: use the higher level setting

1: use the local setting

2: do not call

 

CallOutNotifyProfileId

int

 

This field will identify the primary key of the Callout/Notification Profile to use

 

MaxDockDoors

 

 

Specifies the maximum number of dock doors to display in the Dock Door View quadrant.

 

NrOfLoadingBatches

 

 

Specifies the number of loading batches to display in the Dock Door View quadrant.

 

RemoveChildWhenEmpty

int

 

0: The system will not remove time windows from existing locations when none are specified on the import file

1: The system will remove time windows from existing locations when none are specified on the import file

 

LockLatLong

bit

1

This field is used to lock a longitude and latitude of a location. Values are:

·        0 = Off

·        1 = On

Default is 0.

Required – unless it is specified explicitly