User Journey: Manage market data subscriptions

Table of Contents

This page documents a user journey: A party administrator decides which providers a party takes, with which rights, and which source serves each provider, sees the usage and cost, and reads who changed it.

A user journey describes what one person is trying to do, before anything is built. It is a design document that outlives any sprint, so it names the screens, the entity fields each screen shows, and the operations and messages each step needs.

1. Goal

"I want to say which providers of market data my party takes, to choose where each provider's data comes from, and to see what that costs, without asking someone to run a script." The journey is done when the person has a subscription for each provider the party needs, each subscription has a route to a source, and the person can read the usage and the bill of each.

2. Actor and trigger

The actor is the party administrator. Reading needs marketdata::subscriptions:read. Changing a subscription or a route needs marketdata::subscriptions:write. Deleting needs marketdata::subscriptions:delete. The system administrator has the same screens for any party, and the Keep the market data sources running journey covers the system's view of the sources.

The trigger is one of four events. A party is new and has no market data. A desk needs a provider's data. A development party must move to a live source for prelive testing. A bill is higher than expected and the person looks for the cause. The journey starts at Market data, then Subscriptions, and ends when the person leaves the screen.

Three facts shape the screens.

3. Steps

The screens are the record screens of the Record screen standard: a list, a record page with the tabs Details, Usage and History, and dialogs for add, edit and delete. This journey adds no layout of its own.

  1. List the subscriptions. The person opens Market data and then Subscriptions. The system lists the party's subscriptions: provider first, then rights, the routed source with its kind badge, the state of the source, whether the subscription is enabled, and when the source last ticked for the party.
  2. Search and filter. The person searches by provider or source and filters by source kind. A search that matches nothing says so and offers to clear it.
  3. Open a subscription. A click on a row opens the record page on its Details tab. The system shows the provider, the rights, the period, the route, the source's kind and state, and who last changed it, when and why.
  4. Add a subscription. The person chooses Add. The dialog asks for the provider, chosen from the catalogue, the rights, and the period. The new subscription routes to the provider's default source. The system opens its page.
  5. Change the rights. The person chooses Edit. A right that a composite or a demand needs cannot be removed, and the dialog names the user of the right.
  6. Change the source. The person chooses Change source on the route. The dialog lists the provider's sources with kind badge and state, asks for an effective date and a reason, and says that the series and the consumers stay as they are. See A source switch changes one route and nothing else. A source that is not ready is not offered.
  7. Read the usage. The person opens the Usage tab. The system shows demand, deliveries and the bill by period. For a simulated source the bill is a shadow bill, and the tab says so. See A rate card on the source turns usage into a bill the platform shares.
  8. Suspend or delete. The person clears Enabled to suspend delivery, or deletes the subscription. Delete names what is lost: delivery stops, and the series and the history stay.
  9. See who changed a subscription. The person opens the History tab, the shared timeline of the Entity screen specification. The route changes appear in the same timeline. Revert is offered on an older version to a person who may write.
  10. Leave. The person goes back to the Market data area.

4. Screens and wireframes

The list and the record page of the standard, and dialogs for add, edit and change source. The wireframe and the prototype are still to be drawn.

5. Entities composed

Entity What it contributes
market_data_subscription The party, the provider, the rights and the period
market_data_route The source that serves the subscription, with its period
market_data_source The source's name, kind, state and rate card
provider The provider and its default source
market_data_usage Demand, delivery and cost events

6. Operations and messages

Step Operation Subject Status
List, read List and read subscriptions marketdata.v1.subscriptions.list, .get planned
Add, edit, delete Write and delete a subscription marketdata.v1.subscriptions.put, .delete planned
Change source Write a route marketdata.v1.routes.put planned
Change source List the sources of a provider marketdata.v1.sources.list planned
Read the usage List usage by period marketdata.v1.ops.list_usage planned
See who changed List and read versions marketdata.v1.subscriptions_versions.list, .get planned

7. Related journeys

8. Related knowledge

Emacs 29.3 (Org mode 9.6.15)