Vacation Management Example

Vacation management Living Application


This is an official Living Application example for Bonita >7.10.3

This example demonstrates the following concepts:

  • Living Application
  • Forms and pages built using the UI Designer
  • Process using BDM and contracts
  • REST API extensions


  1. Start Bonita Studio 7.10.3 or later
  2. Download the project .bos file and REST API extension .zip file
  3. Import the .bos file in your Bonita Studio. It contains 5 diagrams: Example-NewVacationRequest, Example-ModifyPendingVacationRequest, Example-CancelVacationRequest, Example-InitiateVacationAvailable and Example-RemoveAllBusinessData. Each diagram includes a single process definition. It also includes business data model definition, default process configuration, application page and definition (i.e. application user interface definition). Important: importing the .bos file will ask you to override your existing business data model.
  4. Open the Example-InitiateVacationAvailable diagram and run the process (click on Run button in a Bonita Studio). This process will initialize a business data that store vacation available counter for each Bonita user declared in the default test environment (ACME organization).
  5. You can now deploy and run the New Vacation Request, Modify Pending Vacation Request and Cancel Vacation Request processes by clicking on Run button in Bonita Studio. Note that vacation request approval need to be performed by requester (walter.bates) manager (helen.kelly) so you might want to logout and login back with helen.kelly/bpm user. If you want to create (or cancel) several vacation requests, do not click again on Run button. Instead click on the Portal button and in User view go to to Processes tab select the process and click on Start button.
  6. You can now deploy the living application that give user an overview of all created vacation request.
    1. First you need to deploy a REST API extension:
      1. In the Portal, switch to Administrator view. Use drop down list on top right corner to switch from User to Administrator.
      2. Go to Resources.
      3. Click on Add button.
      4. Select the file.
      5. Click on Next button.
      6. Click on Confirm button.
      7. Read more about REST API extension in Bonita official documentation.
    2. Next you need to deploy the application page:
      1. In Bonita Studio project explorer unfold Pages/Forms/Layout node.
      2. Select ExampleVacationManagement application page.
      3. Do a right click and select Deploy.
      4. Read more about pages on the Bonita official documentation.
  7. You are now ready to deploy in the Portal the application definition that will use the previously deployed REST API extension and page:
    1. In Bonita Studio project explorer unfold Application descriptors node.
    2. Select Application_Data.xml application descriptor.
    3. Do a right click and select Deploy.
    4. For more information refer to applications in Bonita official documentation.
  8. Run the Vacation Management application by accessing to this URL (the port number may vary): http://localhost:8080/bonita/apps/tahiti. You can find the URL of the application in the Portal Administrator view -> Applications.


Vacation Management Living Application

Vacation Management Application

Vacation Management Living Application - Vacation request to cancel

Vacation Management Living Application - Vacation request to cancel

New Vacation Request process

New Vacation Request process

New Vacation Request process - Vacation request creation form

New Vacation Request process - Vacation request creation form

New Vacation Request process - Vacation request review form

New Vacation Request process - Vacation request review form

Modify Pending Vacation Request process

Modify Pending Vacation Request process

Cancel Vacation Request process

Cancel Vacation Request process

Cancel Vacation Request process - Vacation request canceled review form

Cancel Vacation Request process - Vacation request canceled review form

Initiate Vacation Available process

Initiate Vacation Available process

Remove all business data process

Remove all business data process


This example has been created and built with Bonita 7.10.3 Community Edition.

It should be compatible with any newer version as well as Enterprise Edition.

Known limitations

None so far.


Reports issues and improvement requests on GitHub tracker.

Apache v2


Total downloads: 17 417
Version BonitaBPM Version Post date Download Link to content
7.10.3-1.5.0 7.x, 7.10.x 2020-Mar-25 Download
Release note
7.9.3-1.5.0 7.x, 7.9.x 2019-Sep-26 Download
Release note
v1.4.1 for Bonita BPM 7.5.0 and onward 7.x, 7.5.x 2017-Jun-07 Download
Release note
v1.3.0 for Bonita BPM 7.3.0 and onward 7.x, 7.3.x 2016-Jul-25 Download
Release note
v1.2.0 for Bonita BPM 7.2.1 and onward 7.x, 7.2.x 2016-Mar-09 Download
Release note
v1.1.0 for Bonita BPM 7.0.2 and onward 7.0.x 2015-Sep-11 Download
Release note
v1.0.0 for Bonita BPM 7.0 7.0.x 2015-Jun-22 Download
Release note


Submitted by ntlzz93 on Wed, 02/24/2016 - 17:46

Have any report documentation for example? . It can help me easy to follow and understand what project excute.

Submitted by josep.albalat on Mon, 04/11/2016 - 20:37

Whien I try to send an e.mail to the manager with the request I have the next error:

org.bonitasoft.engine.bpm.connector.ConnectorExecutionException: USERNAME=install | org.bonitasoft.engine.core.connector.exception.SConnectorException:

org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: Declared return type class java.lang.Long is not compatible with evaluated type class java.lang.Integer for expression processInstanceId

I have the following script in the field From
return BonitaUsers.getProcessInstanceInitiatorProfessionalContactInfo(
apiAccessor, processInstanceId).email

What is the mistake?

Submitted by helaguesmi on Wed, 05/03/2017 - 18:58

how can we do this example with type of leave(sick,paye,...,other) and daysavailableInitial associated to type of leave

Submitted by ThachLN_1 on Sat, 05/27/2017 - 16:56

I want to upgrade this project by replace the UI with my own SpringMVC project.
Is there any solution?

Submitted by josep.albalat on Sat, 06/17/2017 - 22:00


1 application descriptor has been partially imported. The following items are not loaded in the Portal.

URL: ../apps/tahiti
index Application_page
custompage_ExampleVacationManagement Page

How can I fix this error?

Submitted by sergiog_1349875 on Wed, 09/06/2017 - 17:26

Everything went well until I clicked on Create new vacation request button. Nothing happens when I do so. Why? I tried IE and Chrome without any luck.

Submitted by antoine.mottier on Thu, 09/07/2017 - 09:52

I would suggest to post a question on the forum to get some help. My recommendation would be to enable the developer tools in your web browser and check the network tab to see what is going on. A click on a button usually trigger a REST API call. If the REST API call failed the default behavior is to stay on the same page. It's probably what you are experimenting right now.

Submitted by amgawfi_1371239 on Thu, 04/26/2018 - 04:09

I's a good Management Example.