Due to the global nature of the VoIP business, it is very important to identify times with reference to time zones. For example, there is an 18-hour difference between 8 p.m. Melbourne, Australia, and 8 p.m. Seattle, USA – which could mean many thousands of calls and thousands of dollars incorrectly counted if the time zone is not taken into consideration.
This is why every object in PortaBilling (e.g., user, customer, vendor or account) has a time zone associated with it. All dates are stored in the database in a universal, portable representation, and are converted into the required time zone when necessary. For example, say a call is made at 14:03 New York time (your local time zone). The call is made using a calling card running on the America/Chicago time zone, and the account belongs to customer Easy-Cards-Reseller, whose time zone is America/Los_Angeles. The call goes to vendor Deutsche Telekom, which has Europe/Berlin as its time zone.
Thus, if each of these entities views information about the call, they will see it in their respective time zone, as follows:
This helps to present time information in a format suitable for the user. Every customer also has a billing time zone that affects the billing period. Thus if a customer has billing time zone Europe/Berlin and a monthly billing period, this means that his billing period covers one whole month, from 00:00 on the first day of the month until 00:00 on the first day of the next month in his billing time zone – Western European Time, in this example.
Also note that all time zones are expressed in relation to a geographical location in PortaBilling, for example, Europe/Prague. This helps to avoid ambiguous abbreviations such as EST, which could mean both New York time and Melbourne time. Moreover, by using such a notation daylight savings time automatically comes into effect when applicable, so you do not have to think about whether it is EST (Eastern Standard Time) or EDT (Eastern Daylight Savings Time).
Date and time formats
Times and dates have different formats in different places in the world.
For example, the same date will be represented as 20.05.2003 in Germany and 05/20/2003 in the US. It is important that the user be able to work with dates in his native format in order to facilitate work and avoid data interpretation problems.
Each PortaBilling user (admin, account, customer care) has his own date and time formats. When logging in to the web interface, all date and time information will be shown in the user’s specified format. Additionally, all data input fields will also assume the date and time formats specified for the given user.