Orders
Manage customer services through their whole lifecycle. Create, suspend, extend, transfer, upgrade and terminate orders.
An order is a service a customer owns, for example a game server, a VPS or a hosting account. It links the customer, the package and price they bought, and the service on the server connection. Find all orders under Admin → Orders, filtered by status.
Anatomy of an order
| Property | Description |
|---|---|
| Status | pending, processing, active, suspended, terminated or failed. See order statuses. |
| Package & price | What was bought, and on which billing cycle. |
| Due date | When the next renewal is due. One-time orders have none and never expire. |
| Prices | The base price plus a line for each configurable option, stored as daily rates. |
| External ID | The ID of the service on the remote platform, for example the Pterodactyl server ID. |
| Auto balance renew | Whether the customer chose to renew automatically from their balance. |
| Members | Other users the owner invited to share access. |
The order page
Open any order to see its overview cards (customer, package, cycle, due date, status) and these tabs:
| Tab | Shows |
|---|---|
| General | Edit the owner, billing period and external ID. |
| Server | Server-specific details and the account created on the platform. |
| Prices | The base price and configurable option lines. |
| Payments | Every payment for this order: the first purchase, renewals and upgrades. |
| Email history | Emails sent about this order, and whether they were delivered or read. |
| Status logs | A timeline of status changes, with who made them. |
| Changelogs | Field-level audit of every change, with old and new values. |
| Incident logs | Errors from provisioning actions, with the file and line. Retry or resolve them here. |
Actions
Staff with admin.orders.perform_actions can run these from the order page:
| Action | What happens |
|---|---|
| Activate | For a pending order: provisions it right away instead of waiting for the queue. |
| Suspend | Calls the server extension's suspend method and sets the status to suspended. The customer gets an email. |
| Unsuspend | Reactivates the service and sets the status back to active. |
| Terminate | Deletes the service on the server and sets the status to terminated. This can't be undone. |
| Extend | Sets a new due date, for example to give a customer free days as compensation. |
| Transfer | Moves the order to another user by user ID. Both parties are notified. |
| Upgrade / Downgrade | Moves the order to another package price on the same server connection (see below). |
Create an order manually
Use this for migrations from another billing system, or to give a customer a service without a payment. Go to Admin → Orders → Create:
- Choose the user, package and price.
- Fill in any configurable options. A price breakdown is shown.
- Optionally set a custom due date. By default it's one cycle from today.
- Create Server Instance: turn this on to provision the service now. Turn it off when the service already exists on the server, for example during a migration.
- Email Order Details: send the customer an order confirmation.
Manually created orders count towards your license plan's order limit and lower the package's stock.
Upgrade or downgrade
Staff can move an order to a different package price with the Upgrade action. WemX:
- checks that the new package uses the same server connection, and
- checks that the server extension supports upgrades.
If both checks pass, it updates the order's package, price and cycle, and asks the server extension to resize the service. The change is recorded in the order's logs.
Order members (shared access)
Customers can invite up to five other people to an order by email, for example a co-owner of a game server. Invitees accept or decline from Order invites in their client area. Members can view the order, and the owner can remove them at any time. Invites aren't possible on terminated orders.
Failed orders
If provisioning throws an error, for example because the server is full or the API key is wrong, the order is set to failed and the error is saved in Incident logs. Fix the cause on the server or in the package's server settings, then click Try again on the incident. Mark incidents as resolved to keep the list clean.
Order changes, including changes made by the scheduler, are always logged with the user who made them. Use Changelogs and Status logs when a customer asks "why was my server suspended?".