Domain and Hosting Provisioning Model Version 2

The following diagram shows the sequence of calls, which external system shall perform to create Account, Account's Staff Member, Domain Subscription (it contains DNS Hosting), Domain, Hosting Subscription (it contains hosting services), and to provision hosting services in Operations:

  1. External System calls pem.addAccount method to create Account in Operations.
  2. External System calls pem.addAccountMember method to create Account's Staff Member in Operations.
  3. External System calls pem.activateSubscription to create Domain Subscription in Operations. This Subscription must contain DNS Hosting. Also, it may contain other hosting services, which are planned to sell as add-ins to Domain registration.
  4. External System calls pem.addDomainRequest to create Domain Request in Operations. If Domain with the same name as Domain Request name does not exist, Operations creates DNS Zone according to Subscription, created in step 3. Otherwise, Operations uses DNS Zone of existing Domain for Domain Request.
  5. External System calls pem.getNameServers method to retrieve DNS Servers, which host DNS Zone of Domain Request created in step 4.
  6. External System sends Domain registration request to Domain Registrar. DNS Servers, which are obtained in step 5, are used to register Domain in Domain Registrar.
  7. External System calls pem.addDomain method to create Domain in Operations. In this step, the force parameter's value is set to 0 (if Domain with the same name exists, the error is thrown) and registrar_status is set to 0 (Domain check result is undefined).
  8. External System calls pem.activateSubscription to create Hosting Subscription in Operations.
  9. If Domain is created in step 7, External System calls pem.bindServicesToDomain method to provision hosting services from Hosting Subscription. Otherwise, External System will wait confirmation of Domain registration from Domain Registrar.
  10. Domain Registrar confirms Domain registration.
  11. External System calls pem.addDomain method to create Domain in Operations. In this step, the force parameter's value is set to 1 (if Domain with the same name exists, method removes one and create new one) and registrar_status is set to 2 (Domain is registered). If Domain is created in step 7, pem.addDomain method modifies Registrar Status of Domain only.
  12. External System calls pem.bindServicesToDomain method to provision hosting services from Hosting Subscription.