Parsifal PRISM Interface – Household Goods Milestone Update
As mentioned in Service Order Initiation, a new Job is created in Moveware based on the data received from PRISM. From that point forward, updates should be made in Moveware only. Any updates to a (PRISM) Job in Moveware will automatically sync the updated data back to PRISM.
Moveware checks for updates to PRISM Jobs every two minutes, by scanning through each Active (not Canceled, Lost or Completed) Job that has “Parsifal” set in the Source/Referral field.
It then looks at each Job to see if any changes were made since the last update to the Job. If any changes were made, Moveware will send the Job data to PRISM. Moveware will send all the data stored in each field defined in the table below every time a change is made to the Job.
For this to function effectively, the following requirements must be adhered to:
If an Order has both an Air and a Sea portion, they need to be created as “sequenced” Jobs. For example, if the Air portion is Job 100113, the Sea must be 100113a. Both Jobs should be assigned the same Order number.
In the above example, if either 100113 or 100113a are updated, Moveware will send all the data for that Order number (both Jobs) at once.Many of the updates from Moveware to PRISM depend on Diary Actions using specific “Key Actions”. For example, to update the “actualPackToAir” field in PRISM, Moveware will send the date of the latest Pack Action on the Air shipment. It will look at the Job where the Method = Air, and it will look for a diary action with a Key Action of Pack.
Several of the below updates look for the “earliest” or “latest” diary action, to populate the “from” and the “to” date in PRISM. The earliest action will be the action with the earliest date. For example, say a Job has 4 Pack actions with the following dates: March 9, March 10, March 11, and March 12 – the actualPackFromAir will be March 9, while the actualPackToAir will be March 12.
In the table below, there is reference to “Completed” and “Incomplete” Diary Actions. Completed means the Diary Action has been marked as Complete on the Job. This is used to designate a date as being the ‘Actual’ date. Incomplete means it has not yet been marked as Completed and is used to designate the date as being ‘Estimated’.
When a diary action goes from Incomplete to Complete, since there is a need to continue to sync the ‘Estimated’ date to PRISM, Moveware will automatically generate an identical Diary Action but with the string ‘ParsifalEst’ in the description. This ‘ParsifalEst’ version of Diary Action stores the before-completed-date and will be used for the sync of the Estimated date going forward. If for some reasons the Diary Action needs to be revert back to Incomplete state, Moveware will automatically delete the ‘ParsifalEst’ version.
There are also a few references to Diary Actions being marked as “N/A” (Not Applicable), which communicates to PRISM that this task is not required (i.e. Customs Clearance).
PRISM requires a True/False value from Moveware in several cases, such as the “Packing Confirmation Sent”. In these cases, Moveware is going to provide a “False” value unless it the “True” criteria is met. For Packing Confirmation, if a Completed packingConfirmationSent diary (key) action exists on the Job, then Moveware will provide “True”. In the case of multiple Jobs sharing the same Order number (Sea & Air portions), Moveware will look through all Jobs using that Order number for the “True” value. As long as one of the Jobs has a Completed Packing Confirmation, PRISM will receive confirmation that it occurred for that Order.
List of data that sends from Moveware to PRISM:
Parsifal field name | Parsifal Comments | Moveware field | Moveware field description |
---|---|---|---|
*supplierKey | GUID provided to suppliers when they begin to use the PRISM Supplier APIs |
| Pull from backend MoveSupport database |
*referenceID | Obtained from Reference ID feed | removals.r-spareint[7] | Job Details - PRISM# (must be numeric) |
*fileNbr |
| removals.r-order | Job Details - P.O Number (Order No.) |
supplierMoveCoordinator | User Email - used to log into PRISM | removals.r-manager -> payemp.pay-email | Job Details - Move Manager -> Employee Details Work Email |
firstContactDT |
|
| Job Diary - firstContactDT diary (key) action - from original job. |
*introCall | True/False |
| Job Diary - If Completed introCall diary (key) action exists then True - from original job. |
*infoPackageSent | True/False |
| Job Diary - If Completed infoPackageSent diary (key) action exists then True - from original job. |
surveySchedulingCallDT |
|
| Job Diary - surveySchedulingCallDT diary (key) action - from original job. |
surveyFollowUpDT |
|
| Job Diary - Followup diary (key) action - from original job. |
scheduledSurveyDT |
|
| Job Diary - Incomplete Survey diary (key) action date - from original job. |
actualSurveyDT |
|
| Job Diary - Completed Survey diary (key) action date |
loadCallDT |
|
| Job Diary - loadCallDT diary (key) action date |
qASiteVisitDT |
|
| Job Diary - qASiteVisitDT diary (key) action date |
*packingConfirmationSent | True/False |
| Job Diary - If Completed packingConfirmationSent diary (key) action then True |
originAgentID | Obtained from Agent Feed | removals.foagentid -> oagents.o-sparechar[?] | Job Details - Origin Agent -> The ID value from Agent Settings: Parsifal |
destinationAgentID | Obtained from Agent Feed | removals.oagentid -> oagents.o-sparechar[?] | Job Details - Destination Agent -> The ID value from Agent Settings: Parsifal |
estimatedPackFromAir |
|
| Job Diary - the earliest Uncompleted Pack diary (key) action where Method = Air |
estimatedPackToAir |
|
| Job Diary - the latest Incomplete Pack diary (key) Action where Method = Air |
actualPackFromAir |
|
| Job Diary - the earliest Completed Pack diary (key) action where Method = Air |
actualPackToAir |
|
| Job Diary - the latest Completed Pack diary (key) Action where Method = Air |
estimatedPackFromSea |
|
| Job Diary - the earliest Incomplete Pack diary (key) action where Method = Sea |
estimatedPackToSea |
|
| Job Diary - the latest Incomplete Pack diary (key) Action where Method = Sea |
actualPackFromSea |
|
| Job Diary - the earliest Completed Pack diary (key) action where Method = Sea |
actualPackToSea |
|
| Job Diary - the latest Completed Pack diary (key) Action where Method = Sea |
estimatedPackFromRoad |
|
| Job Diary - the earliest Incomplete Pack diary (key) action where Method = Road |
estimatedPackToRoad |
|
| Job Diary - the latest Incomplete Pack diary (key) Action where Method = Road |
actualPackFromRoad |
|
| Job Diary - the earliest Completed Pack diary (key) action where Method = Road |
actualPackToRoad |
|
| Job Diary - the latest Completed Pack diary (key) Action where Method = Road |
estimatedLoadFromAir |
|
| Job Diary - the earliest Incomplete Uplift diary (key) action where Method = Air |
estimatedLoadToAir |
|
| Job Diary - the latest Incomplete Uplift diary (key) Action where Method = Air |
actualLoadFromAir |
|
| Job Diary - the earliest Completed Uplift diary (key) action where Method = Air |
actualLoadToAir |
|
| Job Diary - the latest Completed Uplift diary (key) Action where Method = Air |
estimatedLoadFromSea |
|
| Job Diary - the earliest Incomplete Uplift diary (key) action where Method = Sea |
estimatedLoadToSea |
|
| Job Diary - the latest Incomplete Uplift diary (key) Action where Method = Sea |
actualLoadFromSea |
|
| Job Diary - the earliest Completed Uplift diary (key) action where Method = Sea |
actualLoadToSea |
|
| Job Diary - the latest Completed Uplift diary (key) Action where Method = Sea |
estimatedLoadFromRoad |
|
| Job Diary - the earliest Incomplete Uplift diary (key) action where Method = Road |
estimatedLoadToRoad |
|
| Job Diary - the latest Incomplete Uplift diary (key) Action where Method = Road |
actualLoadFromRoad |
|
| Job Diary - the earliest Completed Uplift diary (key) action where Method = Road |
actualLoadToRoad |
|
| Job Diary - the latest Completed Uplift diary (key) Action where Method = Road |
exportCustomsClearedEstimateAir |
|
| Job Diary - Incomplete Customs Cleared at Origin diary (key) action where Method = Air |
exportCustomsClearedActualAir |
|
| Job Diary - Completed Customs Cleared at Origin (key) action where Method = Air |
importCustomsClearedEstimatedAir |
|
| Job Diary - Incomplete Customs Cleared at Destination diary (key) action where Method = Air |
importCustomsClearedActualAir |
|
| Job Diary - Completed Customs Cleared at Destination diary (key) action where Method = Air |
*exportClearingNotRequiredAir | True/False |
| Job Diary - If Customs Cleared at Origin diary (key) action is marked as N/A and Method = Air |
exportCustomsClearedEstimateSea |
|
| Job Diary - Incomplete Customs Cleared at Origin diary (key) action where Method = Sea |
exportCustomsClearedActualSea |
|
| Job Diary - Completed Customs Cleared at Origin (key) action where Method = Sea |
importCustomsClearedEstimatedSea |
|
| Job Diary - Incomplete Customs Cleared at Destination diary (key) action where Method = Sea |
iImportCustomsClearedActualSea |
|
| Job Diary - Completed Customs Cleared at Destination diary (key) action where Method = Sea |
*exportClearingNotRequiredSea | True/False |
| Job Diary - If Customs Cleared at Origin diary (key) action is marked as N/A and Method = Sea |
exportCustomsClearedEstimateRoad |
|
| Job Diary - Incomplete Customs Cleared at Origin diary (key) action where Method = Road |
exportCustomsClearedActualRoad |
|
| Job Diary - Completed Customs Cleared at Origin (key) action where Method = Road |
importCustomsClearedEstimatedRoad |
|
| Job Diary - Incomplete Customs Cleared at Destination diary (key) action where Method = Road |
importCustomsClearedActualRoad |
|
| Job Diary - Completed Customs Cleared at Destination diary (key) action where Method = Road |
*exportClearingNotRequiredRoad | True/False |
| Job Diary - If Customs Cleared at Origin diary (key) action is marked as N/A and Method = Road |
*importClearingNotRequiredRoad | True/False |
| Job Diary - If Customs Cleared at Destination diary (key) action is marked as N/A and Method = Road |
airportOfDepartureID | Obtained from Port Feed | waybill.w-portoriginID -> ports.port-acos | Waybill - Rail/Port - Origin Method = Air |
estimatedAirportOfDepartureDT |
|
| Job Diary - Incomplete Departure diary (key) action where Method = Air |
revisedAirportOfDepartureDT |
|
|
|
actualAirportOfDepartureDT |
|
| Job Diary - Completed Departure diary (key) action where Method = Air |
airportOfEntryID | Obtained from Port Feed | waybil.w-portdestinationID -> ports.port-acos | Waybill - Rail/Port - Destination where Method = Air |
airportOfEntryEstimatedArrival |
|
| Job Diary - Incomplete Arrival diary (key) action where Method = Air |
airportOfEntryActualArrival |
|
| Job Diary - Completed Arrival diary (key) action where Method = Air |
portOfDepartureID | Obtained from Port Feed | waybill.w-portoriginID -> ports.port-acos | Waybill - Rail/Port - Origin where Method = Sea |
estimatedPortOfDepartureDT |
|
| Job Diary - Incomplete Departure diary (key) action where Method = Sea |
revisedPortOfDepartureDT |
|
|
|
actualPortOfDepartureDT |
|
| Job Diary - Completed Departure diary (key) action where Method = Sea |
portOfEntryID | Obtained from Port Feed | waybil.w-portdestinationID -> ports.port-acos | Waybill - Rail/Port - Destination where Method = Sea |
portOfEntryEstimatedArrival |
|
| Job Diary - Incomplete Arrival diary (key) action where Method = Sea |
portOfEntryActualArrival |
|
| Job Diary - Completed Arrival diary (key) action where Method = Sea |
airwayBill |
| waybill.w-obl | Waybill - OBL/AWBL where Method = Air |
flightNumber |
| waybill.w-routvoyage[1] | Waybill - Flight where Method = Air. First route only |
airline |
| waybill.w-routecarrier[1] | Waybill - Carrier where Method = Air. First route only |
oceanBillOfLading |
| waybill.w-obl | Waybill - OBL/AWBL where Method = Sea |
voyageID |
| waybill.w-voyage | Waybill - Voyage where Method = Sea |
steamshipLine |
| waybill.w-vessel | Waybill - Freight where method = Sea |
vesselName |
| waybill.w-vesselname | Waybill - Vessel where Method =Sea |
containerID1 |
| remcost.rc-number | Waybill - Container Number -1st Container from either the first job or any of the sequenced job, whichever one comes first. |
containerID2 |
| remcost.rc-number | Waybill - Container Number - 2nd Container of the job if there are no sequenced jobs. If there are sequenced jobs, then 1st Container from any of the sequenced job, whichever one comes first. |
roadBillOfLading |
| waybill.w-obl | Waybill - OBL/AWBL where Method = Road |
originAirSITInEstimate |
|
| Job Diary - Incomplete Origin SIT In diary (key) action where Method = Air |
originAirSITOutEstimate |
|
| Job Diary - Incomplete Origin SIT Out diary (key) action where Method = Air |
originAirSITInActual |
|
| Job Diary - Completed Origin SIT In diary (key) action where Method = Air |
originAirSITOutActual |
|
| Job Diary - Completed Origin SIT Out diary (key) action where Method = Air |
destAirSITInEstimate |
|
| Job Diary - Incomplete Dest SIT In diary (key) action where Method = Air |
destAirSITOutEstimate |
|
| Job Diary - Incomplete Dest SIT Out diary (key) action where Method = Air |
destAirSITInActual |
|
| Job Diary - Completed Dest SIT In diary (key) action where Method = Air |
destAirSITOutActual |
|
| Job Diary - Completed Dest SIT Out diary (key) action where Method = Air |
originSeaSITInEstimate |
|
| Job Diary - Incomplete Origin SIT In diary (key) action where Method = Sea |
originSeaSITOutEstimate |
|
| Job Diary - Incomplete Origin SIT Out diary (key) action where Method = Sea |
originSeaSITInActual |
|
| Job Diary - Completed Origin SIT In diary (key) action where Method = Sea |
originSeaSITOutActual |
|
| Job Diary - Completed Origin SIT Out diary (key) action where Method = Sea |
destSeaSITInEstimate |
|
| Job Diary - Incomplete Dest SIT In diary (key) action where Method = Sea |
destSeaSITOutEstimate |
|
| Job Diary - Incomplete Dest SIT Out diary (key) action where Method = Sea |
destSeaSITInActual |
|
| Job Diary - Completed Dest SIT In diary (key) action where Method = Sea |
destSeaSITOutActual |
|
| Job Diary - Completed Dest SIT Out diary (key) action where Method = Sea |
originRoadSITInEstimate |
|
| Job Diary - Incomplete Origin SIT In diary (key) action where Method = Road |
originRoadSITOutEstimate |
|
| Job Diary - Incomplete Origin SIT Out diary (key) action where Method = Road |
originRoadSITInActual |
|
| Job Diary - Completed Origin SIT In diary (key) action where Method = Road |
originRoadSITOutActual |
|
| Job Diary - Completed Origin SIT Out diary (key) action where Method = Road |
destRoadSITInEstimate |
|
| Job Diary - Incomplete Dest SIT In diary (key) action where Method = Road |
destRoadSITOutEstimate |
|
| Job Diary - Incomplete Dest SIT Out diary (key) action where Method = Road |
destRoadSITInActual |
|
| Job Diary - Completed Dest SIT In diary (key) action where Method = Road |
destRoadSITOutActual |
|
| Job Diary - Completed Dest SIT Out diary (key) action where Method = Road |
midCallAttempted |
|
| Job Diary - midCallAttempted diary action date |
midCallCompleted |
|
| Job Diary - midCallCompleted diary action date |
estimatedDeliveryFromAir |
|
| Job Diary - the earliest Incomplete Delivery diary (key) action where Method = Air |
estimatedDeliveryToAir |
|
| Job Diary - the latest Incomplete Delivery diary (key) Action where Method = Air |
actualDeliveryFromAir |
|
| Job Diary - the earliest Completed Delivery diary (key) action where Method = Air |
actualDeliveryToAir |
|
| Job Diary - the latest Completed Delivery diary (key) Action where Method = Air |
estimatedDeliveryFromSea |
|
| Job Diary - the earliest Incomplete Delivery diary (key) action where Method = Sea |
estimatedDeliveryToSea |
|
| Job Diary - the latest Incomplete Delivery diary (key) Action where Method = Sea |
actualDeliveryFromSea |
|
| Job Diary - the earliest Completed Delivery diary (key) action where Method = Sea |
actualDeliveryToSea |
|
| Job Diary - the latest Completed Delivery diary (key) Action where Method = Sea |
estimatedDeliveryFromRoad |
|
| Job Diary - the earliest Incomplete Delivery diary (key) action where Method = Road |
estimatedDeliveryToRoad |
|
| Job Diary - the latest Incomplete Delivery diary (key) Action where Method = Road |
actualDeliveryFromRoad |
|
| Job Diary - the earliest Completed Delivery diary (key) action where Method = Road |
actualDeliveryToRoad |
|
| Job Diary - the latest Completed Delivery diary (key) Action where Method = Road |
oACallAttempted |
|
| Job Diary - oACallAttempted diary action date |
oACallCompleted |
|
| Job Diary - oACallCompleted diary action date |
*propertyDamage | True/False |
| Job Diary - If Completed PropertyDamage diary (key) action exists then True |
*hHGDamage | True/False |
| Job Diary - If Completed hHGDamage diary (key) action exists then true |
*allDeliveriesComplete | True/False |
| Job Diary - If Completed allDeliveriesComplete diary (key) action then true |
*signedDeliveryFormReceived | True/False |
| Job Diary - If Completed signedDeliveryFormReceived (key) action then True |
propertyDamageComments |
|
| Job Diary - Completed PropertyDamage Comments - Includes comments from all sequenced jobs, separated by ' // ' |
hHGDamageComments |
|
| Job Diary - Completed hHGDamage Comments - Includes comments from all sequenced jobs, separated by ' // ' |