<#include "HfRpConfig.ftl"> <#include "ReflexUtils.ftl"> <#include "ActorPrefix.ftl"> [ { <#assign planned_final_delivery_start_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.planned_final_delivery_start_datetime,time_zone_rfx) /> <#assign pro_creation_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.creation_datetime,time_zone_rfx) /> "Header": { "ProjectID": "${projectRP}" }, "ID": { <#if preparation_order.originator_reference?? && preparation_order.originator_reference!=""> "RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.originator_reference?trim?json_string}", <#else> "RefID": "${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}", "RefDate": { "DateTime": "${pro_creation_datetime}", "AuthorTimeZone": "${time_zone_rfx}" } }, "Payload": { "CreationDateTime": { "DateTime": "${pro_creation_datetime}", "AuthorTimeZone": "${time_zone_rfx}" }, <#-- Header Metadata inclusion --> <#include "RFXtoRP_HsrPro_ExecutionflowDetected_HeaderMetadata.ftl">, <#-- Add transport grade code <#if preparation_order.transport_grade_code!=""> "CarrierService":"${preparation_order.transport_grade_code?trim?json_string}", --> "ShipFrom": { "ActorID": "${RFXtoRPprefixDepot(preparation_order.physical_depot_code?trim?json_string)}" }, "ShipFromAcked": true, "ShipTo": { <#if preparation_order.intermediate_consignee_code?? && preparation_order.intermediate_consignee_code!=""> "ActorID": "${RFXtoRPprefixDepot(preparation_order.intermediate_consignee_code?json_string)}" <#else> <#if preparation_order.preparation_type_code == "030"> "ActorID": "${RFXtoRPprefixDepot(preparation_order.end_consignee_code?json_string)}" <#else> <#if preparation_order.address.address_type_code == "" && preparation_order.address.name_or_company_name == "" && preparation_order.address.additional_address_data_1 == "" && preparation_order.address.additional_address_data_2 == "" && preparation_order.address.post_code_area_name == "" && preparation_order.address.territorial_division_code == "" && preparation_order.address.postal_code == "" && preparation_order.address.iso_country_code == ""> "ActorID": "${RFXtoRPprefixConsignee(preparation_order.end_consignee_code?json_string)}" <#else> "Actor": { "Name" : "${(preparation_order.address.name_or_company_name!"")?json_string}", "Address" : { "City" : "${(preparation_order.address.post_code_area_name!"")?json_string}", "CountryCode" : "${preparation_order.address.iso_country_code!""}", "PostalCode" : "${preparation_order.address.postal_code!""}", "StreetAddressOne" : "${(preparation_order.address.street_and_number_and_po_box!"")?json_string}", "StreetAddressTwo" : "${(preparation_order.address.additional_address_data_1!"")?json_string}", "StreetAddressThree" : "${(preparation_order.address.additional_address_data_2!"")?json_string}" } }, "Contact" : { "FirstName" : "${(preparation_order.address.first_name!"")?json_string}", "LastName" : "${(preparation_order.address.last_name!"")?json_string}", "Emails" : ${splitEmailsIntoArray((preparation_order.address.mail_address!"")?json_string)}, "Phones" : ["${(preparation_order.address.mobile_phone_number!"")?json_string}","${(preparation_order.address.land_line_phone_number!"")?json_string}", "${(preparation_order.address.fax_number!"")?json_string}" ] } }, <#if preparation_order.originator_reference?? && preparation_order.originator_reference!=""> "OrderID": "${preparation_order.originator_reference?trim?json_string}", <#else> "OrderID": "O${preparation_order.physical_depot_code?trim?json_string}${preparation_order.activity_code?trim?json_string}${preparation_order.originator_code?trim?json_string}${preparation_order.preparation_order_year}${preparation_order.preparation_order_number}", <#if preparation_order.line_list??> "Lines" : [ <#list preparation_order.line_list as preparation_order_line > { <#if (preparation_order_line.originator_reference_line_number!0) != 0> "LineID": "${preparation_order_line.originator_reference_line_number}", <#else> "LineID": "${preparation_order_line.preparation_order_line_number!0}", <#-- Line Metadata inclusion --> <#include "RFXtoRP_HsrPro_ExecutionflowDetected_LineMetadata.ftl">, "RequestedContent": { "Goods": { "ItemID": "${preparation_order_line.item_code?trim?json_string!"0"}", "LVBranchID": "${preparation_order_line.item_lv_code?json_string!"0"}", <#if (preparation_order_line.optional_attributes.forced_priority_date?length != 0) && (preparation_order_line.optional_attributes.forced_priority_date?starts_with("00") == false)> <#assign forced_priority_date = preparation_order_line.optional_attributes.forced_priority_date?datetime(rfx_date_format_default)?iso_utc /> "PriorityDate": "${forced_priority_date}", <#-- Segmentation Keys inclusion --> <#include "RFXtoRP_HsrPro_ExecutionflowDetected_SegmentationKeys.ftl"> }, "Quantity" : { "LVID": "${quantity_in_base_lv_RP_Cst}", "Value": "${preparation_order_line.base_lv_quantity_to_prepare!0}" } } }<#sep>, ], "RequestedMilestones" : { "RequestedDeliveryDateTime" : { <#if preparation_order.intermediate_consignee_code?? && preparation_order.intermediate_consignee_code!="" && preparation_order.intermediate_delivery_start_datetime?? && preparation_order.intermediate_delivery_start_datetime!="0000-00-00T00:00:00"> <#assign intermediate_delivery_start_datetime = RfxDateTimetoUTCWithTimezone(preparation_order.intermediate_delivery_start_datetime,time_zone_rfx) /> "DateTime": "${intermediate_delivery_start_datetime}", "AuthorTimeZone": "${time_zone_rfx}" <#else> "DateTime": "${planned_final_delivery_start_datetime}", "AuthorTimeZone": "${time_zone_rfx}" } } } } ]