{% set activeShipmentCount = 0 %} {% for shipmentCounter in shipments %}{% if shipmentCounter.active %}{% set activeShipmentCount = activeShipmentCount + 1 %}{% endif %}{% endfor %}
Logistyka

Przesyłki i tracking

Jedno zamówienie i jedna realizacja mogą mieć kilka paczek. Historia przewoźnika jest zapisywana bez nadpisywania wcześniejszych zdarzeń.

Przesyłki: {{ shipments|length }} Aktywne: {{ activeShipmentCount }}
{% if permissions.shipment_manage %}
add_boxDodaj przesyłkęWybierz przewoźnika i podaj numer trackingowy
{% endif %}
{% for shipment in shipments %} {% set shipmentStatus = statuses_by_scope_code['shipment:' ~ shipment.statusCode]|default(null) %}
{{ shipment.carrierName ?: shipment.carrierCode|upper }} {% if shipment.trackingUrl %}{{ shipment.trackingNumber ?: 'Brak numeru' }}{% else %}{{ shipment.trackingNumber ?: 'Brak numeru' }}{% endif %} Przesyłka #{{ shipment.id }} · {{ shipment.uuid }}
{% include 'status/_badge.html.twig' with {status: shipmentStatus, code: shipment.statusCode, scope: 'shipment'} only %} {% if not shipment.active %}Śledzenie wyłączone{% endif %}
Status lokalny
{{ shipmentStatus ? shipmentStatus.label : shipment.statusCode }}
Raw status
{{ shipment.rawStatusCode ?: '—' }}{% if shipment.rawStatusLabel %}{{ shipment.rawStatusLabel }}{% endif %}{% if permissions.workflow_status_change and shipment.trackingError and 'Nierozpoznany status' in shipment.trackingError %}Dodaj mapowanie{% endif %}
Realizacja
{% if shipment.fulfillment %}#{{ shipment.fulfillment.id }}{% else %}—{% endif %}
Źródło
{{ shipment.sourceType }}{% if shipment.sourceIdentifier %}{{ shipment.sourceIdentifier }}{% endif %}
Nadano
{{ shipment.shippedAt ? shipment.shippedAt|date('d.m.Y H:i') : '—' }}
Doręczono
{{ shipment.deliveredAt ? shipment.deliveredAt|date('d.m.Y H:i') : '—' }}
Ostatnie sprawdzenie
{{ shipment.lastTrackedAt ? shipment.lastTrackedAt|date('d.m.Y H:i') : '—' }}{% if shipment.lastSuccessfulTrackAt %}ostatnie poprawne: {{ shipment.lastSuccessfulTrackAt|date('d.m.Y H:i') }}{% endif %}
Następne sprawdzenie
{{ shipment.nextTrackAt ? shipment.nextTrackAt|date('d.m.Y H:i') : '—' }}
Punkt odbioru
{{ shipment.pickupPointCode ?: '—' }}
Błędy
{{ shipment.consecutiveErrors }}{% if shipment.trackingError %}{{ shipment.trackingError }}{% endif %}
Zawartość paczki {% for assignment in shipment.items %} {{ assignment.fulfillmentItem and assignment.fulfillmentItem.salesOrderItem ? assignment.fulfillmentItem.salesOrderItem.name : ('Pozycja #' ~ assignment.fulfillmentItem.id) }} × {{ assignment.quantity }} {% else %}Brak przypisanych pozycji.{% endfor %}
{% if permissions.shipment_track %}
{% endif %} {% if permissions.shipment_manage %}
{% endif %}
{% if permissions.shipment_manage %}
editEdytuj dane przesyłki i podział ilości
{% if fulfillments %}
Pozycje i ilościZmiana przewoźnika lub numeru jest blokowana, gdy przesyłka ma już historię.
{% for fulfillment in fulfillments %}
Realizacja #{{ fulfillment.id }} {% for fulfillmentItem in fulfillment.items %} {% set assignedQuantity = 0 %} {% for assignment in shipment.items %}{% if assignment.fulfillmentItem and assignment.fulfillmentItem.id == fulfillmentItem.id %}{% set assignedQuantity = assignment.quantity %}{% endif %}{% endfor %} {% endfor %}
{% endfor %}
{% endif %}
{% endif %}
historyHistoria przewoźnika ({{ shipment.events|length }}) {% if shipment.events is not empty %}
{% for event in shipment.events %}{% endfor %}
DataStatusOpisLokalizacjaŹródło
{{ event.eventAt|date('d.m.Y H:i:s') }}{{ event.rawLabel }}{% if event.rawCode %}{{ event.rawCode }}{% endif %}{{ event.rawDescription ?: '—' }}{{ event.location ?: '—' }}{{ event.sourceType }}
{% else %}
Brak zapisanych zdarzeń

Pojawią się po pierwszym poprawnym pobraniu trackingu.

{% endif %}
{% include 'status/_manual_change_form.html.twig' with {scope: 'shipment', entity: shipment, current_code: shipment.statusCode, available_statuses: shipment_workflow_statuses, can_change: permissions.workflow_status_change, can_force: permissions.workflow_terminal_force} only %} {% if permissions.shipment_manage and shipment.sourceType == 'manual' %}
{% endif %}
{% else %} {% if order.trackingNumber %}
info

Stare pole zamówienia zawiera tracking {{ order.trackingNumber }}, ale nie utworzono jeszcze centralnej przesyłki. Pole pozostaje kompatybilnym cache i nie jest automatycznie usuwane.

{% else %}
package_2Brak przesyłek

Dodaj tracking ręcznie albo poczekaj na utworzenie przesyłki przez monitoring Snapwear.

{% endif %} {% endfor %}