CLIENT: Tinteiro e Pião🇵🇹Portugal

Postigo - Click and Collect Platform for a 22-Store Lisbon Retailer

Order Online, Pick Up in Store, for a Portuguese Retailer

Designed and built a clickable head office console for a Lisbon retailer of books, stationery and toys with 22 stores: an SLA dashboard that shows whether every store keeps its pickup promises, every order with its lines, payments and pickup history, an exceptions queue shared with the stores, and refunds for missing items with approval limits.

Scope of Work
Product design, UI build and clickable demo
Industry
Retail / Click & Collect
Enterprise
Compliance & Certifications
GDPRLaw 58/2019 (Portugal)Decree-Law 24/2014PSD2 SCAAT-certified invoicing (ATCUD)Livro de ReclamaçõesEuropean Accessibility ActWCAG 2.1 AA

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

SLA dashboard, all orders, order detail with 5 tabs, exceptions and refunds. Every one of the 30 demo orders opens its own detail page, and the store filter works on every screen.

22 Stores
One SLA table

Orders, queue, late orders, order-to-ready minutes for slots and ready-in-2-hours, fill rate, uncollected, curbside wait and capacity used per store, with late or below-target cells highlighted.

€50 Limit
Automatic refunds, then approval

Refunds for not-found lines up to €50 go out automatically. Anything above that, and every goodwill refund, waits for approval by a different user from the one who created it.

30 Orders
Realistic demo data

30 orders across counter, locker and curbside pickup, 24 products, 20 shoppers, 16 refunds and 12 exceptions, set on a back-to-school Wednesday.

The Problem

Tinteiro e Pião's website showed one national stock figure, so shoppers ordered books their local store did not have. Orders reached stores as emails that staff printed, a missing item meant a phone call the shopper often missed, nobody knew which orders were ready, and refunds for missing lines were worked out by hand at head office days later. About one order in six was short or late.

Our Solution

Postigo covers click and collect from the shopper's order to the counter handover. In the head office console, operations staff see whether each store is keeping its pickup promises today, open any order with its lines, substitutions, payments and pickup history, clear exceptions with the stores and approve refunds within fixed limits.

The Challenge: Keeping 22 Stores' Pickup Promises

Click and collect joins the shopper's checkout, a store's shelves and staff, and head office's money and policy. In Portugal it also has to respect consumer, payment, invoicing and data protection rules on every order.

Promises Nobody Could See

Each order promises a pickup slot or "ready in 2 hours". Without a view across stores, head office could not tell which stores were running late, short of stock or at full capacity until shoppers complained.

Missing Items and Substitutions

A missing book can be substituted, refunded or left for the shopper to decide. Each choice changes what the shopper pays, and the shopper must never pay more than they ordered for the line.

Refunds Across Payment Methods

Shoppers pay by card with 3-D Secure, MB WAY, Multibanco reference or at the store. A Multibanco refund needs the shopper's IBAN, a pay at store order has no online payment to refund, and credit notes must come from AT-certified billing software.

Pickup Without Oversharing

A shopper can send someone else to collect, and some items need an ID check at handover. The GDPR and Portugal's Law 58/2019 mean storing only what fulfilment needs: a name and phone, never an ID document number.

Our Approach: From Pickup Rules to a Clickable Console

01

Spec and Rules Research

Mapped 8 roles, 40 screens across the shopper flow, the store picking app and the head office console, and the data model for stores, slots, orders, lines, substitutions, payments, refunds, handovers, lockers and exceptions. Wrote down the rules the design follows: the GDPR and Law 58/2019, the 14-day withdrawal right under Decree-Law 24/2014, pre-contract information, AT-certified invoicing with ATCUD, the Livro de Reclamações, PSD2 strong customer authentication and the European Accessibility Act.

02

Clickable Demo on a Production UI Kit

Built the head office console's 5 key screens on a production dashboard kit: the SLA dashboard with KPI cards, the stores table, orders by hour against slot capacity and a reduce capacity modal, all orders with filters and a quick view panel, order detail with lines, payment, pickup, notifications and timeline, the exceptions queue with a comment thread, and refunds with approve, reject and retry. All actions run on local state.

03

What a Production Build Adds

The 12 shopper screens and 11 picking app screens for Zebra handhelds, and the console's store settings, calendar, reports and settings pages. Integration with card payments (Adyen or Stripe), MB WAY and Multibanco through SIBS, per-store stock sync, the AT-certified till, Cleveron or Quadient lockers, SMS, email and push. Staff sign-in by role and an append-only audit log.

Why It Works: Every Promise and Every Euro Accounted For

Promises Measured Per Store

On time ready means ready by the promised time, and each KPI is compared with the same weekday last week. Late or below-target cells are highlighted in the stores table, and a store at full capacity can have today's capacity reduced in one step.

Refunds Need a Second Person

Approve is blocked for the refund's creator, a Multibanco refund sends the shopper a secure form for their IBAN, and credit notes come from the certified billing system rather than from Postigo.

Substitutions the Shopper Controls

Each line carries the shopper's preference: ask me, allow a similar item, or don't substitute. A substitute is never priced above the ordered item, and the order shows the price difference refunded and the time the shopper must answer by.

Only the Data Pickup Needs

Phone numbers are masked in the console, a pickup person is stored as a name and phone only, and an ID check records that it passed, not the document. Changing the pickup person issues a new code version and revokes the old one.

Related case studies

View all: Retail & POS
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab