This section provides details about the Plans Database schema.

The Managed Plans Namespace provides public access to Managed Plans functions, including services interaction and dependencies data stored in the PlanManager Database. In addition to making the procedures public the namespace APIs perform role based security checks before delegating the call to the underlying provider. Provisionable services use standard interfaces to provide their service characteristics and dependencies by way of core tables in a new PlanManager database. The following diagram shows the relationships between entities in the PlanManager database.

Database Tables

This core set of tables comprises:

  • Customers - Any kind of customer - organization or user.
  • Services - An entity that can be provisioned.
  • Service Dependencies - Models the concept that some services have prerequisite services to which a customer must subscribe through a plan, before the customer can subscribe to the target service.
  • Service Plans - Define the characteristics of a service that can be differentiated in order to offer different service levels. These differentiators are referred to as "features" of the plan.
  • Features - Characteristics of a service plan. Generic feature types are defined and then assigned to a plan.
  • Assets - Asset types can be defined by the implementer of a given service namespace. Examples of the use of this feature include SMTP domains, and Exchange Mailbox GUIDs.
  • Events - Events related to a service can be logged to record a provisioning event. The system implements some standard events, but services can add their own events to the system.