> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# DELIV- (individual positioning of shipping methods)

> Build the shipping methods individually in the template: name, costs, availability, selection via radio button and additional input fields.

WEBSALE can output the list of shipping methods ready-made. If you want to build it yourself instead, because the logo, price, additional fields and selection button should be arranged differently, use the tags with the prefix `DELIV-`.

All these tags are called `DELIV-Data` with a suffix and work within a loop: the shop runs once through all configured shipping methods, and in each iteration the tags refer to exactly one of them.

The shipping methods are maintained in the shop configuration `shop.config`, each in its own `<+Deliverer>` section. What you enter there, these tags output in the template.

Guide: Creating shipping methods, section Individual positioning of shipping methods

## The basic structure

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data}
   <fieldset>
      <legend>Versandart wählen</legend>

      {@DELIV-Data}
         <!-- je Durchlauf eine Versandart -->
      {/@DELIV-Data}
   </fieldset>
{/DELIV-Data}

{!DELIV-Data}
   <p>Für diese Bestellung steht keine Versandart zur Verfügung.</p>
{/!DELIV-Data}
```

| Notation | Meaning |
| - | - |
| `~DELIV-Data~` | the number of shipping methods |
| `{DELIV-Data}…{/DELIV-Data}` | applies if there are any shipping methods at all |
| `{!DELIV-Data}…{/!DELIV-Data}` | applies if there are none |
| `{@DELIV-Data}…{/@DELIV-Data}` | the loop over all shipping methods |

> [!WARNING]
>
> All other `DELIV-Data` tags belong inside the loop. Outside of it, there is no specific shipping method they could refer to.

> [!NOTE]
>
> The tags can be used on all templates; their natural place is the payment and shipping method page `ws_pay_deliv.htm`. An exception applies to MultiDelivery and split order: there they are only permitted within the `{@BASKET-PR-Data}` loop.

## The complete example

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data}
   {@DELIV-Data}
      <div id="~DELIV-Data_html_id(main)~"
           class="~DELIV-Data_html_class_global(main)~ ~DELIV-Data_html_class_counter(main)~
                  ~DELIV-Data_html_class_active(main)~ ~DELIV-Data_html_class_disable(main)~">

         <input id="~DELIV-Data_Selection_html_id~"
                class="~DELIV-Data_Selection_html_class_global~ ~DELIV-Data_Selection_html_class_active~"
                type="radio"
                name="~DELIV-Data_Selection_radioname~"
                value="~DELIV-Data_Selection_radiovalue~"
                ~DELIV-Data_Selection_disabled~
                ~DELIV-Data_Selection_checked~
                onClick="~DELIV-Data_Selection_html_js_onclick~">

         <label for="~DELIV-Data_Selection_html_id~">
            {DELIV-Data_Image}<img src="~DELIV-Data_Image~" alt="">{/DELIV-Data_Image}
            ~DELIV-Data_NameSuffix~
            {DELIV-Data_Cost}<span class="kosten">~DELIV-Data_Cost~ ~WS-CurrencySymbol~</span>{/DELIV-Data_Cost}
            {!DELIV-Data_Cost}<span class="kosten">versandkostenfrei</span>{/!DELIV-Data_Cost}
         </label>

         {DELIV-Data_Suffix}
            <p class="beschreibung">~DELIV-Data_Suffix~</p>
         {/DELIV-Data_Suffix}

         {DELIV-Data_disabled}
            <p class="hinweis">~DELIV-Data_disabledmessage~</p>
         {/DELIV-Data_disabled}
      </div>
   {/@DELIV-Data}
{/DELIV-Data}
```

## Shipping method details

| Tag | Returns | Comes from |
| - | - | - |
| `DELIV-Data_name` | the name | `<+Deliverer>` |
| `DELIV-Data_NameSuffix` | the name together with `Country-Txt` and `NoCost-Txt` | `<+Deliverer>` |
| `DELIV-Data_Suffix` | the supplementary description | parameter `Suffix-Txt` |
| `DELIV-Data_Country` | the country suffix | parameter `Country-Txt` |
| `DELIV-Data_type` | the freely assigned type | parameter `Type` |
| `DELIV-Data_id` | the unique identifier | parameter `ID` |
| `DELIV-Data_index` | the sequential position in the list | order of the `<+Deliverer>` sections |
| `DELIV-Data_Image` | the path to the icon | parameter `Img` |
| `DELIV-Data_Image_link` | the stored address for further information | parameter `Link` |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Image}
   <a href="~DELIV-Data_Image_link~" target="_blank" rel="noopener">
      <img src="~DELIV-Data_Image~" alt="~DELIV-Data_name~">
   </a>
{/DELIV-Data_Image}
```

> [!NOTE]
>
> In most cases, `DELIV-Data_NameSuffix` saves you the individual parts. It already outputs the name with the two suffixes configured for the country and for free shipping.

> [!NOTE]
>
> `DELIV-Data_type` is a free field. You can use it to group shipping methods in the template, for example to display all express variants together without naming their IDs in the template.

### A custom onClick on the icon

`DELIV-Data_Image_html_js_onclick` outputs what is stored as the click action for the icon in the `<+Deliverer>` section.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Image}
   <img src="~DELIV-Data_Image~" alt=""
      {DELIV-Data_Image_html_js_onclick}
         onClick="~DELIV-Data_Image_html_js_onclick~"
      {/DELIV-Data_Image_html_js_onclick}>
{/DELIV-Data_Image}
```

> [!NOTE]
>
> The configured action may contain the two placeholders `~ID~` and `~Link~`. On output, the shop replaces them with the identifier of the shipping method and the stored address. This way, one entry in the configuration is enough for all shipping methods.

## The costs

| Tag | Returns |
| - | - |
| `DELIV-Data_Cost` | the shipping costs in the shop currency |
| `DELIV-Data_NetCost` | the same costs, net |
| `DELIV-Data_GrossCost` | the same costs, gross |
| `DELIV-Data_AltCurrencyCost` | the costs in the alternative currency |
| `DELIV-Data_AltCurrencyNetCost` | net in the alternative currency |
| `DELIV-Data_AltCurrencyGrossCost` | gross in the alternative currency |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Cost}
   Versandkosten: ~DELIV-Data_Cost~ ~WS-CurrencySymbol~
{/DELIV-Data_Cost}

{!DELIV-Data_Cost}
   Versandkostenfrei
{/!DELIV-Data_Cost}
```

> [!WARNING]
>
> The bracket only applies if the amount is **greater than zero**. For a shipping method without shipping costs, the negative area therefore applies, and that is exactly the right place for the "free shipping" notice. The same applies to all other cost and discount tags on this page.

> [!NOTE]
>
> All cost values are output with the price formatting set in the shop configuration. They do not contain a currency symbol; you add it yourself, for example with `WS-CurrencySymbol`.

### Customer-specific discounts

If a discount on shipping costs is stored for the signed-in buyer, four tags output it.

| Tag | Returns |
| - | - |
| `DELIV-Data_UserDeliveryCostDiscount` | the discount amount |
| `DELIV-Data_UserDeliveryCostNetDiscount` | the discount amount, net |
| `DELIV-Data_UserDeliveryCostGrossDiscount` | the discount amount, gross |
| `DELIV-Data_UserDeliveryCostDiscountRate` | the discount rate in percent |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-LoggedIn}
   {DELIV-Data_UserDeliveryCostDiscount}
      <p>Ihr Versandkostenrabatt: ~DELIV-Data_UserDeliveryCostDiscount~ ~WS-CurrencySymbol~
         (~DELIV-Data_UserDeliveryCostDiscountRate~ Prozent)</p>
   {/DELIV-Data_UserDeliveryCostDiscount}
{/ST-LoggedIn}
```

> [!NOTE]
>
> The discount rate is output as a plain number with two decimal places, without price formatting and without a percent sign. The amounts, on the other hand, follow the shop's price formatting.

## Availability and selection

A shipping method can be blocked for this order, for example because the delivery country does not match or the weight is exceeded. It does not disappear from the list but is marked as unavailable.

| Tag | Effect |
| - | - |
| `DELIV-Data_disabled` | applies if the shipping method is unavailable |
| `DELIV-Data_disabledmessage` | the corresponding notice text |
| `DELIV-Data_disabledcode` | the technical rejection reason |
| `DELIV-Data_selected` | applies if this shipping method is selected |
| `DELIV-Data_IsDefault` | applies if this is the default shipping method stored in the customer account |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_disabled}
   <p class="nicht-verfuegbar">~DELIV-Data_disabledmessage~</p>
{/DELIV-Data_disabled}

{!DELIV-Data_disabled}
   {DELIV-Data_selected}<span class="gewaehlt">Ihre Auswahl</span>{/DELIV-Data_selected}
{/!DELIV-Data_disabled}
```

> [!NOTE]
>
> `DELIV-Data_disabledmessage` is the text for the buyer; `DELIV-Data_disabledcode` is the technical identifier of the same reason. You need the code if you want to display something different depending on the reason, for example a link to partial delivery when the weight is exceeded.

> [!NOTE]
>
> `DELIV-Data_IsDefault` applies if the signed-in buyer has stored a default shipping method in their customer account and it is this one. This tag is not described in the previous documentation but exists in the shop.

Reference: List of rejection reasons

## The selection button

Eight tags provide everything the radio button needs. You do not have to invent a name or identifier yourself.

| Tag | Returns |
| - | - |
| `DELIV-Data_Selection_html_id` | the unique ID of the radio button |
| `DELIV-Data_Selection_html_class_global` | the CSS class for all radio buttons |
| `DELIV-Data_Selection_html_class_active` | additionally, the class for the selected shipping method |
| `DELIV-Data_Selection_radioname` | the shared field name of the group |
| `DELIV-Data_Selection_radiovalue` | the identifier of the shipping method as the value |
| `DELIV-Data_Selection_checked` | `checked` if this shipping method is selected |
| `DELIV-Data_Selection_disabled` | `disabled` if it is unavailable |
| `DELIV-Data_Selection_html_js_onclick` | the configured click action |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input id="~DELIV-Data_Selection_html_id~"
       class="~DELIV-Data_Selection_html_class_global~ ~DELIV-Data_Selection_html_class_active~"
       type="radio"
       name="~DELIV-Data_Selection_radioname~"
       value="~DELIV-Data_Selection_radiovalue~"
       ~DELIV-Data_Selection_disabled~
       ~DELIV-Data_Selection_checked~
       onClick="~DELIV-Data_Selection_html_js_onclick~">
```

In the shop, if `XX` is the identifier of the shipping method, this becomes:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input id="ws_deliverydiv_inputelement_XX"
       class="ws_deliverydiv_inputelement ws_deliverydiv_inputelement_active"
       type="radio"
       name="ws_input_delivery"
       value="XX"
       checked
       onClick="selectDeliverer('XX');">
```

> [!WARNING]
>
> The field name from `DELIV-Data_Selection_radioname` must be used as is. A name you choose yourself does not reach the shop, and the selection then has no effect.

> [!NOTE]
>
> The configured click action may contain the placeholders `~ID~` and `~RadioButtonID~`. The shop replaces them with the identifier of the shipping method and the ID of the radio button.

## CSS classes and IDs

Five tags generate IDs and classes for the individual building blocks of a shipping method. All of them expect the name of the building block in the brackets.

| Tag | When set |
| - | - |
| `DELIV-Data_html_id()` | always, a unique ID per building block and shipping method |
| `DELIV-Data_html_class_global()` | always, the same class for all shipping methods |
| `DELIV-Data_html_class_counter()` | always, numbered sequentially |
| `DELIV-Data_html_class_active()` | only for the selected shipping method |
| `DELIV-Data_html_class_disable()` | only for an unavailable shipping method |

Valid building block names are `main`, `logo`, `radio`, `text`, `name`, `suffix`, `clear`, `disabled`, `additionalinput`, `additionalinput_checkbox`, `additionalinput_name`, `additionalinput_input`, `additionalinput_list`, `additionalinput_infotext` and `additionalinput_error`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p id="~DELIV-Data_html_id(name)~"
   class="~DELIV-Data_html_class_global(name)~ ~DELIV-Data_html_class_counter(name)~
          ~DELIV-Data_html_class_active(name)~ ~DELIV-Data_html_class_disable(name)~">
   ~DELIV-Data_name~
</p>
```

> [!NOTE]
>
> `DELIV-Data_html_class_counter()` numbers the shipping methods consecutively. This lets you color every second row differently without calculating in the template.

> [!WARNING]
>
> Without a building block name in the brackets, the tag is invalid and has no effect.

For the container of the additional fields, there is also `DELIV-Data_html_class_additionalinput_global()`. It only accepts the building block names that start with `additionalinput`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@DELIV-Data_AdditionalInput}
   <div id="~DELIV-Data_html_id(additionalinput)~"
        class="~DELIV-Data_html_class_additionalinput_global(additionalinput)~
               ~DELIV-Data_html_class_global(additionalinput)~
               ~DELIV-Data_html_class_counter(additionalinput)~
               ~DELIV-Data_html_class_active(additionalinput)~
               ~DELIV-Data_html_class_disable(additionalinput)~">
      ...
   </div>
{/@DELIV-Data_AdditionalInput}
```

## Additional input fields

Some shipping methods need information from the buyer: a preferred date, a drop-off location, consent to delivery without a signature. Such fields are defined in the shop configuration in the `<DelivererAdditionalInput-Definitions>` section and assigned to the shipping methods.

`DELIV-Data_AdditionalInput` is the loop over them.

| Tag | Returns |
| - | - |
| `DELIV-Data_AdditionalInput` | the number of fields, the check for fields, and the loop |
| `DELIV-Data_AdditionalInput_ID` | the technical identifier of the field |
| `DELIV-Data_AdditionalInput_descr` | the field label from `FieldDescr` |
| `DELIV-Data_AdditionalInput_additionalinfotext` | the explanatory text from `AdditionalInfoText` |
| `DELIV-Data_AdditionalInput_input` | the field name for the HTML element |
| `DELIV-Data_AdditionalInput_value` | the buyer's previous value |
| `DELIV-Data_AdditionalInput_value_txt` | for a selection list, the text of the selected value |
| `DELIV-Data_AdditionalInput_maxlength` | the permitted number of characters from `MaxLength` |
| `DELIV-Data_AdditionalInput_required` | applies if the field must be filled in |
| `DELIV-Data_AdditionalInput_error` | applies if the input was invalid |
| `DELIV-Data_AdditionalInput_errormessage` | the error message from `RequiredErrorMessage-Txt` |

### Distinguishing the three field types

An additional field is either a selection list, a text input field or a checkbox. There is an area tag for each type.

| Tag | Applies to | `Type_code` |
| - | - | - |
| `DELIV-Data_AdditionalInput_Type_isListbox` | a selection list | 0 |
| `DELIV-Data_AdditionalInput_Type_isInput` | a text input field | 1 |
| `DELIV-Data_AdditionalInput_Type_isCheckbox` | a checkbox | 3 |

> [!NOTE]
>
> `DELIV-Data_AdditionalInput_Type_code` outputs the same information as a number. For case distinctions in the template, the three area tags are the better choice because they remain readable.

> [!WARNING]
>
> Code 2 stands for a radio button. For it, there is neither a dedicated area tag nor an evaluation in `DELIV-Data_AdditionalInput_value`. Therefore, only use the three types mentioned above for additional fields.

### The complete example

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_AdditionalInput}
   {@DELIV-Data_AdditionalInput}
      <div class="~DELIV-Data_html_class_global(additionalinput)~">

         {DELIV-Data_AdditionalInput_Type_isInput}
            <label for="~DELIV-Data_AdditionalInput_input~">
               ~DELIV-Data_AdditionalInput_descr~
               {DELIV-Data_AdditionalInput_required}<span aria-hidden="true">*</span>{/DELIV-Data_AdditionalInput_required}
            </label>
            <input type="text"
                   id="~DELIV-Data_AdditionalInput_input~"
                   name="~DELIV-Data_AdditionalInput_input~"
                   value="~DELIV-Data_AdditionalInput_value~"
                   maxlength="~DELIV-Data_AdditionalInput_maxlength~">
         {/DELIV-Data_AdditionalInput_Type_isInput}

         {DELIV-Data_AdditionalInput_Type_isCheckbox}
            <input type="checkbox"
                   id="~DELIV-Data_AdditionalInput_input~"
                   name="~DELIV-Data_AdditionalInput_input~"
                   ~DELIV-Data_AdditionalInput_value~>
            <label for="~DELIV-Data_AdditionalInput_input~">~DELIV-Data_AdditionalInput_descr~</label>
         {/DELIV-Data_AdditionalInput_Type_isCheckbox}

         {DELIV-Data_AdditionalInput_Type_isListbox}
            <label for="~DELIV-Data_AdditionalInput_input~">~DELIV-Data_AdditionalInput_descr~</label>
            <select id="~DELIV-Data_AdditionalInput_input~" name="~DELIV-Data_AdditionalInput_input~">
               {@DELIV-Data_AdditionalInput_listbox}
                  <option value="~DELIV-Data_AdditionalInput_listbox_value~"
                          ~DELIV-Data_AdditionalInput_listbox_selected~>
                     ~DELIV-Data_AdditionalInput_listbox_value_txt~
                  </option>
               {/@DELIV-Data_AdditionalInput_listbox}
            </select>
         {/DELIV-Data_AdditionalInput_Type_isListbox}

         {DELIV-Data_AdditionalInput_additionalinfotext}
            <p class="hinweis">~DELIV-Data_AdditionalInput_additionalinfotext~</p>
         {/DELIV-Data_AdditionalInput_additionalinfotext}

         {DELIV-Data_AdditionalInput_error}
            <p class="fehler">~DELIV-Data_AdditionalInput_errormessage~</p>
         {/DELIV-Data_AdditionalInput_error}
      </div>
   {/@DELIV-Data_AdditionalInput}
{/DELIV-Data_AdditionalInput}
```

> [!NOTE]
>
> For a checkbox, `DELIV-Data_AdditionalInput_value` outputs the word `checked` if the buyer had ticked it. It therefore belongs in the element without an attribute name. For a text input field, it is the entered text and belongs in `value`. For a selection list, it is the technical identifier of the selected entry; `DELIV-Data_AdditionalInput_value_txt` provides the readable text.

> [!WARNING]
>
> Use the field name from `DELIV-Data_AdditionalInput_input` unchanged. In addition to the field identifier, it contains the position of the shipping method and, with selection per basket item, also an identifier of the item. A name you choose yourself does not reach the shop.

### The entries of a selection list

`DELIV-Data_AdditionalInput_listbox` is the loop over the entries from the `<+listentry>` sections.

| Tag | Returns |
| - | - |
| `DELIV-Data_AdditionalInput_listbox` | the number of entries and the loop |
| `DELIV-Data_AdditionalInput_listbox_value` | the identifier of the entry from `ID` |
| `DELIV-Data_AdditionalInput_listbox_value_txt` | the text of the entry from `Entry-Txt` |
| `DELIV-Data_AdditionalInput_listbox_selected` | `selected` for the selected entry |

> [!NOTE]
>
> For a field that is not a selection list, the loop simply does not run. An additional query on `Type_isListbox` is therefore not strictly necessary, but it makes the template more readable.

## Free additional information

For information not covered by any of the fixed fields, there is `DELIV-Data_AdditionalInfo-<id>`. You enter the values in the respective `<+Deliverer>` section with the parameter `+AdditionalInfo-<id>`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_AdditionalInfo-deliv-time_01}
   Voraussichtliche Zustellung: ~DELIV-Data_AdditionalInfo-deliv-time_01~
{/DELIV-Data_AdditionalInfo-deliv-time_01}
```

> [!WARNING]
>
> The identifier may only consist of letters, digits, hyphens and underscores. Spaces and umlauts are not possible.

> [!NOTE]
>
> The case of the identifier does not matter. Nevertheless, stick to one spelling so that the configuration and template remain readable together.

In addition, there is `DELIV-Data_DestDepInfo`. It outputs destination-dependent additional information about the shipping method, which the shop determines itself.

> [!WARNING]
>
> This tag is not described in the previous documentation but exists in the shop. Where exactly the information comes from has yet to be clarified. Check the result in your shop before you rely on it.

## Shipping method per basket item

If the shop offers shipping method selection per basket item or per delivery address, the loop is placed inside `{@BASKET-PR-Data}`. The shop then appends an additional identifier to the field names and IDs so that the selection groups do not interfere with each other.

| Tag | Returns |
| - | - |
| `DELIV-Data_DeliverySelectionPerBasketPosition_hashindex` | this identifier |

> [!NOTE]
>
> As long as you use the names and IDs from the `DELIV-Data_Selection` tags, you do not need this tag: the identifier is already included there. You need it if you want to access a specific selection group in JavaScript. This tag is not described in the previous documentation but exists in the shop.

Guide: Making the shipping method individually selectable per basket item and delivery address

## The tags at a glance

| Tag | Single tag | Area tag | Negative area tag | Loop tag |
| - | - | - | - | - |
| `DELIV-Data` | yes | yes | yes | yes |
| `DELIV-Data_index` | yes | yes | yes | – |
| `DELIV-Data_id` | yes | yes | yes | – |
| `DELIV-Data_name` | yes | yes | yes | – |
| `DELIV-Data_NameSuffix` | yes | yes | yes | – |
| `DELIV-Data_Suffix` | yes | yes | yes | – |
| `DELIV-Data_Country` | yes | yes | yes | – |
| `DELIV-Data_type` | yes | yes | yes | – |
| `DELIV-Data_Image` | yes | yes | yes | – |
| `DELIV-Data_Image_link` | yes | yes | yes | – |
| `DELIV-Data_Image_html_js_onclick` | yes | yes | yes | – |
| `DELIV-Data_Cost` | yes | yes | yes | – |
| `DELIV-Data_NetCost` | yes | yes | yes | – |
| `DELIV-Data_GrossCost` | yes | yes | yes | – |
| `DELIV-Data_AltCurrencyCost` | yes | yes | yes | – |
| `DELIV-Data_AltCurrencyNetCost` | yes | yes | yes | – |
| `DELIV-Data_AltCurrencyGrossCost` | yes | yes | yes | – |
| `DELIV-Data_UserDeliveryCostDiscount` | yes | yes | yes | – |
| `DELIV-Data_UserDeliveryCostNetDiscount` | yes | yes | yes | – |
| `DELIV-Data_UserDeliveryCostGrossDiscount` | yes | yes | yes | – |
| `DELIV-Data_UserDeliveryCostDiscountRate` | yes | yes | yes | – |
| `DELIV-Data_disabled` | – | yes | yes | – |
| `DELIV-Data_disabledcode` | yes | yes | yes | – |
| `DELIV-Data_disabledmessage` | yes | yes | yes | – |
| `DELIV-Data_selected` | – | yes | yes | – |
| `DELIV-Data_IsDefault` | – | yes | yes | – |
| `DELIV-Data_Selection_html_id` | yes | yes | yes | – |
| `DELIV-Data_Selection_html_class_global` | yes | yes | yes | – |
| `DELIV-Data_Selection_html_class_active` | yes | yes | yes | – |
| `DELIV-Data_Selection_radioname` | yes | yes | yes | – |
| `DELIV-Data_Selection_radiovalue` | yes | yes | yes | – |
| `DELIV-Data_Selection_checked` | yes | yes | yes | – |
| `DELIV-Data_Selection_disabled` | yes | yes | yes | – |
| `DELIV-Data_Selection_html_js_onclick` | yes | yes | yes | – |
| `DELIV-Data_html_id()` | yes | yes | yes | – |
| `DELIV-Data_html_class_global()` | yes | yes | yes | – |
| `DELIV-Data_html_class_counter()` | yes | yes | yes | – |
| `DELIV-Data_html_class_active()` | yes | yes | yes | – |
| `DELIV-Data_html_class_disable()` | yes | yes | yes | – |
| `DELIV-Data_html_class_additionalinput_global()` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput` | yes | yes | yes | yes |
| `DELIV-Data_AdditionalInput_ID` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_descr` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_additionalinfotext` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_input` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_value` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_value_txt` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_maxlength` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_required` | – | yes | yes | – |
| `DELIV-Data_AdditionalInput_error` | – | yes | yes | – |
| `DELIV-Data_AdditionalInput_errormessage` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_Type_code` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_Type_isInput` | – | yes | yes | – |
| `DELIV-Data_AdditionalInput_Type_isListbox` | – | yes | yes | – |
| `DELIV-Data_AdditionalInput_Type_isCheckbox` | – | yes | yes | – |
| `DELIV-Data_AdditionalInput_listbox` | yes | yes | yes | yes |
| `DELIV-Data_AdditionalInput_listbox_value` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_listbox_value_txt` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInput_listbox_selected` | yes | yes | yes | – |
| `DELIV-Data_AdditionalInfo-<id>` | yes | yes | yes | – |
| `DELIV-Data_DeliverySelectionPerBasketPosition_hashindex` | yes | yes | yes | – |
| `DELIV-Data_DestDepInfo` | yes | yes | yes | – |

All tags are permitted on all templates, in each case within the `DELIV-Data` loop. With MultiDelivery and split order, they are additionally only permitted within `{@BASKET-PR-Data}`.

## Related topics

* Guide: Creating shipping methods
* Reference: List of rejection reasons
* Reference: `<DelivererAdditionalInput-Definitions>` section
* Reference: PAY- (individual positioning of payment methods)
* Reference: BASKET- (multiple delivery addresses)


## Related topics

- [Payment, shipping and order completion](https://dokumentation.websale.de/en/v8s/referenz/tags/ws/zahlung-versand-und-bestellabschluss.md)
- [Shipping and delivery](https://dokumentation.websale.de/en/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/versand-und-lieferung.md)
- [PAY- (Displaying and selecting payment methods)](https://dokumentation.websale.de/en/v8s/referenz/tags/pay/zahlungsarten-anzeigen-und-auswaehlen.md)
- [PAY- (Additional fields for the payment method)](https://dokumentation.websale.de/en/v8s/referenz/tags/pay/zusatzfelder-zur-zahlungsart.md)
- [TAC- (display of payment and shipping methods)](https://dokumentation.websale.de/en/v8s/referenz/tags/tac-anzeige-von-zahlungs-und-versandarten.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.