Synchronization of domain data


BILLmanager synchronizes data from time to time by requesting information about domain names from the registrar and compares it with information in the billing system. Also, it checks the service status in BILLmanager, if needed.

The cron job '/usr/local/mgr5/sbin/billmaintain --command syncitem' is responsible for data synchronization. Per default, the cron job starts every three hours. It sends '--module <processing_module_code>' as the parameter for program start, including all processing modules with data synchronization activated. This way the system ensures the simultaneous start of synchronization sessions for all processing modules.

You can also check data of any specific service manually in section Products/Services Domains → button Check.

Synchronization frequency

Once a new command for domain data synchronization is received, the processing module requests actual domain status and its registration period from the registrar. Synchronization can be made in different periods, depending on domain status:

If the domain is being registered or renewed, the module requests data regardless the date of last synchronization or the date of ordering/renewal. In this case, synchronization periodicity coincides with the periodicity of the cron job.

If the domain is being transferred, the module takes into account the transfer request date and the date of the last synchronization. Synchronization for such domains starts if:

    • less than one day passed since transfer has been requested (ordering time is not considered).
    • the latest data request happened during the previous day.

In this case, synchronization periodicity on the day of service order coincides with the periodicity of synchronization at registration or renewal and once in a day further on.

If the domain has been registered or delegated, registered but not delegated, or it has the status "Domain delegation has been finished", the system takes into account the service ordering date and the time of the latest data synchronization. Synchronization for such domains starts if:

  • less than one day passed since the service has been ordered (ordering time is not considered).
  • the latest data request happened more than 7 days ago.

In this case, synchronization periodicity on the day of service order coincides with the periodicity of service synchronization at registration or renewal and once in a week further on.

Data processing

Data that has been received from a registrar is then sent to BILLmanager for analysis. Depending on this data, the domain status and its expiry date in the billing system can be different.

The system processes this data per the following algorithms:

If the domain name has no status:

    • If a registration, transfer or domain opening operation is ongoing, no actions will be performed.
    • If the status Domain is registered and delegated or Domain is registered but not delegated and domain validity period are received back, then the status received and the domain validity period will be set.
    • If the status No domain at the registrar or Domain delegation has been finished is received back, then this domain status will be set while the service will get the status "Suspended" and domain expiry date will become the current date.

For domains with status Domain is being registered:

    • If a registration operation is ongoing, no actions will be performed.
    • If the status Domain is registered and delegated  or Domain is registered but not delegated is received back as well as the validity period of the domain, which shall be later than the current date by at least a month, this domain will be considered registered. Its status will be changed to Received, while the validity date will be equal to the one received from the registrar. If there is no service opening date, it will become the current date.
    • If the status No domain at the registrar or Domain delegation has been finished is received back and more than 7 days have passed since service opening, then this domain status will be set while the service will get the status "Suspended" and domain expiry date will become the current date.

For domains with status Domain is being renewed:

    • If a renewal operation is ongoing, no actions will be performed.
    • If the status Domain is registered and delegated or Domain is registered but not delegated is received back and the validity period of the domain is later than the current date by at least a month, this domain will be considered renewed. Its status will be changed to Received, while the validity date will be equal to the one received from the registrar.
    • If the status No domain at the registrar is received back, then this domain status will be set while the service will get the status "Suspended" and domain expiry date will become the current date.

For domains with status Domain is being transferred:

    • If a transfer operation is ongoing or there is no service opening date, no actions will be performed.
    • If the status Domain is registered and delegated or Domain is registered but not delegated is received back, this domain will be considered transferred. Its status will be changed to Received, while the validity date will be equal to the one received from the registrar. The client will receive notification about the results.
    • If the status No domain at the registrar is received back and more than 1 month have passed since the transfer was started, then this domain status will be Received while the validity date will be equal to the one received from the registrar. If the registrar has not sent the validity period, the system will use the current date +1 month. The client will receive notification about the timeout of transfer exceeded.

For other domain statuses:

    • If the status No domain at the registrar or Domain delegation has been finished is received back and there is no feedback from the registrar about the validity period or this period is earlier than the current date, then this domain status will be set while domain expiry date will become the current date.
    • If the domain has the status Domain is registered and delegated or Domain is registered but not delegated, the status received from the registrar is Domain is registered and delegated or Domain is registered but not delegated, and information about the validity period is also received, then the domain status and validity date received will be set.

If the service has been deleted from the billing system, it will set the status No domain at the registrar regardless of the data received.

If there is another set of data, no actions will be performed.