Category: Saclab

  • Release Notes – Saclab General – 26.08 Release – Aug 28 15:56

    How to use this page:

    Find your selected Jira issues in the table below. Select the expand to use them as your source of truth to write release notes.

    Release

    https://cheitgroup.atlassian.net/projects/SCLB/versions/11277

    Date

    Version

    26.08 Release

    Description

    Contributors

    Alexander BöhringerAnna Nikitina

    Issues in this release

    Before you share the page, review the contents of each Jira issue and remove any sensitive data.

    Issue

    Summary

    Issue Type


    SCLB-1549

    [Marketing] Add limitation 10 amount for images

    Task


    SCLB-1548

    [SEO] Review microdata fix

    Task


    SCLB-1540

    [SEO] Implement pagination for Google bots

    Task

    Summary

    New Features

    Improvements to existing features

    Bug fixes

  • Release Notes – Saclab General – 18.08 Release – Aug 25 09:13

    How to use this page:

    Find your selected Jira issues in the table below. Select the expand to use them as your source of truth to write release notes.

    Release

    https://cheitgroup.atlassian.net/projects/SCLB/versions/11344

    Date

    Version

    18.08 Release

    Description

    Contributors

    Dima Savchenko (WP)Alexander Böhringer

    Issues in this release

    Before you share the page, review the contents of each Jira issue and remove any sensitive data.

    Issue

    Summary

    Issue Type


    SCLB-1520

    Migrate WP checkout CRONs to server

    Task


    SCLB-1441

    Story 51.5 Payment Link Failure Handling for On Hold Orders

    Task

    Summary

    New Features

    Improvements to existing features

    Bug fixes

  • Story 28.5 Story: Exotic-Leather Checkout Flow – EU Shipping Pop-Up & Streamlined Address Handling

    General info

    We want non-EU customers (e.g., Switzerland, UK, US) to successfully complete checkout for exotic-leather items by shipping to an EU address (e.g., France). The flow should guide them clearly, reduce friction, and increase conversion when EU shipping is possible.

    Current struggle

    At the moment, non-EU customers who want to buy exotic-leather bags face a confusing checkout flow. After the pop-up, they must first tick “Ship to a different address,” manually complete the shipping section, and then go back to re-enter their billing details. This creates unnecessary friction, increases the chance of abandonment, and lowers the likelihood that they complete the purchase even if EU shipping would actually be possible.

    User story

    As a customer outside the EU,

    I want a clear prompt and a guided path to enter an EU shipping address (while keeping my non-EU billing address),

    so that I can place the order successfully when shipping to the EU is allowed.

    Acceptance Criteria

    #

    Scenario / Gherkin

    Notes / Visual

    01

    Scenario: Pop-up appears for exotic leather + non-EU billing

    Given the cart contains at least one exotic-leather item
    And the billing country is outside the EU

    When the user lands on the checkout

    Then a pop-up appears with title “Please note,”…

    already existing

    Bildschirmfoto 2025-08-21 um 13.53.07.png

    02

    Scenario: “Change shipping address” guides the user

    Given the pop-up is shown

    When the user clicks Change shipping address

    Then the system leaves the non-EU billing country in the billing address dropdown
    And the system automatically checks “Ship to a different address”
    And scrolls to Shipping › Country / Region
    And focuses the country dropdown
    And shows the inline helper “Select a shipping country within the European Union.”

    Billing country remains unchanged (non-EU).https://app.box.com/s/owoeqh8m72ts5l7bm5ccm3qm51oqdz2d https://app.box.com/s/929u6pom5e02cxgk1tlxlbeon7tcaus7

    03

    Scenario: Non-EU countries disabled in Shipping

    Given an exotic-leather item is in the cart

    When the user opens Shipping › Country / Region

    Then only EU countries are selectable
    And non-EU options are disabled/greyed (visible but not selectable).

    Keep full list for clarity; disable instead of removing.

    04

    Scenario: Server validation enforces EU shipping

    Given an exotic-leather item is in the cart
    And the shipping country is empty or non-EU

    When the user clicks “Place order”

    Then the order is blocked with the inline error
    And focus returns to Shipping › Country / Region.

    function already existing

    05

    Scenario: Billing outside EU is allowed

    Given an exotic-leather item is in the cart
    And the billing country is non-EU

    When the user completes checkout with an EU shipping country

    Then the order proceeds normally.

    function already existing

    06

    Scenario: Mixed carts

    Given the cart contains any exotic-leather item

    When the user checks out

    Then the EU-only shipping rule applies to the entire order.

    function already existing

    07

    Scenario: “Shop other bags” exits flow

    Given the pop-up is shown

    When the user clicks Shop other bags

    Then the user is redirected to the bags listing page.

    function already existing

    Bildschirmfoto 2025-08-21 um 13.53.07.png


    Do you also want me to add a “Visual design” section (like in your other Confluence stories) with the pop-up copy and inline helper text summarized, so design and dev have it in one place?

  • Admin controls for pop-ups

    User Story
    As an admin, when I edit a page and leave all fields of a pop-up empty, the pop-up should not be displayed at all.

    Scenario: Admin leaves all fields in a pop-up empty
    Given I am logged in as an admin
    And I edit a page that has a pop-up (e.g saclab.com/sell)
    When I leave all fields of the pop-up empty
    And I save the page
    Then the pop-up should not be shown on the page

  • Release Notes – Saclab General – 12.08 Release – Aug 12 12:08

    How to use this page:

    Find your selected Jira issues in the table below. Select the expand to use them as your source of truth to write release notes.

    Release

    https://cheitgroup.atlassian.net/projects/SCLB/versions/11309

    Date

    Version

    12.08 Release

    Description

    Contributors

    Anna Nikitina

    Issues in this release

    Before you share the page, review the contents of each Jira issue and remove any sensitive data.

    Issue

    Summary

    Issue Type


    SCLB-1546

    [SEO] Static Pages

    Task

    Summary

    New Features

    Improvements to existing features

    Bug fixes

  • Release Notes – Saclab General – 07.08 Release – Aug 07 12:30

    How to use this page:

    Find your selected Jira issues in the table below. Select the expand to use them as your source of truth to write release notes.

    Release

    https://cheitgroup.atlassian.net/projects/SCLB/versions/11276

    Date

    Version

    07.08 Release

    Description

    Contributors

    Thư Phan

    Issues in this release

    Before you share the page, review the contents of each Jira issue and remove any sensitive data.

    Issue

    Summary

    Issue Type


    SCLB-1531

    Le registry traffic source (UTM)

    Task


    SCLB-1491

    Story 28.2 Purchase Flow: Speed and UI Improvements: Part 2

    Story

    Summary

    New Features

    Improvements to existing features

    Bug fixes

  • Story. 49.3 “Smart-Match B”: Product Title auto-sets Dropdowns

    General info

    Users enter a free-text Product Title (e.g. “Hermès Birkin 30 Etoupe Gold”). We use rule-based logic against our Airtable lists to auto-fill Brand, Model+Size, Color, and Material fields. We prioritize exact matches – no fuzzy corrections. Any attribute not matched stays blank for manual selection; all dropdowns include an Other option.

    Our Airtable source includes multilingual variants (English, German, French) from our Weglot data, so titles in any of these languages map back to a single English canonical value.

    This story covers the parsing logic only; dropdown UI behavior is in a separate story.

    Rules & Details

    1. Exact Matching with Exploration

      • Normalize title (lowercase, strip punctuation, normalize accents).

      • By default, match only full tokens or exact phrases from Airtable.

      • Explore optional high-confidence fuzzy or proximity matching (e.g., Levenshtein distance) for edge cases – but avoid guessing at the cost of accuracy.

    2. Attribute Dependencies

      • Model depends on detected Brand.

      • Size depends on detected Model (e.g., Birkin→sizes 25,30,35).

      • Color scoped to Brand (brand‑specific names first, then generic).

      • Material scoped to Brand (Hermès leathers vs. generic types).

      • Hardware parsing: detect terms like “Palladium”, “Gold‑plated”, “Gold Tone” – but be cautious since “Gold” may refer to either color or metal finish.

    3. Translations & Canonical Values

      • Airtable stores EN/DE/FR variants from Weglot; match any variant and save as the English canonical term.

    4. Other Fallback

      • If an attribute isn’t matched (or match confidence is low), leave it blank and let the user select manually. Always display Other as dropdown option.

    5. Analytics & Continuous Improvement

      • Log every title and parser result to an analytics table.

      • Review common misses and update Airtable data or matching logic over time.

    User Story

    As a seller,
    I want the system to auto-fill form fields from my title,
    So that I can list my bag faster and with fewer clicks.

    Visual design

    Desktop & Mobile:

    Step 1: Title input + Continue button. (will be new design)

    Step 2: Detailed form with: (existing design)

    1. Pre-filled fields for matched attributes

    2. Blank dropdowns (with Other) for unmatched ones

    3. Clear notice: “We’ve auto-filled these fields based on your title. Please review.”

    Acceptance Criteria

    #

    Scenario

    01

    Given a title with “Hermès”

    When parsed

    Then Brand = Hermès

    02

    Given title includes “Birkin 30”

    When parsed

    Then Model/Size = Birkin 30 and Brand=Hermes

    03

    Given title includes “Etoupe”

    When parsed

    Then Color = Etoupe and Brand=Hermes, as Etoupe is only a Hermes Color

    04

    Given title includes “Togo”

    When parsed

    Then Material = Togo

    05

    Given title in German (“Hermès Birkin 30 Weiß”)

    When parsed

    Then Color = White (English)

    06

    Given title term not in lists

    When parsed

    Then corresponding field remains blank and Other is available

    07

    Given title contains model but no brand

    When model uniquely matches a brand

    Then Brand inferred by model

    08

    Given parsing runs

    When completed

    Then record title + matched results to analytics for later review

    Future: Evaluate AI-enhanced parsing once we have sufficient analytics data.

  • Story. 49.2 “Smart-Match A”: AI Image upload and Data matching

    General info

    We are exploring a radically simplified flow for registering bags using AI. The idea is to let users upload images first (instead of filling dropdowns manually) and receive suggested bag data based on the uploaded content.

    Once images are uploaded, an AI process is triggered in the background. After approximately 10 seconds, the AI returns model suggestions, brand, size, material, and potentially serial number information. These suggestions are injected into our form fields as pre-filled values, which the user can then confirm or correct.

    The AI request may fail or be incomplete based on image quality or missing views. In those cases, the user receives a simple message asking them to improve their upload. We do not flag individual empty fields — we simply recommend better image quality or more images.

    The long-term goal is to reduce user friction, speed up submissions, and match bags accurately with our internal dropdown data. This story is focused on the AI-based upload flow and interaction, not on dropdown logic or data validation — that is handled in a separate story.

    Estimated request time: ~10 seconds per set of images. Costs and tokens per request should be evaluated.

    User story

    As a user

    I want to upload photos of my bag and get suggestions automatically

    So that I don’t have to manually fill out long dropdown forms

    Example User Images:

    sell_qnu63qqkj8cmdfvwb7d_1753270464_4.jpg

    sell_qnu63qqkj8cmdfvwb7d_1753270464_5.jpg

    sell_qnu63qqkj8cmdfvwb7d_1753270464_3.jpg

    sell_qnu63qqkj8cmdfvwb7d_1753270464_2.jpg

    sell_qnu63qqkj8cmdfvwb7d_1753270464_1.jpg

    Example Prompt:

    You are an expert in luxury handbags, especially Hermès, Chanel, Dior, and Bottega Veneta. You will be shown a set of 3–6 images of a single handbag.
    
    Your task is to identify the handbag and return your best structured guess in the following JSON format:
    
    {
      "brand": "",
      "brand_confidence": 0.0,
      "model": "",
      "model_confidence": 0.0,
      "size": "",
      "size_confidence": 0.0,
      "material": "",
      "material_confidence": 0.0,
      "hardware": "",
      "hardware_confidence": 0.0,
      "color": "",
      "color_confidence": 0.0,
      "serial_stamp_location": "",
      "stamp_confidence": 0.0,
      "notices": []
    }
    
    Confidence values must range from 0.0 to 1.0 and reflect your certainty in each prediction.
    
    Only fill in values where you are reasonably confident (e.g. above 0.5). If unsure, leave the value blank but still include a confidence score (e.g. 0.2). Avoid guesses.
    
    Model names should follow structured naming like:  
    - `"Birkin 25"`  
    - `"Picotin Lock 18"`  
    - `"Classic Flap Medium"`  
    - `"Saddle Bag"`
    
    For Hermès, if the stamp is visible, describe its location (e.g. “Interior base”) and include that in `serial_stamp_location`.
    
    The output is meant to pre-fill dropdown fields for a resale listing. It should be short, structured, and help reduce manual work.
    
    If any part of the bag isn’t clearly visible (e.g. hardware is covered, interior is dark), include a note in `notices`.
    
    Return only the JSON and nothing else.

    Example AI output gpt 4o vision:

    {
      "brand": "Hermès",
      "model": "Picotin Lock",
      "size": "18",
      "combined_model": "Picotin Lock 18",
      "material": "Clemence",
      "color": "Craie",
      "hardware": "Gold",
      "stamp_or_serial_hint": "Interior embossing visible (HERMÈS PARIS MADE IN FRANCE)",
      "confidence_scores": {
        "brand": 1.0,
        "model": 0.95,
        "size": 0.9,
        "material": 0.85,
        "color": 0.8,
        "hardware": 0.95
      },
      "feedback": "If any detail seems incorrect, you can update it manually before submission."

    Visual design:

    Desktop:

    • Full-width upload box with drag-and-drop & preview

    • Feedback animation and result step

    Mobile:

    • Large tap zone to add files

    • Loader animation and compact result fields

    Acceptance criteria

    #

    Gherkin scenario

    01

    Given a user is on the bag registration page
    When they reach Step 1
    Then they see an upload interface to upload photos of the bag (already existing)

    02

    Given images are uploaded
    When the upload completes
    Then an animated loader appears and AI analysis starts (e.g. "Analyzing your bag…")

    03

    Given AI analysis takes up to 10 seconds
    When complete
    Then show pre-filled fields based on AI response (brand, model+size, hardware, material, color)

    04

    Given the user receives pre-filled results
    When they view them
    Then they can adjust/correct the fields if needed

    05

    Given confidence is too low or image quality is poor
    When AI cannot detect required info
    Then user sees a message like: "We couldn’t identify your bag – try uploading clearer photos or showing the serial stamp."

    06

    Given brand/model/size are suggested
    When they are returned from AI
    Then the dropdowns auto-select matching values (if found in internal DB)

    07

    Given color/hardware/material are suggested
    When confidence is high
    Then fields are pre-selected using same dropdown logic as manual flow

    08

    Given a serial number or stamp appears in image
    When AI detects location or number
    Then store that data (even if not exposed yet to frontend)

    09

    Given the user continues to the next step
    When fields are confirmed
    Then they proceed to review/submit just like the standard flow

    10

    Given image upload comes first
    When the flow is loaded
    Then Step 1 is now Upload — and Step 2 is Details Review

    Notes for dev estimation

    • AI response format should be JSON, containing keys for: brandmodelsizehardwarecolormaterial, optionally serial_number, and a confidence_score

    • Match to internal dropdown values must be exact or fuzzy (e.g. Birkin 30 vs. Birkin 30cm)

    • No user-generated values here — the system always suggests known internal matches, or asks the user to improve image quality

    • Expected model: GPT-4 Vision or similar (test in playground if needed)

    • Cost & latency TBD (est. ~10 seconds per request, ~2000–3000 tokens, priced by OpenAI plan)

    • Future exploration: combine vision with live web lookup or product matching — not yet in scope

  • Story. 49.1 Updated Dropdown Enhancements

    Sell Your Bag – Dropdown Enhancements Story

    General info

    Optimize dropdowns on the Sell Your Bag form by enhancing existing inline dropdowns:

    • Search-as-you-type within dropdowns; matches highlighted in bold (e.g., typing “handle” shows Timeless Handle)

      • Substring matching functionality – match any part of the option text

    • Option ordering: brand-specific entries first, then general entries, and always leave Other at bottom (remove redundant “I don’t know” option)

    • Replace “I don’t know” with “Other” and keep existing function to always show it when there is no match

    • Cascading logic (already in place): Model+Size filtered by Brand; Color and Material filtered by Brand

    • Optional: Combine Model+Size into one dropdown (entries like “Birkin”, “Birkin 25”, “Birkin 30”)

    • New Hardware dropdown with brand-specific finishes (Palladium, Gold Tone, Silver Tone, Ruthenium)

    User story

    As a seller,
    I want dropdowns that filter instantly and highlight matches,
    So that I can fill fields quickly without unnecessary scrolling or extra options.

    Flow overview

    1. Tap a dropdown field—list expands inline beneath the input.

    2. Type in the search box at top of dropdown; keyboard opens only when typing.

    3. Options filter by substring; matching portion of each entry is bolded for clarity.

    4. Ordering: brand-specific options appear first, followed by general options, then Other.

    5. Hardware field: brand-specific finishes listed.

    6. (Optional) Model+Size field combines model and size entries, e.g., “Birkin”, “Birkin 25”, “Birkin 30”.

    7. Select an option; dropdown closes and field populates.

    Acceptance criteria

    #

    Scenario

    01

    Given I type “handle” in any dropdown

    When filtering

    Then “Timeless Handle” appears with handle bolded

    06

    Given no options match searc

     When filtering

    Then only Other remains visible

    Future: Use analytics to refine option lists and consider AI enhancements.

  • Epic. 49 SYB rework UX improvements for easier submissions

    General info

    We’re overhauling the Sell Your Bag flow to boost submissions, reduce friction, and prepare for future AI‑enhanced matching. This Epic covers three parallel stories:

    1. 49.1 Updated Dropdown Enhancements
      Improve existing dropdowns with real‑time substring search, bolded matches, proper ordering, and a new hardware field.

    2. 49.2 Smart‑Match A: AI Image Upload & Data Extraction
      Radical variant: user uploads bag images first, AI analyzes photos (brand, model, size, serial) and pre‑fills form fields for quick confirmation.

    3. 49.3 Smart‑Match B: Title Parser & Auto‑Fill
      Rule‑based variant: user types a single free‑text product title; the system parses and auto‑sets Brand, Model+Size, Color, Material.

    We can implement either Smart‑Match A or B – or combine both in future – with dropdown fallbacks to ensure price calculations and user confirmations remain accurate.

    User story (Epic level)

    As a bag owner
    I want a fast, intuitive listing process – whether through improved dropdowns, AI‑assisted image parsing, or smart title parsing –
    So that I can register or sell my bag with minimal effort and high confidence in the details.

    Acceptance criteria (Epic)

    1. Dropdown enhancements are live, reducing average form‑completion time by ≥30%. Note: Can we track that in GA4?

    2. Smart‑Match A: AI prototype processes images and pre‑fills ≥70% of fields correctly in user testing.

    3. Smart‑Match B prototype parses free‑text titles and pre‑fills ≥70% of fields correctly in user testing.

    4. Any unmatched fields default to the enhanced dropdown UI (Story 49.1).

    5. All relevant UX changes validated on both desktop and iOS mobile.

    6. (Data from both Smart‑Match variants logs mismatches for analytics and iterative improvement.)

    Notes & future exploration:

    • We must retain dropdown fallbacks to support price-calculator dependencies.

    • Recording user interactions and mis‑matches will guide AI‑enhanced refinements.