Zum Hauptinhalt springen
Eine Versandart im Shop entsteht aus zwei Bausteinen. Der Abschnitt Delivery legt die Regeln fest, die für alle Versandarten gelten. Jeder +Deliverer-Abschnitt beschreibt dann eine einzelne Versandart mit ihren Kosten und ihren Bedingungen. Weil eine einzelne Versandart sehr viele Bedingungen haben kann, lagert die Konfiguration die komplexeren davon in eigene Definitions-Abschnitte aus. Dort legen Sie einmal eine Regel mit einer ID an und verweisen aus beliebig vielen +Deliverer-Abschnitten darauf. Diese Seite folgt genau dieser Reihenfolge. Erst die Grundeinstellungen, dann die einzelne Versandart, dann die vier Definitions-Abschnitte und zum Schluss die Zusatzfunktionen rund um Liefertermin, Teillieferung, Geschenkverpackung, Altersbeschränkung und Sendungsverfolgung. Referenz: Shopkonfiguration shop.config, Übersicht aller Abschnitte

Delivery

Grundeinstellungen für alle Versandarten.

Liefer- und Rechnungsland

AddressCountryDiffersDeliveryCountryExcept4VAT-Allow = yes bedeutet: wird Mehrwertsteuer gezahlt, darf das Lieferland jedes Land aus der Konfiguration der Lieferländer sein. Wird keine Mehrwertsteuer gezahlt, muss Lieferland gleich Rechnungsland sein. Bei no muss das Rechnungsland immer auch das Lieferland sein. Die Mehrwertsteuer wird anhand der Rechnungsadresse ermittelt, nicht anhand der Lieferadresse.

Versandkostenberechnung

DeliveryCostCalculation-Mode kennt drei Werte. CalculateOnce berechnet die Versandkosten einmalig für die gesamte Bestellung und ist der Standard. CalculateSeparateForEachPosition berechnet sie je Warenkorbposition. CalculateSeparateForEachPositionAndUsedDeliveryAddress berechnet sie je Lieferadresse und gilt nur bei Lieferung an mehrere Adressen. SubTotalDependentDeliveryCosts-Base entscheidet, welcher Betrag die Versandkostenstaffel auslöst. Das ist vor allem dann relevant, wenn Gutscheine im Spiel sind. Ein Beispiel macht den Unterschied deutlich. Ab 10 Euro ist der Versand kostenfrei. Im Warenkorb liegt ein Produkt für 11 Euro, dazu ein Gutschein über 10 Prozent. Die Zwischensumme beträgt in beiden Fällen 9,90. Nur die Bemessungsgrundlage für die Staffel ändert sich. Bei OrderDiscount wirken zusätzlich die Schalter ConsiderProductGroupDiscountForOrderDiscount-Allow und ConsiderProductDiscountFactorForOrderDiscount-Allow aus dem Abschnitt OrderConditions. Referenz: Abschnitt OrderConditions

Büchersendung

Wird eines der beiden Maxima überschritten, stehen alle Versandarten mit BookDelivery-Allow = yes für diese Bestellung nicht mehr zur Verfügung. Beide Parameter wirken nur, wenn sie angegeben und größer als 0 sind. Die Maßeinheit des Gewichts stammt aus den Produktdaten. Welche Versandart am Ende verfügbar ist, ergibt sich aus dem Zusammenspiel von Warenkorbinhalt, BookDeliveryType hier und BookDelivery-Allow im jeweiligen +Deliverer-Abschnitt. Die beiden auf den ersten Blick überraschenden Zeilen erklären sich so. Im gemischten Warenkorb mit BookDeliveryType = all sind nicht alle Positionen Bücher, die Bestellung ist also keine Büchersendung. Deshalb sind genau die Versandarten verfügbar, die bei Büchersendungen nicht erlaubt sind. Liegt gar kein Buch im Warenkorb, gilt dasselbe unabhängig vom Typ.

Mehrere Lieferadressen

Bei DelivererSelectionPerBasketPosition-Allow = test wird beim Verlassen des Testmodus eine neue Sitzung erzeugt.
Die Kostenstaffel für mehrere Lieferadressen folgt dem Muster (Anzahl:prozentual:absolut). Sind beide Kostenarten angegeben, wird der jeweils höhere Wert berechnet.
Ab 2 Lieferadressen kosten 5 Prozent des Positionswerts oder 2,00 Euro, je nachdem was höher ist. Ab 3 Lieferadressen fix 1,90 Euro. Ab 5 Lieferadressen 4,5 Prozent des Positionswerts.
Diese Kosten kommen zu den Kosten der Versandart hinzu. Die Kosten aus den +Deliverer-Abschnitten bleiben davon unberührt.
MultiDeliveryCheckDeliveryAtCombinedAddress-Allow entscheidet, ob die vollständigen Lieferprüfungen laufen. Das sind alle Prüfungen, die vor dem Absenden einer Bestellung durchlaufen werden müssen, beispielsweise Gültigkeit der Lieferadressen, zulässige Kombinationen aus Lieferland und Mehrwertsteuer sowie Mengenverteilungen.

Produktabhängige Versandarten

+Deliverer

Legt eine einzelne Versandart fest. Es sind bis zu 150 +Deliverer-Abschnitte möglich. Die Reihenfolge in der Konfiguration bestimmt die Reihenfolge der Anzeige im Shop.

Wann ein Abschnitt überhaupt gelesen wird

Wie bei den Zahlungsarten prüft der Kernel zuerst zwei Dinge und verwirft den gesamten Abschnitt, wenn eine Prüfung durchfällt. Eine Meldung erscheint nicht. Bei leerem Name-Txt wird der Parameter Country-Txt verwendet. Beide leer bedeutet: Versandart existiert nicht.
Zwei globale Einstellungen setzen sämtliche +Deliverer-Abschnitte außer Kraft. Ist das Frachtkostenmodul aktiv, werden alle Versandarten deaktiviert. Läuft die Bestellung über ein kundenspezifisches Angebot, werden alle Versandarten bis auf die erste deaktiviert, und diese erste wird mit Name und Kosten aus dem Angebot überschrieben. In beiden Fällen bleibt die Konfiguration der +Deliverer-Abschnitte wirkungslos.

Grundangaben

Bei AutoOrderReference wird die erste verfügbare und zutreffende Versandart mit der übergebenen Referenz ausgewählt.

Lokale Tags in Suffix-Txt

Darstellung

Die ID eines +AdditionalInfo-Parameters darf alphanumerische Zeichen, Bindestrich und Unterstrich enthalten.
Setzen Sie HideCostsInName nur dann auf yes, wenn Sie die lokalen Tags Cost, GrossCost oder NetCost in Suffix-Txt verwenden. Andernfalls werden die Versandkosten bei der Auswahl der Versandart gar nicht angezeigt.

Versandkosten

Die Kosten lassen sich absolut oder als Prozentsatz vom Warenwert angeben. Es werden bis zu 500 Staffelungen unterstützt. Dezimalstellen werden mit einem Punkt getrennt. MinCost greift, wenn in BasicCost-List keine Staffel hinterlegt ist oder die berechneten Kosten darunter liegen würden. ProductCost-Allow steuert die produktabhängige Berechnung. no schaltet sie ab, id rechnet nach der Versandarten-ID und id_zip zusätzlich nach dem PLZ-Bereich.
Drei Angaben zu den Versandkosten kommen hinzu.FaktorCost-Value legt Stückkosten fest.UserDeliveryCostReduction-Value wird nur gelesen, wenn im Kundenkonto der Schalter für Versandkostenreduktion gesetzt ist.Der Unterabschnitt DestinationDependentWeightCost erlaubt eine ziellandabhängige gewichtsbasierte Staffel. Seine Parameter sind nicht dokumentiert. Bitte bei Bedarf bei der WEBSALE AG erfragen.Zusätzlich akzeptiert der Kernel die Schreibweise BasicCostList ohne Bindestrich und liest sie vor BasicCost-List. Steht beides in der Konfiguration, gewinnt die Schreibweise ohne Bindestrich. Verwenden Sie BasicCost-List.

Verfügbarkeit nach Betrag, Gewicht und Volumen

Verfügbarkeit nach Land

Verfügbarkeit nach Produkten im Warenkorb

Ist DeliveryFilterID-List ohne führendes Plus angegeben, werden alle +DeliveryFilterID-List-Parameter ignoriert. Bei mehreren +DeliveryFilterID-List-Parametern steht die Versandart zur Verfügung, sobald eine der angegebenen Kombinationen zu den Produkten im Warenkorb passt.Konfigurieren Sie immer zuerst den Parameter und ergänzen Sie danach die Einträge in den Produktdaten.
AllowForInventoryStateAtLeast verlangt zu jedem genannten Lagerbestand mindestens ein passendes Produkt im Warenkorb.
Mit dieser Einstellung ist die Versandart verfügbar, wenn der Warenkorb mindestens ein grünes und mindestens ein gelbes Produkt enthält. Ein Warenkorb mit nur grünen Produkten erfüllt die Bedingung nicht. Ein Produkt ohne Lagerbestandsangabe wird wie ein Produkt mit Lagerbestand “grün” behandelt.

Verfügbarkeit nach Bestellart und Kunde

AllowForReferer-Qualification und die beiden Referer-Listen arbeiten zusammen. Die Qualification entscheidet, ob die Versandart überhaupt mit oder ohne gesetzten Referer erscheint. Die Listen entscheiden danach, welche konkreten Referer erlaubt oder ausgeschlossen sind. Sollen mehrere Checkout-Arten unterstützt werden, geben Sie bei AllowForCheckouts-List mehrere Werte kommasepariert an.

Verweise auf Definitions-Abschnitte

DelivererAdditionalInput-Definitions

Hier definieren Sie Zusatzeingabefelder für Versandarten, beispielsweise eine Telefonnummer, die nur bei Speditionslieferung gebraucht wird. Die Zuordnung erfolgt über +UseAdditionalInput-ID im +Deliverer-Abschnitt. Der Abschnitt darf nur einmal in der shop.config stehen.

+AdditionalInput

Drei Eigenheiten der Auswertung sind dabei zu beachten.MaxLength wird bei 0 oder bei einem Wert über dem internen Maximum stillschweigend auf dieses Maximum gesetzt.Type = checkbox setzt MaxLength fest auf 10, weil als Wert nur checked oder nichts gespeichert wird.Jeder Wert von Type, der nicht listbox oder checkbox lautet, ergibt input.

+listentry

Die Einträge einer Auswahlliste. Wird nur gebraucht, wenn Type = listbox gesetzt ist. Ein Unterabschnitt entspricht einem Eintrag der Dropdown-Liste.

+VisibilityDependency und +RequiredDependency

Beide Unterabschnitte sind optional und gleich aufgebaut. +VisibilityDependency steuert, ob das Feld überhaupt erscheint. +RequiredDependency steuert, ob das sichtbare Feld ein Pflichtfeld ist. Mehrere +VisibilityDependency-Abschnitte sind oder-verknüpft, die +Dependency-Abschnitte darin und-verknüpft.
Wenn Sie einen der beiden Abschnitte verwenden, muss Required auf no stehen. Andernfalls ist das Feld unabhängig von den Bedingungen immer ein Pflichtfeld.
Der Unterabschnitt +Condition wird nur bei billaddress, delivaddress, onlydelivaddress und additionalinput ausgewertet. Die vier Werte, die mit delivaddress- beginnen, prüfen den Zustand selbst und brauchen keine Bedingung. Bei den beiden Wildcard-Prüfungen steht ? für genau ein beliebiges Zeichen und * für beliebig viele Zeichen. Der Stern darf nur am Ende stehen.

DelivererAddressDependencies-Definitions

Macht eine Versandart von den Eingaben in der Rechnungs- oder Lieferadresse abhängig. Die Zuordnung erfolgt über +UseAddressDependency-ID. Der Abschnitt darf nur einmal in der shop.config stehen und braucht mindestens einen Unterabschnitt +AddressDependency.
Die Bedingungen machen eine Versandart verfügbar, wenn sie erfüllt sind. Ein Ausschluss lässt sich nicht formulieren. Wer eine Versandart für bestimmte Adressen ausschließen möchte, formuliert die Bedingung negativ, beispielsweise mit empty oder notvalue.
Beachten Sie die Verschachtelung. +AddressDependency enthält +DependencyGroup, diese enthält +Dependency, diese enthält +Condition. Referenz: Abschnitt AddressFields-Txt

DelivererProductDependencies-Definitions

Macht eine Versandart vom Produktindex, von der Produktnummer oder von einem freien Produktdatenfeld abhängig. Die Zuordnung erfolgt über +UseProductDependency-ID. Auch dieser Abschnitt darf nur einmal in der shop.config stehen und braucht mindestens einen Unterabschnitt +ProductDependency.
Auch hier machen die Bedingungen eine Versandart verfügbar, wenn sie erfüllt sind. Ein Ausschluss lässt sich nicht formulieren.
Freie Produktfelder tragen das Präfix AF-, beispielsweise AF-FSK18. Sie müssen zusätzlich im Abschnitt AdditionalProductFieldsInBasket für den Warenkorb aktiviert sein. Referenz: Abschnitt AdditionalProductFieldsInBasket

DelivererShowDisabled-Definitions

Steuert, ob eine nicht verfügbare Versandart ausgegraut statt gar nicht angezeigt wird. Sie legen eine Regel an und tragen deren ShowDisabled-GroupID in die betreffenden +Deliverer-Abschnitte ein. Der Abschnitt darf nur einmal in der shop.config stehen. Die Gruppierung ist der eigentliche Zweck. Legen Sie je Lieferzone einen eigenen +Deliverer-Abschnitt für denselben Versender an, verhindert eine gemeinsame GroupID, dass derselbe Versender mehrfach ausgegraut erscheint. Eine Versandart wird erst dann ausgegraut dargestellt, wenn alle zusammengehörigen +Deliverer-Abschnitte nicht verfügbar sind.
Die Regeln sind nicht verpflichtend. Im Sinne der Nachvollziehbarkeit empfiehlt es sich aber, für jede Versandart eine anzulegen.

Ablehnungsgründe

Wunsch-Liefertermin

Für den Wunsch-Liefertermin gibt es zwei Abschnitte. DeliveryDate bietet die einfache Variante mit einer durchgehenden Liste von Tagen. AdvDeliveryDate bietet die erweiterte Variante mit Wochentagen, Feiertagen und Bestellzeitgrenze. Verwenden Sie einen von beiden, nicht beide.

DeliveryDate

Mit Days-Value = 10 und DaysOffset-Value = 5 enthält die Auswahlliste bei einer Bestellung am 20.11. die zehn Tage vom 25.11. bis zum 04.12.

AdvDeliveryDate

TimeLimit legt die Bestellzeitgrenze fest. Bei TimeLimit = 10 ist für alle Bestellungen bis einschließlich 10:00 Uhr das aktuelle Datum die Basis für die Terminberechnung. Bei späteren Bestellungen ist es der Folgetag. Der Wert 0 bewirkt, dass die Lieferzeit unabhängig von der Uhrzeit immer ab der Bestellzeitgrenze des Bestelltags gerechnet wird. Im Beispiel oben wird bei einer Bestellung vor 10 Uhr der nächste Werktag als frühestmöglicher Liefertermin angeboten, bei einer Bestellung nach 10 Uhr der übernächste. Die Auswahlliste reicht 90 Tage in die Zukunft. Zwei Begrenzungen sind zu beachten. Ein TimeLimit über 24 wird auf 24 gesetzt. Eine DeliveryRange über 36500 wird auf 3650 gesetzt, Werte dazwischen bleiben unverändert. Nur in der Zukunft liegende Feiertage werden berücksichtigt. Die angegebenen Tage erscheinen nicht in der Auswahlliste.

PartialDeliverySelection

Legt fest, ob der Käufer zwischen Teillieferung und Komplettlieferung wählen kann.
Der Parameter +BasketInventoryState-Group darf mehrfach stehen. Jede Zeile bildet eine Gruppe.

GiftPackage

Konfiguriert optionale Geschenkverpackungen.
Bei VATType = dynamic bestimmt der Mehrwertsteuersatz mit der höchsten Summe im Warenkorb den Satz für die Geschenkverpackung.
Bei VATType = dynamic darf VATRate-Value keinen Wert enthalten.
Referenz: Abschnitt VATRates

EigenhaendigPlus

Konfiguriert die Versandart Eigenhändig Plus für Produkte mit Altersbeschränkung. Welche Produkte betroffen sind, legen Sie im Abschnitt AgeRestrictedProductList fest.
Ob eine Versandart bei aktivem Eigenhändig Plus angeboten wird, steuern Sie im jeweiligen +Deliverer-Abschnitt über den Parameter EigenhaendigPlus mit den Werten allow und deny. Referenz: Abschnitt AgeRestrictedProductList

ShipTrack

Hält die Zugangsdaten der Versanddienstleister für die Sendungsverfolgung. Je Dienstleister ein Unterabschnitt +Entry. Über die dort vergebene ID sprechen Sie den Eintrag im Template an.
Weitere Sprachen sind möglich. Klären Sie das direkt mit dem Versanddienstleister. Referenz: ShipTrack-Tags für die Ausgabe im Template