> ## 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.

# Order process, addresses and checks

> Consents and mandatory information in the order process: confirming the terms and conditions, data sharing, a different delivery address, age verification with Eigenhändig Plus, free-text input from the buyer and the information available after the order.

Between the filled basket and the submitted order lies a series of queries. Some are required by law, for example confirming the terms and conditions. Some are voluntary additional details such as a comment from the buyer. And some only occur with certain goods, such as age verification.

The tags on this page build exactly these queries. Almost all of them follow the same pattern: one tag for the field name, one for the previous value, and one or two for the error case. At the end of the page is the information that only becomes available after the order has been submitted.

* Reference: The introduction to the prefix `WS-` is on Shop, page and technology
* Reference: Payment method, shipping method and delivery date are on Payment, shipping and order completion

## Confirming the terms and conditions

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label>
   <input type="checkbox"
          name="~WS-AcceptTermsAndConditions_input~"
          ~WS-AcceptTermsAndConditions_checked~>
   Ich habe die AGB gelesen und akzeptiere sie.
</label>

{WS-AcceptTermsAndConditions_error}
   <p class="fehler">~WS-AcceptTermsAndConditions_errormessage~</p>
{/WS-AcceptTermsAndConditions_error}
```

| Tag | Returns |
| - | - |
| `WS-AcceptTermsAndConditions_input` | the HTML name of the checkbox |
| `WS-AcceptTermsAndConditions_checked` | `checked` if the buyer has agreed |
| `WS-AcceptTermsAndConditions_error` | applies if the box was not checked |
| `WS-AcceptTermsAndConditions_errormessage` | the configured error message |

> [!WARNING]
>
> The template on which the checkbox is placed is defined by the parameter `CheckboxPlacedOnTemplate` in the `AcceptTermsAndConditions` section of the shop configuration. All four tags apply **only on this one template**. If the setting in the configuration does not match the template containing the field, it has no effect, and the order cannot be submitted.

> [!NOTE]
>
> `WS-AcceptTermsAndConditions_errormessage` takes the text from the parameter `Conditions` in the `NotifyMessages-Txt` section of the shop configuration. This keeps the wording in one place rather than spread across the templates.

> [!NOTE]
>
> `WS-AcceptTermsAndConditions_checked` also works as an area tag. Use this on the order overview to show the status again in words.

### When the terms and conditions were confirmed

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-ConditionsAccepted_Date}
   <p>AGB bestätigt am ~WS-ConditionsAccepted_Date~ um ~WS-ConditionsAccepted_Time~ Uhr.</p>
{/WS-ConditionsAccepted_Date}
```

> [!NOTE]
>
> Both tags refer to the **current session**. They are permitted on all templates and typically belong in the order receipt confirmation so that the time is documented.

> [!WARNING]
>
> `WS-CheckConditions` belongs to an earlier, superseded form of this function. Do not use it anymore as soon as the `AcceptTermsAndConditions` section is used in the shop configuration. It is only listed for the sake of completeness.

## Further consents

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label>
   ~WS-CheckAddressSharing~
   Ich bin mit der Weitergabe meiner Adresse an Dritte zu Werbezwecken einverstanden.
</label>

<label>
   ~WS-CheckTeleMarketing~
   Ich bin mit telefonischer Werbung einverstanden.
</label>
```

> [!NOTE]
>
> `WS-CheckAddressSharing` and `WS-CheckTeleMarketing` each generate the **ready-made** checkbox. You only write the tag, not the surrounding `input` element. You write the explanatory text next to it yourself.

> [!WARNING]
>
> Both consents must be preset as unchecked to be legally effective. The shop system complies with this. Do not build any JavaScript that checks them afterwards.

### The email address for the shipping provider

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label>
   <input type="checkbox"
          name="~WS-AcceptShareEmailWithShippingProvider_input~"
          ~WS-AcceptShareEmailWithShippingProvider_checked~>
   Ja, meine E-Mail-Adresse darf für die Sendungsverfolgung weitergegeben werden.
</label>

<input type="text"
       name="~WS-ShareEmailWithShippingProvider_input~"
       value="~WS-ShareEmailWithShippingProvider_value~">

{WS-AcceptShareEmailWithShippingProvider_error}
   <p class="fehler">~WS-AcceptShareEmailWithShippingProvider_errormessage~</p>
{/WS-AcceptShareEmailWithShippingProvider_error}
```

> [!NOTE]
>
> Two things belong together here: the checkbox for consent and a separate input field for the address. This lets the buyer specify a different address than that of their account.

> [!WARNING]
>
> In the shop system, these two field tags exist **twice**, once spelled correctly and once as `WS-ShareEmailWithShippingProvicer_input` and `WS-ShareEmailWithShippingProvicer_value` with a typo in the word Provider. Use the correctly spelled version. The other one probably only exists so that older templates keep working.

> [!NOTE]
>
> All six tags apply on the order overview page.

## The different delivery address

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-DelivAddr}
   <h3>Lieferadresse</h3>
   ...
{/WS-DelivAddr}
```

> [!NOTE]
>
> `WS-DelivAddr` is a pure area tag and applies when a delivery address different from the billing address is present. It applies on the order overview and on the confirmation page. The fields of the address itself belong to the prefix `D-`.

* Reference: The delivery address fields are on D- (delivery address)
* Reference: The selection between several delivery addresses is on multiple addresses

### Setting an address as default

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{!D-IsDefault}
   <label>
      <input type="checkbox"
             name="~WS-DelivAddr_checkbox_setAsDefaultAddress~"
             ~WS-DelivAddr_checkboxchecked_setAsDefaultAddress~>
      Als Standardadresse festlegen
   </label>
{/!D-IsDefault}
```

> [!WARNING]
>
> The checkbox can only make an address **the** default address. It cannot undo this setting. To undo it, there is `D-RemoveDefaultLink`. Therefore put the field in `{!D-IsDefault}`, otherwise the buyer sees a checkbox that does nothing for the address that is already the default.

> [!NOTE]
>
> The two tags apply on the template for managing delivery addresses in the customer account and on the template for address entry in the order process.

### Several delivery addresses

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-MultiDelivery_available}
   <p>Sie können die Positionen dieser Bestellung an verschiedene Adressen liefern lassen.</p>
{/WS-MultiDelivery_available}
```

> [!NOTE]
>
> `WS-MultiDelivery_available` applies if the shop system allows a separate delivery address per basket item or splitting an item across several addresses. Both depend on the configuration and on the products in the basket, so you cannot take them for granted in the template.

### Delivery to a foreign branch

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label>
   <input type="checkbox"
          name="~WS-DeliveryToForeignBranchAddress_input~"
          ~WS-DeliveryToForeignBranchAddress_checked~>
   Die Lieferadresse ist eine Niederlassung im Ausland.
</label>
```

> [!NOTE]
>
> The two tags exist in the shop system but are not described in the previous documentation. `_input` returns the field name, `_checked` returns ` checked` as a single tag and also works as an area tag. The setting affects the tax treatment of the order.

### Countries with tax IDs

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-TaxIDCountries}
   <p>Für diese Länder können Sie eine Umsatzsteuer-Identifikationsnummer angeben:</p>
   <ul>
      {@WS-TaxIDCountries}
         <li>~WS-TaxIDCountries~</li>
      {/@WS-TaxIDCountries}
   </ul>
{/WS-TaxIDCountries}
```

> [!NOTE]
>
> `WS-TaxIDCountries` exists in the shop system but is not described in the previous documentation. As a loop, it iterates over the configured countries; as a single tag inside the loop, it returns the country code of the current iteration; and as an area tag, it applies if any countries are configured at all.

## The address and postal code assistant

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-AjaxAddressHelpUrl}
   <script>
      var adressAssistentUrl = "~WS-AjaxAddressHelpUrl~";
   </script>
{/WS-AjaxAddressHelpUrl}
```

| Tag | Returns |
| - | - |
| `WS-AjaxAddressHelpUrl` | the address for the external address assistant |
| `WS-AjaxZIPHelpURL` | the address for the postal code assistant |

> [!WARNING]
>
> Both functions must first be technically enabled. When enabling them, WEBSALE AG stores the associated address. `WS-AjaxAddressHelpUrl` therefore also works as an area tag, which applies when an address is stored. Put the script inside it, otherwise the finished shop contains a script with an empty address.

## Age verification and Eigenhändig Plus

For goods with age restrictions, the date of birth is not enough. The shipping provider needs the ID card data in order to check it on handover.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<form action="~FORM-PlaceOrder~" method="post">
   Ausweisart:
   ~WS-IDCardTypeList~

   Ausweisnummer:
   <input type="text" name="input_idcard_number" value="~WS-IDCardNumber~" maxlength="20">

   Ausstellende Behörde:
   <input type="text" name="input_idcard_authority" value="~WS-IDCardAuthority~" maxlength="30">

   <label>
      <input type="checkbox" name="~WS-ConfirmEigenhaendigPlus~">
      Ich bestätige mein Alter und die Richtigkeit meiner Angaben.
   </label>
</form>
```

| Tag | Returns |
| - | - |
| `WS-IDCardTypeList` | the ready-made selection list for the ID type |
| `WS-IDCardType` | the name of the selected ID type |
| `WS-IDCardNumber` | the entered ID number, at most 20 characters |
| `WS-IDCardAuthority` | the issuing authority, at most 30 characters |
| `WS-ConfirmEigenhaendigPlus` | the checkbox for confirmation |

> [!WARNING]
>
> The field names are **fixed** and must be written exactly like this: `input_idcard_number` and `input_idcard_authority`. There are no `_input` tags for them. A different name causes the input to be lost.

> [!WARNING]
>
> `WS-IDCardNumber` and `WS-IDCardAuthority` also work as area tags, which apply when a value is present. The previous documentation lists both only as single tags. With the area tag, you can distinguish between input and display without any further check.

> [!NOTE]
>
> `WS-IDCardType` exists in the shop system but is not described in the previous documentation. It outputs the name of the selected ID type as stored in the `EigenhaendigPlus` section of the shop configuration, and also works as an area tag. For output on the confirmation page, this is the right approach, because `WS-IDCardTypeList` would generate an unwanted selection list there.

> [!NOTE]
>
> `WS-IDCardTypeList` generates the selection list itself and gives it the class `select_idcard_type_list`. You style the list in your stylesheet via this class.

### The error cases

| Tag | Applies when |
| - | - |
| `WS-EigenhaendigPlus_error` | any of the details is missing or incorrect |
| `WS-IDCardNumber_error` | the ID number is incorrect |
| `WS-IDCardType_error` | the ID type is missing |
| `WS-IDCardAuthority_error` | the authority is incorrect |
| `WS-DateOfBirthEigenhaendigPlus_error` | the date of birth is incorrect |
| `WS-ConfirmEigenhaendigPlus_error` | the confirmation was not checked |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-EigenhaendigPlus_error}
   <p class="fehler">~WS-EigenhaendigPlus_errormessage~</p>
{/WS-EigenhaendigPlus_error}

{WS-IDCardNumber_error}
   <p class="fehler">~WS-IDCardNumber_errormessage~</p>
{/WS-IDCardNumber_error}
```

> [!NOTE]
>
> For every `_error` there is an `_errormessage` with the matching text. The collective error `WS-EigenhaendigPlus_errormessage` takes its text from the parameter `HeadNotify-Txt` in the `EigenhaendigPlus` section of the shop configuration.

> [!NOTE]
>
> Place the collective error at the top above the block and the individual errors next to their respective field. The buyer then immediately sees that something is missing and at the same time finds the spot.

> [!WARNING]
>
> The previous documentation describes the `_errormessage` tags as areas that are displayed. However, they output the message text. The area tag additionally applies when a message is present, as in the example above.

> [!WARNING]
>
> The examples on the pages for `WS-IDCardNumber` and `WS-IDCardAuthority` use `~FORM-AddrManage~` as the form address, even though they name the order overview as the template. There the form is called `FORM-PlaceOrder`, as in the example for `WS-IDCardTypeList`. The consistent version is shown above.

### Age-restricted products

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-AgeRestricted}
   <p>Für diese Bestellung gilt eine Altersbeschränkung ab ~WS-AgeRestricted~ Jahren.</p>
{/WS-AgeRestricted}

~WS-AgeRestrictedProductList~
```

> [!NOTE]
>
> Both tags exist in the shop system but are not described in the previous documentation. `WS-AgeRestricted` outputs the age level stored in the customer account and applies as an area tag when one is present. `WS-AgeRestrictedProductList` generates a ready-made list of the affected products in the basket.

## Free-text input from the buyer

Three fields take text that the buyer writes themselves. They differ in length and purpose.

| Tag | For | Length |
| - | - | - |
| `WS-CustomerComment` | wishes and suggestions | multi-line |
| `WS-OrderRefText` | an order reference of the buyer | 50 characters |
| `WS-OrderRefText2` | a second reference | 50 characters |
| `WS-OrderSpecialInput` | additional information about the order | up to 32000 characters |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{!WS-OrderRefText}
   <input type="text" name="input_order_ref_text" value="~WS-OrderRefText~" maxlength="50">
{/!WS-OrderRefText}

{WS-OrderRefText}
   <p>Ihre Referenz: ~WS-OrderRefText~</p>
{/WS-OrderRefText}
```

> [!NOTE]
>
> The pattern of positive and negative area tags is the normal case here: as long as nothing has been entered, the template shows the input field. As soon as something has been entered, it shows the value. This lets the input page and the overview page get by with the same building block.

> [!WARNING]
>
> `WS-OrderRefText` and `WS-OrderRefText2` have **no** `_input` tags of their own. The field names are fixed and must be exactly `input_order_ref_text` and `input_order_ref_text2`. `WS-CustomerComment` and `WS-OrderSpecialInput`, on the other hand, do have an `_input` tag. This irregularity is the most common source of errors in this section.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<textarea name="~WS-CustomerComment_Input~" rows="5">~WS-CustomerComment~</textarea>
```

> [!NOTE]
>
> `WS-CustomerComment` applies on the payment and shipping method page, on the address page, on the order overview and on the order receipt confirmation. The reference texts and the additional information apply on all templates of the order process.

> [!WARNING]
>
> 32000 characters is a lot. Limit the field in the template via `maxlength` to a size that suits your process, otherwise an entire essay may end up in the ERP system.

## Paid additional services

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~WS-OrderOptions(1)~
```

> [!NOTE]
>
> `WS-OrderOptions()` displays a paid additional service on the payment and shipping method page, for example gift wrapping. The argument is the number of the service from 1 to 5. The services themselves are in the sections `OrderOptions1` to `OrderOptions5` of the shop configuration.

> [!NOTE]
>
> The previous page for this tag contains neither a type specification nor a list of permitted templates. According to the description, it is a single tag on the payment and shipping method page.

## Express checkout and the billing address

If the buyer comes via an express checkout, the payment service provider already supplies a delivery address. The question then is whether it should also serve as the billing address.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-PPCExpress_selected}
   <label>
      <input type="checkbox"
             name="~WS-PPCExpressUseDeliveryAddressForBilling_input~"
             ~WS-PPCExpressUseDeliveryAddressForBilling_checked~>
      Lieferadresse auch als Rechnungsadresse verwenden
   </label>

   {!WS-PPCExpressUseDeliveryAddressForBilling_checked}
      ~WS-Fast_Include(Incl-InvoiceAddressFields)~
   {/!WS-PPCExpressUseDeliveryAddressForBilling_checked}
{/ST-PPCExpress_selected}
```

| Tag | For |
| - | - |
| `WS-PPCExpressUseDeliveryAddressForBilling_input` | PayPal Express via PayPal Checkout |
| `WS-PPCExpressUseDeliveryAddressForBilling_checked` | the same, the marker |
| `WS-PayPalExpressUseDeliveryAddressForBilling_input` | the classic PayPal Express Checkout |
| `WS-PayPalExpressUseDeliveryAddressForBilling_checked` | the same, the marker |

> [!WARNING]
>
> In the example on the previous page for `WS-PPCExpressUseDeliveryAddressForBilling_checked`, the end of the negative area tag is written as `{/!WS-WS-PPCExpressUseDeliveryAddressForBilling_checked}`, that is, with a double `WS-`. If copied, the area tag would remain open. The corrected version is shown above.

> [!WARNING]
>
> The two families belong to **different** integrations. `WS-PPCExpress…` applies within `{ST-PPCExpress_selected}`, `WS-PayPalExpress…` within `{ST-PayPalExpressCheckout_selected}`. Do not confuse them, and do not write both into the same area tag.

> [!NOTE]
>
> In the example, the billing address fields are in a FastInclude. This is worthwhile because the same block is also needed in the regular order process.

## The locked session

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p>
   Ihre Bestellung wird gerade bei Ihrem Zahlungsdienstleister bearbeitet.
   <a href="~WS-UnlockSessionOnlineClearingLink~">Neue Sitzung starten</a>
</p>
```

> [!NOTE]
>
> During a payment process, the shop system locks the session so that the buyer does not keep clicking in a second window. `WS-UnlockSessionOnlineClearingLink` gives them a way out: the link starts a new session and takes over the basket, all entries and, if applicable, the login.

> [!WARNING]
>
> The tag only applies within the notification message `SessionLockedForOnlineClearing` in the `NotifyMessages-Txt` section and on the notification template of the same name from the `Templates` section. It belongs in both places, because otherwise a buyer whose payment process was aborted is stuck in a locked session.

## After the order

| Tag | Returns |
| - | - |
| `WS-OrderID` | the order number |
| `WS-OrderDate` | the order date in the format DD.MM.YYYY |
| `WS-OrderTime` | the time in the format HH:MM |
| `WS-PDFConfirmDownloadLink` | the link to the order as a PDF |
| `WS-OrderDownloadLink` | the link to the purchased download products |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p>Vielen Dank für Ihre Bestellung ~WS-OrderID~ vom ~WS-OrderDate~ um ~WS-OrderTime~ Uhr.</p>

<a href="~WS-PDFConfirmDownloadLink~">Bestellung als PDF herunterladen</a>

{WS-OrderDownloadLink}
   <a href="~WS-OrderDownloadLink~">Ihre gekauften Dateien</a>
{/WS-OrderDownloadLink}
```

> [!NOTE]
>
> `WS-OrderDownloadLink` works as an area tag, which applies when at least one download product was included in this order. Without the area tag, the link would also appear on the page for an order without downloads.

> [!WARNING]
>
> The example on the previous page for `WS-OrderDownloadLink` writes `<a href="~WS-OrderDownloadLink~>` without a closing quotation mark. The corrected version is shown above.

> [!NOTE]
>
> `WS-OrderID`, `WS-OrderDate` and `WS-OrderTime` apply on the order receipt confirmation, in the order receipt email to the shop operator, on the PDF confirmation and in the rating reminder.

### Not to be confused: the shop update

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p>Zuletzt aktualisiert am ~WS-UpdateDate~ um ~WS-UpdateTime~ Uhr.</p>
```

> [!WARNING]
>
> `WS-UpdateDate` and `WS-UpdateTime` have **nothing** to do with the order. They output the time of the last shop update, that is, when product data was last imported. The similarity of the name to `WS-OrderDate` regularly leads people astray. Both tags are permitted on all templates and typically belong in the footer.

## The tags at a glance

| Tag | Single tag | Area tag | Negative area tag | Loop tag |
| - | - | - | - | - |
| `WS-AcceptTermsAndConditions_input` | yes | – | – | – |
| `WS-AcceptTermsAndConditions_checked` | yes | yes | yes | – |
| `WS-AcceptTermsAndConditions_error` | – | yes | yes | – |
| `WS-AcceptTermsAndConditions_errormessage` | yes | yes | yes | – |
| `WS-CheckConditions` | yes | – | – | – |
| `WS-ConditionsAccepted_Date`, `WS-ConditionsAccepted_Time` | yes | yes | yes | – |
| `WS-CheckAddressSharing`, `WS-CheckTeleMarketing` | yes | – | – | – |
| `WS-AcceptShareEmailWithShippingProvider_input` | yes | – | – | – |
| `WS-AcceptShareEmailWithShippingProvider_checked` | yes | yes | yes | – |
| `WS-AcceptShareEmailWithShippingProvider_error` | – | yes | yes | – |
| `WS-AcceptShareEmailWithShippingProvider_errormessage` | yes | yes | yes | – |
| `WS-ShareEmailWithShippingProvider_input`, `_value` | yes | – | – | – |
| `WS-DelivAddr` | – | yes | yes | – |
| `WS-DelivAddr_checkbox_setAsDefaultAddress` | yes | – | – | – |
| `WS-DelivAddr_checkboxchecked_setAsDefaultAddress` | yes | yes | yes | – |
| `WS-MultiDelivery_available` | – | yes | yes | – |
| `WS-DeliveryToForeignBranchAddress_input` | yes | – | – | – |
| `WS-DeliveryToForeignBranchAddress_checked` | yes | yes | yes | – |
| `WS-TaxIDCountries` | yes | yes | yes | yes |
| `WS-AjaxAddressHelpUrl` | yes | yes | yes | – |
| `WS-AjaxZIPHelpURL` | yes | – | – | – |
| `WS-IDCardTypeList` | yes | – | – | – |
| `WS-IDCardType` | yes | yes | yes | – |
| `WS-IDCardNumber`, `WS-IDCardAuthority` | yes | yes | yes | – |
| `WS-ConfirmEigenhaendigPlus` | yes | – | – | – |
| `WS-EigenhaendigPlus_error` | – | yes | yes | – |
| `WS-IDCardNumber_error`, `WS-IDCardType_error`, `WS-IDCardAuthority_error` | – | yes | yes | – |
| `WS-ConfirmEigenhaendigPlus_error` | – | yes | yes | – |
| `WS-DateOfBirthEigenhaendigPlus_error` | – | yes | yes | – |
| all associated `_errormessage` tags | yes | yes | yes | – |
| `WS-AgeRestricted` | yes | yes | yes | – |
| `WS-AgeRestrictedProductList` | yes | – | – | – |
| `WS-CustomerComment` | yes | yes | yes | – |
| `WS-CustomerComment_Input` | yes | – | – | – |
| `WS-OrderRefText`, `WS-OrderRefText2` | yes | yes | yes | – |
| `WS-OrderSpecialInput` | yes | yes | yes | – |
| `WS-OrderSpecialInput_input` | yes | yes | yes | – |
| `WS-OrderOptions()` | yes | – | – | – |
| `WS-PPCExpressUseDeliveryAddressForBilling_input` | yes | – | – | – |
| `WS-PPCExpressUseDeliveryAddressForBilling_checked` | yes | yes | yes | – |
| `WS-PayPalExpressUseDeliveryAddressForBilling_input` | yes | – | – | – |
| `WS-PayPalExpressUseDeliveryAddressForBilling_checked` | yes | yes | yes | – |
| `WS-UnlockSessionOnlineClearingLink` | yes | – | – | – |
| `WS-OrderID`, `WS-OrderDate`, `WS-OrderTime` | yes | – | – | – |
| `WS-PDFConfirmDownloadLink` | yes | – | – | – |
| `WS-OrderDownloadLink` | yes | yes | yes | – |
| `WS-UpdateDate`, `WS-UpdateTime` | yes | – | – | – |

The terms and conditions tags apply only on the template named for them in the shop configuration. The Eigenhändig Plus tags and the express checkout fields apply on the order overview, `WS-UnlockSessionOnlineClearingLink` only in the associated notification message and on its template. The order details apply on the confirmation and email templates. All other tags are permitted on all templates of the order process, and `WS-ConditionsAccepted_*`, `WS-MultiDelivery_available`, `WS-UpdateDate` and `WS-UpdateTime` on all templates.

## Related topics

* Guide: Accepting the terms and conditions
* Guide: Requesting a different delivery address
* Guide: Shipping with Eigenhändig Plus
* Guide: Requesting further information about the order
* Reference: D- (delivery address)
* Reference: multiple addresses


## Related topics

- [Payment, shipping and order completion](https://dokumentation.websale.de/en/v8s/referenz/tags/ws/zahlung-versand-und-bestellabschluss.md)
- [Shop, page and technology](https://dokumentation.websale.de/en/v8s/referenz/tags/ws/shop-seite-und-technik.md)
- [Multiple addresses: tags per template](https://dokumentation.websale.de/en/v8s/referenz/tags/multiple-adressen.md)
- [Checkout process](https://dokumentation.websale.de/en/frontend/funktionsubersicht/bestellablauf.md)
- [NL- (Newsletter sign-up in the order process)](https://dokumentation.websale.de/en/v8s/referenz/tags/nl.md)


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