New customer purchase Sky subscription with discount using multi-use promo code
This guide details the journey for a new customer subscribing to Sky with a discount applied via a multi-use promo code. 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 filtered by country and itemType"] F --> G["getAvailableDiscounts<br>Present discounts linked to salesItem"] G --> H["createPaymentMethod"] H --> I["addItemsToCart<br>VCN must be provided if required by sales item"] I --> J["setCartDiscountCode"] J --> K["checkoutCart"] K --> L(["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->>Cat: getDiscounts Cat-->>W: available discounts (filtered by salesItem) W->>Pay: createPaymentMethod Pay-->>W: Direct Debit payment method created W->>Cart: addItemsToCart Note right of Cart: VCN must be provided if required<br/>by the sales item details Cart-->>W: items added W->>Cart: setCartDiscountCode Cart-->>W: discount applied W->>Cart: checkoutCart Cart-->>W: checkout complete end W-->>C: End
Updated 11 days ago