Skip to main content

Technical documentation for the Get Information about Schools service.

Subscriber Access And Entitlements

This page records the retired subscriber access and commercial subscription model.

The subscriber subdomain has been confirmed as no longer in use. The model is included to explain the legacy schema and to avoid mistaking these tables for active access-control concepts.

Scope

This model covers:

  • subscriber user group context;
  • subscription information;
  • subscription orders, packages and schedules;
  • additional dataset orders;
  • invoices and payment terms.

How To Read This Model

  • This is a retired commercial subscription model.
  • It is closer to order management than ordinary application authorisation.
  • Shared user and group tables are not retired just because they appear in this model.
  • Subscription-specific tables should not be treated as active access-control dependencies without renewed business confirmation.

Application-Derived Insights

  • The model describes packages, orders and invoices rather than simple entitlements.
  • The schema does not contain a clean bridge saying that a live subscription grants access to a dataset.
  • Future access-control design should not reuse this model as a general entitlement pattern.
  • Retired subscriber tables should be separated from active identity and user-group concepts.

Subscriber Access And Entitlements

erDiagram UserRole { nvarchar authority PK nvarchar caption } UserGroup { nvarchar code PK nvarchar name nvarchar role FK } SystemUser { nvarchar username PK nvarchar UserGroupCode FK numeric subscriptionInfo_id FK } SubscriptionInfo { numeric id PK tinyint privateUse tinyint notForMarketing nvarchar purpose nvarchar postcode } SubscriptionOrder { numeric id PK nvarchar user_username FK nvarchar subscriptionPackage_code FK numeric schedule_id FK nvarchar paymentTerm_code FK nvarchar extractType datetime endSubscriptionDate datetime expiredDate numeric sum } SubscriptionPackage { nvarchar code PK nvarchar name numeric price } SubscriptionSchedule { numeric id PK nvarchar type int dayOfMonth int dayOfWeek } AdditionalDatasetOrder { numeric id PK numeric subscription_order_id FK nvarchar datasetName_code FK numeric sum } DatasetName { nvarchar code PK nvarchar displayName } SubscriptionInvoice { numeric id PK numeric subscriptionOrder_id FK numeric invoiceDocument_id FK numeric proformaDocument_id FK nvarchar invoiceStatus int instalment numeric total datetime paidDate } PaymentTerm { nvarchar code PK nvarchar name } InvoiceDocument { numeric id PK nvarchar number } UserRole ||--o{ UserGroup : broad_role UserGroup ||--o{ SystemUser : has_users SubscriptionInfo o|--o{ SystemUser : subscriber_details SystemUser ||--o{ SubscriptionOrder : places_orders SubscriptionPackage o|--o{ SubscriptionOrder : package SubscriptionSchedule o|--o{ SubscriptionOrder : delivery_schedule PaymentTerm o|--o{ SubscriptionOrder : payment_terms SubscriptionOrder ||--o{ AdditionalDatasetOrder : adds_datasets DatasetName o|--o{ AdditionalDatasetOrder : selected_dataset SubscriptionOrder ||--o{ SubscriptionInvoice : invoices InvoiceDocument o|--o{ SubscriptionInvoice : invoice_document InvoiceDocument ||--o{ SubscriptionInvoice : proforma_document

SubscriptionInfo

Business-friendly pattern:

For this subscriber user,
what purpose, address and use declarations were recorded?

SubscriptionOrder

Business-friendly pattern:

For this subscriber user,
what subscription package, delivery schedule and payment term were ordered?

AdditionalDatasetOrder

Business-friendly pattern:

For this subscription order,
which additional datasets were ordered?

SubscriptionInvoice

Business-friendly pattern:

For this subscription order,
what invoice or proforma document was raised,
and what payment status was recorded?

Reading This Diagram

Use this model as a retired-subdomain reference. It should not drive current access-control design unless the subscriber business process is explicitly reinstated.