## Remote forms

A remote form is a public form accessible to customers without logging in. It enables receiving new issues through a website or allowing customers to update an existing issue.

Configuration is available under **Configuration → Issue types → [type] → Remote forms**.

## Form types

Each form has an assigned usage type:

- **Create issue** — the customer submits a new issue; an organisation must be selected to receive the issue
- **Update issue** — the customer supplements or updates an existing issue; an optional usage limit can be set

## Form settings

### Basic

- **Name and description** — multilingual; visible to administrators only
- **Organisation** — which organisation the submitted issues are assigned to (required for create type)
- **Default owner** — user automatically assigned as the issue owner
- **Width** — form width on the page
- **Font** — font used in the form
- **Favicon** — icon shown in the browser tab
- **Resubmit** — whether the form can be submitted more than once in the same session
- **Active** — whether the form is publicly accessible

### Content (multilingual)

- **Header** — text displayed at the top of the form
- **Meta title** — HTML page title
- **Meta description** — HTML page description (SEO)
- **Submit button label** — text on the submit button
- **Success message** — text displayed to the customer after successful submission

### Legal

- **GDPR info** — GDPR clause text; can be enabled and set as required to accept
- **Terms & conditions** — terms text; can be enabled and set as required to accept

### Appearance

- **Styles** — custom CSS styles for the entire form
- **Additional styles** — additional CSS rules that override the defaults

### Customer type

- **Distributor type** — filters available distributors in the form
- **Service type** — filters available services in the form

## Form fields

Fields available on the form are configured separately via **Configuration → Application fields → Remote forms**. For each field, the name, description, configuration, and validations can be overridden at the module level.

## Sharing the form

After saving, the form can be shared in two ways:

### Direct link

The form is available at a unique URL:

```text
https://[forms-domain]/create/[locale]/[form-id]
```

The link can be sent directly to customers or placed on a website.

### Widget (web component)

The form can be embedded on any page as an HTML component:

```html
<script src="https://[forms-domain]/widget/index.js"></script>
<reklamator-form form-id="[form-id]" locale="en"></reklamator-form>
```

The widget renders the form directly within the page content.

---

## FAQ

### Does the form require the customer to log in?
No. The form is public — customers can submit an issue without an account in the system.

### What is the difference between the create and update types?
A **create** form is used to submit new issues. An **update** form allows a customer to supplement data in an existing issue (e.g. upload additional files or answer questions).

### Can one issue type have multiple forms?
Yes. Multiple forms with different settings and links can be assigned to a single type — for example, separate forms for different organisations or languages.

### How do I configure the form fields?
Form fields are configured via **Configuration → Application fields**, then assigned to the **Remote forms** module. Each assigned field can be customised (name, validations) at the module level.

### Does the customer receive a confirmation after submitting the form?
After submission, the message configured in the **Success message** field is displayed. An automatic confirmation email can be configured via business rules.

### How do I embed the form on my own website?
Use the widget — place the `<script>` tag and `<reklamator-form>` element in your page's HTML. The exact code snippet is available in the form's sharing dialog.
