Changes for page How-To: Bulk/Group Subscriptions
Last modified by Admin User on 2026/09/02 09:31
From version 8.1
edited by Admin User
on 2026/09/02 09:31
on 2026/09/02 09:31
Change comment:
There is no comment for this version
To version 1.1
edited by Admin User
on 2026/09/02 09:30
on 2026/09/02 09:30
Change comment:
Changed document syntax from [XWiki 2.1] to [xwiki/2.1].
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 5 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,0 @@ 1 -How-To: Bulk/Group Subscriptions - Content
-
... ... @@ -1,190 +1,0 @@ 1 -= 1. Overview = 2 - 3 -Group and bulk licenses allow an organization to purchase multiple subscriptions under a single agreement. The purchaser pays once for N seats, and those seats are distributed to individual recipients. 4 - 5 -Two license models are supported: 6 - 7 -* Managed seats — The organization buys N seats. A group admin assigns and unassigns members. Seats can be transferred between users. Think: corporate site license with a roster. 8 -* Bulk individual — The purchaser provides a recipient list. Each recipient gets a standalone subscription. Think: a school buying 200 copies for students. 9 - 10 -[[image:fulfillment-group-bulk-licenses_a6f51be53df57a8d.png||height="430" width="586"]] 11 - 12 -//The Group Licenses list showing four demo licenses with seat utilization bars and status indicators.// 13 - 14 -In this example, Skyward Aviation Academy has a managed-seat license with 4 of 10 seats assigned (green bar). Clearwater Flight School has a fully provisioned bulk license at 25/25 (red bar). AeroTech Corp is at full capacity (5/5). Sunset Wings LLC is an expired license. 15 - 16 -= 2. License Types = 17 - 18 -== 2.1 Managed Seats == 19 - 20 -When a managed-seat license is created, the system pre-creates N unassigned seat rows. A group admin can then assign each seat to a specific user (OCID). Key characteristics: 21 - 22 -* Seats can be assigned, unassigned, and transferred 23 -* The purchaser is automatically made the group admin (owner role) 24 -* Additional admins can be added with “manager” role 25 -* Seat counts can be increased or decreased (resize) 26 -* Each assignment creates a real subscription for the assignee 27 - 28 -== 2.2 Bulk Individual == 29 - 30 -Bulk individual licenses create standalone subscriptions for a list of recipients. Once provisioned, each recipient has an independent subscription. Key characteristics: 31 - 32 -* Recipients can be provisioned via CSV upload or OCID list 33 -* Each recipient gets their own gcn_transactionlog entry 34 -* Subscriptions are independent — cancelling the license does not affect already-provisioned recipients 35 -* The license tracks seat counts for administrative purposes 36 - 37 -= 3. Creating a Group License = 38 - 39 -Navigate to Fulfillment › Group Licenses. Click the red “Create License” button to open the creation modal. 40 - 41 -[[image:fulfillment-group-bulk-licenses_ba0c4d5b8a553f45.png||height="411" width="586"]] 42 - 43 -//The Create License modal with license type, organization name, seat count, and product-or-package selection.// 44 - 45 -|**Field**|**Required**|**Description** 46 -|**License type**|Yes|Managed seats or Bulk individual 47 -|**Organization name**|No|Display name for the organization (e.g., “Skyward Aviation Academy”) 48 -|**Purchaser OCID**|Yes|The OCID of the person/organization paying 49 -|**Total seats**|Yes|Number of seats to create 50 -|**Product or Package**|Yes|Select a product or package from the dropdown (grouped by type) 51 -|**Term**|Yes|Select the term — cascades from the selected product or package 52 -|**Publication**|No|The fulfillment publication 53 -|**Start date**|Yes|License start date (defaults to today) 54 -|**End date**|No|License end date (empty = perpetual) 55 -|**Auto-renew**|No|Whether to auto-renew when the license expires 56 - 57 -= 4. Seat Management = 58 - 59 -Click the seat management icon (≡) on any managed-seat license row to open the seat detail page. This page shows all seats, their assignment status, and available actions. 60 - 61 -[[image:fulfillment-group-bulk-licenses_ea2f270345ce269.png||height="430" width="586"]] 62 - 63 -//Seat management for Skyward Aviation Academy — 4 assigned seats and 6 unassigned, with assign/unassign controls.// 64 - 65 -== 4.1 Assigning a Seat == 66 - 67 -For unassigned seats, enter the recipient’s OCID and click the assign button. The system will: 68 - 69 -* Create a subscription record for the recipient 70 -* Update the seat status to “assigned” 71 -* Increment the used_seats counter on the license 72 -* Log an adds/removals event with reason code GROUP_SEAT_ASSIGNED 73 - 74 -== 4.2 Unassigning a Seat == 75 - 76 -For assigned seats, click the unassign button. The seat returns to the available pool and the used_seats counter decrements. An adds/removals event is logged with reason code GROUP_SEAT_REMOVED. 77 - 78 -== 4.3 Transferring a Seat == 79 - 80 -Enter a new OCID and click the transfer button. This atomically unassigns the old user and assigns the new one. Two adds/removals events are logged: GROUP_SEAT_TRANSFER (removal) and GROUP_SEAT_ASSIGNED (addition). 81 - 82 -== 4.4 Resizing == 83 - 84 -The license can be resized (total seats increased or decreased). The system will not allow reducing below the current used_seats count. New seats are pre-created as unassigned rows for managed-seat licenses. 85 - 86 -= 5. Bulk Individual Provisioning = 87 - 88 -For bulk individual licenses, use the bulk seat assignment endpoint to provision recipients in batch. Two input methods are supported: 89 - 90 -* CSV file upload — The CSV must have an “ocid” column header. Each row creates a subscription. 91 -* Comma-separated OCID list — Enter OCIDs directly in the input field. 92 - 93 -Each provisioned recipient is logged with reason code BULK_GROUP_NEW. 94 - 95 -= 6. Group Admins = 96 - 97 -Group admins are users authorized to manage seat assignments for a specific license. There are two roles: 98 - 99 -|**Role**|**Description** 100 -|**Owner**|Full management access. The purchaser is automatically added as owner. Cannot be removed from the admin panel. 101 -|**Manager**|Can assign, unassign, and transfer seats. Can be added or removed by other admins. 102 - 103 -Group admins are managed from the seat detail page under the “Group Admins” section. 104 - 105 -= 7. License Lifecycle = 106 - 107 -|**Status**|**Description** 108 -|**Active**|License is in effect. Seats can be assigned/unassigned. 109 -|**Expired**|License end_date has passed. A daily cron job (group_license_expiry.php) transitions active licenses to expired and unassigns all seats. 110 -|**Cancelled**|Manually cancelled by an admin. All active seats are unassigned. 111 -|**Suspended**|Temporarily suspended (e.g., for non-payment). Seats remain assigned but may not grant new access. 112 - 113 -Auto-renewal: If the auto_renew flag is enabled, the expiry cron job will attempt to renew the license via Stripe using the purchaser’s stored payment method. 114 - 115 -= 8. Reporting = 116 - 117 -Group license recipients have real subscriptions and appear in all standard fulfillment reports. The subscription_source field distinguishes group subscriptions from individual ones: 118 - 119 -* RPT-01 — Group recipients counted by classification. Optional source breakdown available. 120 -* RPT-09 — Group-specific reason codes appear in the adds/removals report. 121 -* RPT-19 — Group recipients with valid addresses appear in the mail file. 122 - 123 -= 9. Setup & Configuration = 124 - 125 -Navigate to Fulfillment › Setup › Group License Settings to configure: 126 - 127 -|**Setting**|**Default**|**Description** 128 -|**Enable group licenses**|Off|Master toggle for the group license feature 129 -|**Maximum seats per license**|1000|Upper limit on seats per license 130 -|**Default license duration (days)**|365|Default duration when end_date is not specified 131 - 132 -= 10. Permissions = 133 - 134 -Group license management requires the FULFILLMENT_GROUP_MANAGE permission module. Superadmin users automatically have access. 135 - 136 -FULFILLMENT_VIEW is sufficient for read-only access to the license list. Creating, cancelling, and managing seats requires FULFILLMENT_GROUP_MANAGE. 137 - 138 -Group admins (non-backend users) can manage seats for their own license without needing the FULFILLMENT_GROUP_MANAGE backend permission. This is controlled by the fulfillment_group_license_admin table. 139 - 140 -= 11. Subscriber Self-Service (Seat Manager Portal) = 141 - 142 -Group admins do not need access to the ONEcount admin panel to manage their organization’s seats. A dedicated subscriber-facing page lets them log in with their regular ONEcount credentials and manage seats directly. 143 - 144 -== 11.1 Accessing the Seat Manager == 145 - 146 -The seat manager portal is located at: 147 - 148 -//https:~/~/yoursite.onecount.net/onecount/flexreg/manage-seats.php?brand=YOURBRAND// 149 - 150 -Group admins can be directed to this URL via email, a link on your website, or from their subscriber profile page. They must be logged in with the same ONEcount account that was designated as a group admin (owner or manager role) for the license. 151 - 152 -== 11.2 My Group Licenses == 153 - 154 -After logging in, the group admin sees a list of all licenses they manage. Each license shows the organization name, license type, seat utilization, status, and date range. 155 - 156 -[[image:fulfillment-group-bulk-licenses_d2aa6c02ee324f44.png||height="366" width="586"]] 157 - 158 -//The subscriber-facing “My Group Licenses” view showing Skyward Aviation Academy with 4/10 seats used.// 159 - 160 -Click “Manage Seats” to open the seat assignment page for that license. 161 - 162 -== 11.3 Managing Seats == 163 - 164 -The seat detail page shows every seat in the license with its current assignment status and available actions: 165 - 166 -[[image:fulfillment-group-bulk-licenses_fe51b9919ebd7117.png||height="366" width="586"]] 167 - 168 -//Seat management for Skyward Aviation Academy — 4 assigned seats with Unassign/Transfer controls, 6 unassigned seats with Assign controls.// 169 - 170 -Available actions for group admins: 171 - 172 -|**Action**|**How**|**What Happens** 173 -|**Assign**|Enter the recipient’s OCID in an empty seat row and click Assign|A subscription is created for the recipient. The seat status changes to “Assigned.” 174 -|**Unassign**|Click Unassign on an occupied seat (confirmation required)|The seat returns to the available pool. The used-seats counter decrements. 175 -|**Transfer**|Enter a new OCID next to an occupied seat and click Transfer|The old assignee is removed and the new assignee gets the subscription in one step. 176 - 177 -== 11.4 What Group Admins Cannot Do == 178 - 179 -The subscriber self-service portal intentionally omits certain actions that are reserved for backend administrators: 180 - 181 -* Resize the license (change total seat count) 182 -* Cancel the license 183 -* Add or remove group admins 184 -* Change the license type, product, or dates 185 - 186 -These operations require the FULFILLMENT_GROUP_MANAGE backend permission and are performed from the admin panel’s Group Licenses page. 187 - 188 -== 11.5 Security == 189 - 190 -The seat manager uses the standard ONEcount subscriber authentication (cookie-based via ~_~_ocid). Authorization is checked on every request by verifying that the logged-in OCID appears in the fulfillment_group_license_admin table for the requested license. A subscriber who is not a designated group admin for a license cannot view or modify its seats.
- fulfillment-group-bulk-licenses_a6f51be53df57a8d.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -86.7 KB - Content
- fulfillment-group-bulk-licenses_ba0c4d5b8a553f45.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -104.8 KB - Content
- fulfillment-group-bulk-licenses_d2aa6c02ee324f44.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.1 KB - Content
- fulfillment-group-bulk-licenses_ea2f270345ce269.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -68.2 KB - Content
- fulfillment-group-bulk-licenses_fe51b9919ebd7117.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -66.3 KB - Content