New customer purchases Sky subscription with discount
This guide details the journey for a new customer subscribing to Sky using Direct Debit with a discount applied. You'll find both the customer-facing flow and system-level sequence, complete with API endpoint paths and CRM/contract event mappings. Use it to align the UX journey with backend specifications — and contact us if you’d like enhanced Postman or Swagger definitions for integration testing.
Customer perspective
%%{init: {
"theme": "neutral",
"look": "classic"
}}%%
flowchart TB
A(["Start"]) --> B{"queryIfUserNameExists"}
B -- Yes --> C["Route to existing customer login"]
B -- No --> D["registerCustomer"]
D --> E["Validate VCN<br>Ensure first line of address, postcode, and viewing card number captured for Sky validation"]
E --> F["getCatalogue<br>View product catalogue<br/>filtered by country and itemType"]
F --> G["createPaymentMethod"]
G --> H["addItemsToCart<br>VCN must be provided"]
H --> I["setCartDiscountCode"]
I --> J["checkoutCart"]
J --> K(["End"])
System perspective
%%{init: {
"theme": "neutral",
"look": "classic"
}}%%
sequenceDiagram
participant C as Customer
participant W as Web
participant CRS as CustomerRegistrationService
participant CAS as ConditionalAccessService
participant Cat as CatalogueService
participant Pay as PaymentService
participant Cart as CartService
C->>W: Start
W->>CRS: queryIfUserNameExists
alt Username exists
W-->>C: Route to existing customer log in
else Username not found
W->>CRS: registerCustomer
CRS-->>W: success
W->>CAS: Validate VCN
Note right of CAS: Capture first line of address,<br/>postcode and viewing card number<br/>for Sky validation
CAS-->>W: VCN validated
W->>Cat: getCatalogue
Cat-->>W: catalogue items (filtered by country and itemType)
W->>Pay: createPaymentMethod
Pay-->>W: Direct Debit payment method created
W->>Cart: addItemsToCart
Note right of Cart: VCN must be provided
Cart-->>W: items added
W->>Cart: setCartDiscountCode
Cart-->>W: discount applied
W->>Cart: checkoutCart
Cart-->>W: checkout complete
end
W-->>C: EndUpdated about 2 months ago
