Keeping up - Billia 4.2

Keeping up - Billia 4.2

We are happy to announce Billia 4.2 that holds some great new functionalities in various components of the Billia software. We are also very proud to present the progress of AppCell and the amazing work our Hawk team does and continues to do!




A new customer status has been implemented into the system. Till now, users were divided into two categories - Active and Inactive. Now, a new “Blocked” status can be used. It takes on some of the functionalities of the “Inactive” status. Currently the use of the three customer statuses incorporate:

  • “active” - used when a user has been initially activated and is currently “active”;
  • “inactive” - used when a user has been created but not yet initially activated;
  • “blocked” - used when an Administrator wants to temporarily suspend a user from making actions in the system.

Improved user activation flow


reset password

The process of user activation has been modified and improved. This includes the standard initial activation and also prompted activation for inactive users using the system. The user activation flow now goes as follows:

  1. A customer registers an account for the first time.
  2. An email is sent to their email address containing a link, which leads to a new system page where the customer can enter their new account’s password. This will activate the account. Until that step is complete, that customer’s user account will be labeled as “inactive” and limited in possible actions.

When a customer creates a new account, they are let into that profile, but only for one hour. During that time the customer must activate their account through the email link or the system will sign them out after that hour is up. Nevertheless, newly created inactive users can still perform some actions during that initial one hour in the system. E.g., they are able to place orders. An inactive user in that case will:


  1. Have an order in the “pending” state, that will not move forward until that user has been activated;
  2. Receive an email with a link to the respective financial document for the order. Still, that link will also include an OTT - One Time Token. Clicking on the link will take the user to first activate their profile with a chosen password, and afterwards will display the financial document at hand. The same can happen with various other email links that an inactive user could receive., depending on their actions in the system. Those will have an OTT embedded into them to prompt the user to first activate their account.

The last change done to the user activation process is regarding the Forgot password button. If an inactive user is logged out of the system (after the initial one hour) and still clicks to reset their forgotten password, the system will send an email to the customer, which contains the initial activation link, instead of a reset password link.

Moreover, an additional detail has been added to when Administrators manually activate inactive users from within the Billia Management Panel. At that point a message appears that gives two options:

  1. For the Administrator themselves to set a password, or;
  2. The Administrator to send an activation email to that user.

Improved UI of Billia Management Panel


Some parts of the UI of the Billia Management panel have been improved. These include:

  • The Customer’s Details page where now their information bar remains visible at all times to display that user’s details;
  • Additional buttons added to the Order’s Details page, to “copy” and “edit profile”.

Reseller columns added


Visible Resellers’ columns have been added to the Orders and Products pages of the Billia Management Panel, which define the owner of a product. E.g. “default” indicates that the business using Billia is the owner of the specified product.

New and improved search engines



The search engines for the Orders and Customers pages have been improved to show more quickly and more accurately results of the searches. Their UX-es have also been designed to be virtually the same for the ease of the Administrators.

System speed improvement


The entire Billia system now has improved processing speed through its communication with ApiHawk Gear, thanks to a new queue through Redis. The previous communication with Gear was lead through HTTP which proved ineffective and slow for Billia. With Redis Queue indexing now there aren’t any delays or slow speed.

A new Billia worker


A new Billia worker has been developed, which works with AppCell and can provision anything within it. The Worker is used for asynchronous modification of customer products (options’ processing). It manages modifications on products and services in the system, through communication with AppCell.

Previously in the system, any changes made to products and services would first be written in the database and then updated on the server.

Now, the process goes through AppCell, where the changes are done first on the server, and then written in the database. Unsuccessful changes are sent to an Administrator to be done manually.

The steps of the process are as follows:

  1. A request is sent to AppCell;
  2. AppCell performs a check on that request and the information it requires;
  3. AppCell returns a message to the system with the tasks that have been completed.

Having a separate Worker that performs asynchronously ensures better scaling capabilities, where multiple instances of that Worker can be simultaneously run without issues occurring.

New Service status changes



Service status changes are now processed through AppCell, as well. The code includes all possible scenarios for all Service statuses, how they can be switched, the action AppCell needs to make, and which cases would return an error.