diff --git a/deploy/enrollment-server.xml b/deploy/enrollment-server.xml
index 8a20f2b6..e0f823c9 100644
--- a/deploy/enrollment-server.xml
+++ b/deploy/enrollment-server.xml
@@ -19,11 +19,15 @@
+
+
+
+
diff --git a/deploy/env.list.tmp b/deploy/env.list.tmp
index 8c4ed3da..8caef8af 100644
--- a/deploy/env.list.tmp
+++ b/deploy/env.list.tmp
@@ -1,4 +1,6 @@
ENROLLMENT_SERVER_POWERAUTH_SERVICE_URL=http://localhost:8080/powerauth-java-server/rest
+ENROLLMENT_SERVER_POWERAUTH_SERVICE_RESPONSE_TIMEOUT=60s
+ENROLLMENT_SERVER_POWERAUTH_SERVICE_MAX_IDLE_TIME=200s
ENROLLMENT_SERVER_SECURITY_CLIENT_TOKEN=
ENROLLMENT_SERVER_SECURITY_CLIENT_SECRET=
ENROLLMENT_SERVER_PUSH_SERVER_URL=
diff --git a/docs-private/Developer-How-To-Start.md b/docs-private/Developer-How-To-Start.md
index 1ca53619..f4bb0de6 100644
--- a/docs-private/Developer-How-To-Start.md
+++ b/docs-private/Developer-How-To-Start.md
@@ -22,6 +22,29 @@ Others (like URL, username, password) depend on your environment.
liquibase --changelog-file=./docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml --url=jdbc:postgresql://localhost:5432/powerauth --username=powerauth status
```
+To generate SQL script run this command.
+
+
+#### Oracle
+
+```shell
+liquibase --changeLogFile=./docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml --output-file=./docs/sql/oracle/generated-oracle-script.sql updateSQL --url=offline:oracle
+```
+
+
+#### MS SQL
+
+```shell
+liquibase --changeLogFile=./docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml --output-file=./docs/sql/mssql/generated-mssql-script.sql updateSQL --url=offline:mssql
+```
+
+
+#### PostgreSQL
+
+```shell
+liquibase --changeLogFile=./docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml --output-file=./docs/sql/postgresql/generated-postgresql-script.sql updateSQL --url=offline:postgresql
+```
+
### Docker
diff --git a/docs/Configuration-Properties.md b/docs/Configuration-Properties.md
index af3040ed..e4d3d291 100644
--- a/docs/Configuration-Properties.md
+++ b/docs/Configuration-Properties.md
@@ -15,17 +15,21 @@ The Enrollment Server uses the following public configuration properties:
## PowerAuth Service Configuration
-| Property | Default | Note |
-|---|---|---|
-| `powerauth.service.url` | `http://localhost:8080/powerauth-java-server/rest` | PowerAuth service REST API base URL. |
-| `powerauth.service.security.clientToken` | `_empty_` | PowerAuth REST API authentication token. |
-| `powerauth.service.security.clientSecret` | `_empty_` | PowerAuth REST API authentication secret / password. |
+| Property | Default | Note |
+|------------------------------------------------------|----------------------------------------------------|------------------------------------------------------|
+| `powerauth.service.url` | `http://localhost:8080/powerauth-java-server/rest` | PowerAuth service REST API base URL. |
+| `powerauth.service.restClientConfig.responseTimeout` | `60s` | PowerAuth REST API response timeout. |
+| `powerauth.service.restClientConfig.maxIdleTime` | `200s` | PowerAuth REST API max idle time. |
+| `powerauth.service.security.clientToken` | `_empty_` | PowerAuth REST API authentication token. |
+| `powerauth.service.security.clientSecret` | `_empty_` | PowerAuth REST API authentication secret / password. |
## PowerAuth Push Service Configuration
-| Property | Default | Note |
-|---|---|---|
-| `powerauth.push.service.url` | `http://localhost:8080/powerauth-push-server` | PowerAuth Push service REST API base URL. |
+| Property | Default | Note |
+|-----------------------------------------------------------|-----------------------------------------------|---------------------------------------------------|
+| `powerauth.push.service.url` | `http://localhost:8080/powerauth-push-server` | PowerAuth Push service REST API base URL. |
+| `powerauth.push.service.restClientConfig.responseTimeout` | `60s` | PowerAuth Push service REST API response timeout. |
+| `powerauth.push.service.restClientConfig.maxIdleTime` | `200s` | PowerAuth Push service REST API max idle time. |
## Enrollment Server Configuration
diff --git a/docs/Database-Structure.md b/docs/Database-Structure.md
index f4037859..a80c4a01 100644
--- a/docs/Database-Structure.md
+++ b/docs/Database-Structure.md
@@ -29,14 +29,15 @@ For more information, see [Operation Extensions](Operation-Extensions.md) and [C
#### Schema
-| Name | Type | Info | Note |
-|---------------|----------------|------------------------|------------------------------------------------------------------------------------------|
-| `id` | `BIGINT` | `NOT NULL PRIMARY KEY` | Autogenerated record identifier. |
-| `placeholder` | `VARCHAR(255)` | `NOT NULL` | Operation type at PowerAuth server. |
-| `language` | `VARCHAR(8)` | `NOT NULL` | Language of the template. |
-| `title` | `VARCHAR(255)` | `NOT NULL` | Title of the operation. |
-| `message` | `TEXT` | `NOT NULL` | Message for the user related to the operation. |
-| `attributes` | `TEXT` | | Structured custom form data attributes as JSON. |
-| `ui` | `TEXT` | | JSON configuration which may affect behavior or visual aspect of the mobile application. |
+| Name | Type | Info | Note |
+|----------------|----------------|------------------------|------------------------------------------------------------------------------------------|
+| `id` | `BIGINT` | `NOT NULL PRIMARY KEY` | Autogenerated record identifier. |
+| `placeholder` | `VARCHAR(255)` | `NOT NULL` | Operation type at PowerAuth server. |
+| `language` | `VARCHAR(8)` | `NOT NULL` | Language of the template. |
+| `title` | `VARCHAR(255)` | `NOT NULL` | Title of the operation. |
+| `message` | `TEXT` | `NOT NULL` | Message for the user related to the operation. |
+| `result_texts` | `TEXT` | | Customized texts to display for `success`, `failure`, or `reject` operations as JSON. |
+| `attributes` | `TEXT` | | Structured custom form data attributes as JSON. |
+| `ui` | `TEXT` | | JSON configuration which may affect behavior or visual aspect of the mobile application. |
diff --git a/docs/Migration-Instructions.md b/docs/Migration-Instructions.md
index 740c7d30..280af0e2 100644
--- a/docs/Migration-Instructions.md
+++ b/docs/Migration-Instructions.md
@@ -2,6 +2,7 @@
This page contains PowerAuth Enrollment Server migration instructions.
+- [PowerAuth Enrollment Server 1.8.0](./PowerAuth-Enrollment-Server-1.8.0.md)
- [PowerAuth Enrollment Server 1.7.0](./PowerAuth-Enrollment-Server-1.7.0.md)
- [PowerAuth Enrollment Server 1.6.0](./PowerAuth-Enrollment-Server-1.6.0.md)
- [PowerAuth Enrollment Server 1.5.0](./PowerAuth-Enrollment-Server-1.5.0.md)
diff --git a/docs/Operation-Form-Data.md b/docs/Operation-Form-Data.md
index 7a4ab8d3..efb54967 100644
--- a/docs/Operation-Form-Data.md
+++ b/docs/Operation-Form-Data.md
@@ -4,11 +4,17 @@ When creating an operation, you can customize the operation form data. This cust
## Standard Operation Form Data Attributes
-Following attributes are required to be specified for each operation:
+Following attributes are **required** to be specified for each operation:
- `title` - title of the operation
- `message` - message for the user related to the operation
+Following attributes are **optional** to be specified for each operation:
+
+- `resultTexts.success` - Customized text to display for _success_ operation. If not provided, the default message will be used.
+- `resultTexts.failure` - Customized text to display for _failure_ operation. If not provided, the default message will be used.
+- `resultTexts.reject` - Customized text to display for _reject_ operation. If not provided, the default message will be used.
+
## Custom Operation Form Data Attributes
Following structured custom form data attributes are available:
diff --git a/docs/PowerAuth-Enrollment-Server-1.8.0.md b/docs/PowerAuth-Enrollment-Server-1.8.0.md
new file mode 100644
index 00000000..d01b423c
--- /dev/null
+++ b/docs/PowerAuth-Enrollment-Server-1.8.0.md
@@ -0,0 +1,19 @@
+# Migration from 1.7.x to 1.8.x
+
+This guide contains instructions for migration from PowerAuth Enrollment Server version `1.7.x` to version `1.8.0`.
+
+
+## Database Changes
+
+For convenience, you can use liquibase for your database migration.
+
+For manual changes use SQL scripts:
+
+- [PostgreSQL script](./sql/postgresql/enrollment/migration_1.7.0_1.8.0.sql)
+- [Oracle script](./sql/oracle/enrollment/migration_1.7.0_1.8.0.sql)
+
+
+### Add Column result_texts
+
+A column `result_texts` has been added to the table `es_operation_template`.
+It is an optional JSON representing customized texts to display for `success`, `failure`, or `reject` operations.
diff --git a/docs/db/changelog/changesets/enrollment-server/1.8.x/20240620-add-resultTexts.xml b/docs/db/changelog/changesets/enrollment-server/1.8.x/20240620-add-resultTexts.xml
new file mode 100644
index 00000000..69e59180
--- /dev/null
+++ b/docs/db/changelog/changesets/enrollment-server/1.8.x/20240620-add-resultTexts.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+ Add result_texts column
+
+
+
+
+
+
diff --git a/docs/db/changelog/changesets/enrollment-server/1.8.x/db.changelog-version.xml b/docs/db/changelog/changesets/enrollment-server/1.8.x/db.changelog-version.xml
new file mode 100644
index 00000000..35df0daa
--- /dev/null
+++ b/docs/db/changelog/changesets/enrollment-server/1.8.x/db.changelog-version.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml b/docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml
index b3ebdeab..20a3429e 100644
--- a/docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml
+++ b/docs/db/changelog/changesets/enrollment-server/db.changelog-module.xml
@@ -10,5 +10,6 @@
+
\ No newline at end of file
diff --git a/docs/onboarding/Configuration-Properties.md b/docs/onboarding/Configuration-Properties.md
index d236dd43..497b9b1f 100644
--- a/docs/onboarding/Configuration-Properties.md
+++ b/docs/onboarding/Configuration-Properties.md
@@ -15,11 +15,13 @@ The Onboarding Server uses the following public configuration properties:
## PowerAuth Service Configuration
-| Property | Default | Note |
-|---|---|---|
-| `powerauth.service.url` | `http://localhost:8080/powerauth-java-server/rest` | PowerAuth service REST API base URL. |
-| `powerauth.service.security.clientToken` | `_empty_` | PowerAuth REST API authentication token. |
-| `powerauth.service.security.clientSecret` | `_empty_` | PowerAuth REST API authentication secret / password. |
+| Property | Default | Note |
+|------------------------------------------------------|----------------------------------------------------|------------------------------------------------------|
+| `powerauth.service.url` | `http://localhost:8080/powerauth-java-server/rest` | PowerAuth service REST API base URL. |
+| `powerauth.service.restClientConfig.responseTimeout` | `60s` | PowerAuth REST API response timeout. |
+| `powerauth.service.restClientConfig.maxIdleTime` | `200s` | PowerAuth REST API max idle time. |
+| `powerauth.service.security.clientToken` | `_empty_` | PowerAuth REST API authentication token. |
+| `powerauth.service.security.clientSecret` | `_empty_` | PowerAuth REST API authentication secret / password. |
## Onboarding Process Configuration
diff --git a/docs/onboarding/Migration-Instructions.md b/docs/onboarding/Migration-Instructions.md
index 9c502ee3..8b7a2275 100644
--- a/docs/onboarding/Migration-Instructions.md
+++ b/docs/onboarding/Migration-Instructions.md
@@ -2,5 +2,7 @@
This page contains PowerAuth Enrollment Onboarding Server migration instructions.
+- [PowerAuth Enrollment Onboarding Server 1.8.0](./PowerAuth-Enrollment-Onboarding-Server-1.8.0.md)
+- [PowerAuth Enrollment Onboarding Server 1.7.0](./PowerAuth-Enrollment-Onboarding-Server-1.7.0.md)
- [PowerAuth Enrollment Onboarding Server 1.6.0](./PowerAuth-Enrollment-Onboarding-Server-1.6.0.md)
- [PowerAuth Enrollment Onboarding Server 1.5.0](./PowerAuth-Enrollment-Onboarding-Server-1.5.0.md)
diff --git a/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.7.0.md b/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.7.0.md
new file mode 100644
index 00000000..e6c12d4e
--- /dev/null
+++ b/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.7.0.md
@@ -0,0 +1,5 @@
+# Migration from 1.6.x to 1.7.x
+
+This guide contains instructions for migration from PowerAuth Enrollment Onboarding Server version `1.6.x` to version `1.7.0`.
+
+No migration steps nor database changes are required.
diff --git a/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.8.0.md b/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.8.0.md
new file mode 100644
index 00000000..bfca22d0
--- /dev/null
+++ b/docs/onboarding/PowerAuth-Enrollment-Onboarding-Server-1.8.0.md
@@ -0,0 +1,5 @@
+# Migration from 1.7.x to 1.8.x
+
+This guide contains instructions for migration from PowerAuth Enrollment Onboarding Server version `1.7.x` to version `1.8.0`.
+
+No migration steps nor database changes are required.
diff --git a/docs/sql/oracle/enrollment/migration_1.7.0_1.8.0.sql b/docs/sql/oracle/enrollment/migration_1.7.0_1.8.0.sql
new file mode 100644
index 00000000..c6028397
--- /dev/null
+++ b/docs/sql/oracle/enrollment/migration_1.7.0_1.8.0.sql
@@ -0,0 +1,3 @@
+-- Changeset enrollment-server/1.8.x/20240620-add-resultTexts.xml::1::Lubos Racansky
+-- Add result_texts column
+ALTER TABLE es_operation_template ADD result_texts CLOB;
diff --git a/docs/sql/postgresql/enrollment/migration_1.7.0_1.8.0.sql b/docs/sql/postgresql/enrollment/migration_1.7.0_1.8.0.sql
new file mode 100644
index 00000000..50039b3c
--- /dev/null
+++ b/docs/sql/postgresql/enrollment/migration_1.7.0_1.8.0.sql
@@ -0,0 +1,3 @@
+-- Changeset enrollment-server/1.8.x/20240620-add-resultTexts.xml::1::Lubos Racansky
+-- Add result_texts column
+ALTER TABLE es_operation_template ADD result_texts TEXT;
diff --git a/enrollment-server-api-model/src/main/java/com/wultra/app/enrollmentserver/api/model/enrollment/response/TemplateListResponse.java b/enrollment-server-api-model/src/main/java/com/wultra/app/enrollmentserver/api/model/enrollment/response/TemplateListResponse.java
index 248f0e42..a420b92d 100644
--- a/enrollment-server-api-model/src/main/java/com/wultra/app/enrollmentserver/api/model/enrollment/response/TemplateListResponse.java
+++ b/enrollment-server-api-model/src/main/java/com/wultra/app/enrollmentserver/api/model/enrollment/response/TemplateListResponse.java
@@ -23,6 +23,7 @@
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* Template list response.
@@ -36,6 +37,6 @@ public class TemplateListResponse extends ArrayList attributes, String language) {
+ public record TemplateDetail(String name, String title, String message, List