reflex-wms-connector/RPtoRFX_CarrierAppointmentCreated.ftl
2025-12-10 10:55:35 +01:00

56 lines
2.0 KiB
Java

{
"id" : {"refid" : "${eventRP.refid?json_string}"},
"route" : "rest/public/v1/physical_depots/{physical_depot_code}/carrier_appointments",
"method" : "POST",
"uri_substitutions": {
"physical_depot_code": "${RPtoRFXprefixDepot(eventRP.actor)}"
},
"payload" :
{
"appointment_reference": "${eventRP.refid?json_string}",
<#switch appointment.AppointmentType>
<#case "APPOINTMENT_TYPE_LOADING">
"unloading_appointment" : "false",
"load_appointment" : "true",
"planned_load_start_datetime" : "${DateTimeUTCtoRfxLocale(appointment.Slot.StartDateTime,time_zone_rfx)}",
"planned_load_end_datetime": "${AddSecondsToDatetime(appointment.Slot.StartDateTime?datetime.iso,appointment.Slot.DurationInSeconds?number)?iso_nz(time_zone_rfx)}",
<#break>
<#case "APPOINTMENT_TYPE_UNLOADING">
"unloading_appointment" : "true",
"load_appointment" : "false",
"planned_unloading_start_datetime" : "${DateTimeUTCtoRfxLocale(appointment.Slot.StartDateTime,time_zone_rfx)}",
"planned_unloading_end_datetime": "${AddSecondsToDatetime(appointment.Slot.StartDateTime?datetime.iso,appointment.Slot.DurationInSeconds?number)?iso_nz(time_zone_rfx)}",
<#break>
<#default>
<#stop "appointment.AppointmentType not implemented" >
</#switch>
"planned_carrier" : "ABAN", <#-- "${appointment.CarrierName?json_string}", -->
<#if appointment.Commissions??>
"physical_receipt_list": [
<#list appointment.Commissions as commission>
{
<#list eventRP.executionflowCustomFields.entrySet() as custom>
"${custom}"
"receipt_activity": "${custom.value.activity_code?json_string}",
"originator_code": "${custom.value.originator_code?json_string}",
"physical_receipt_reference": "${custom.value.reference?json_string}",
"receipt_year": "${custom.value.order_year?json_string}",
"receipt_number": "${custom.value.order_number?json_string}"
</#list>
}
<#sep>,</#sep>
</#list>
],
</#if>
"constant_appointment": "false"
}
}