Category: Saclab

  • Story 24.3. Disable Reservation Button

    General info

    The tooltip should display on hover for desktop users and on click for mobile users, and I should be able to edit the tooltip text in the backend.

    User story

    As an admin, I want to be able to disable the reservation button for bags on the website, so that when users try to reserve a bag, they see a blurred-out button with a tooltip indicating that the reservation function is unavailable.

    Acceptance criteria

    01

    Given: I am an admin on saclab.com

    When: I am on the admin panel

    Then: I have the option to disable the reservation function/button

    Screenshot 2024-10-07 at 10.51.53.png

    02

    Given: The reservation button is disabled by admin

    When the user views a product detail page (PDP) e.g https://saclab.com/bags/hermes-haut-a-courroies-40-togo-bleu-nuit/

    Then user sees that the reservation button is blurred out

    Screenshot 2024-10-08 at 00.25.19.png

    03

    Given: The reservation button is disabled

    When the user hovers (on desktop) or clicks (on mobile) on the reservation button

    Then user sees a tooltip stating that the reservation function is unavailable for now (text: Our reservation feature is paused during our Black Friday deals.)

    Screen Recording 2024-10-08 at 00.24.51.mov

    04

    Given an admin accesses the backend system

    When they navigate to the reservation settings

    Then they will be able to edit the tooltip text

  • Story 27.1. Coupon: BF2024 (Black Friday 2024)

    General info

    User story

    As a user, I want to apply a dynamic discount voucher so that I can receive a discount based on my cart total during the promotion period.

    Acceptance criteria

    01

    General voucher logic for BF2024

    Given the voucher "BF2024" is available

    When the user applies the voucher "BF2024"

    Then the voucher can only be applied once per user

    And the voucher cannot be combined with other promotions

    And the voucher is valid between 28.11 at 7 PM and 03.12 at 9 AM

    02

    Apply BF2024 voucher based on cart total

    Given the voucher "BF2024" is available and the user has a cart total of €2,000 to 4999€

    When the user applies the voucher "BF2024"

    Then the user receives a €200 discount

    03

    Given the voucher "BF2024" is available and the user has a cart total of €5,000 to 9,999€

    When the user applies the voucher "BF2024"

    Then the user receives a €300 discount

    04

    Given the voucher "BF2024" is available and the user has a cart total of €10,000 or more

    When the user applies the voucher "BF2024"

    Then the user receives a €500 discount

  • Story 10.4.1. My account’s breadcrumbs on mobile

    User story

    As a user of http://saclab.com , I want to see breadcrumb navigation in my account section on mobile devices, So that I can easily navigate

    Acceptance criteria

    01

    Given the user is logged into their account on a mobile device

    When: the user is in the sections under My Account such as:

    1. My wishlist

    2. My bag requests

    3. My orders

    4. My reservations

    5. Bags I’m selling (function already exists)

    6. My seller data

    7. My addresses

    8. My account settings

    9. Bring your friend

    Then: the breadcrumbs should be displayed at the top of the page

    And should show the following hierarchy: My account > respective section

    And “My account” should be clickable

    Screenshot 2024-10-05 at 12.56.00.png

    02

    Given the user is logged into their account on a mobile device

    When: The user clicks on “My account” breadcrumb

    Then: “My account” gets underlined

    AND: The My account navigation menu should be open (slide in)

    Screen Recording 2024-10-05 at 13.09.06.mov

  • Release Notes – Saclab General – Release 2.18.1 (03.10) – Oct 04 17:53

    How to use this page

    The release notes on this page have been generated using the Jira issues macro. Each column of the table represents one of the issue fields you selected to include when you created these release notes in Jira.

    To edit any of these fields:

    1. Select Edit or type e to edit this Confluence page.

    2. Select the Jira issues macro table and then select the edit icon.

    3. Select Display options to adjust the columns and number of issues that will appear in your table of issues.

    4. Select Insert to save your changes.

    Learn more about the Jira issues macro


  • Story 47.1. Bulk Bag Import to AirTable

    General info

    User story

    As a Creator on Saclab AirTable base
    I want to upload and manage bag/item details in bulk
    So that the sales process is streamlined faster and more efficient

    Flow

    image-20241003-094039.png

    Acceptance criteria

    01

    When I am a Creator on Saclab Airtable bases

    Then I can import CSV files or copy and paste bag details to “Import” table

    02

    Scenario: Upload Bag Item Details on “Import” AirTable

    Given: I am a Creator on Saclab Airtable bases and I have access to the CSV file with the correct template for bag upload

    When: I import the CSV file containing bag detail to “Import” table (or copy and paste the correct fields)

    Then: the system should add each bag to the "Import" table

    And the SKU should be set according to the CSV file provided (might not be the same format as ours) AND this does not mess up with our current SKU generation function

    AND if the SKU field is empty Then the SKU should be automatically generated

    And the shelf location should be determined from the CSV

    And other available details (e.g brand, model, price, contact, O/C (=drop-ship) etc.) should be set according to the csv file

    And there should be a field “Import to main table”

    Given: I am a Creator on Saclab Airtable

    When: I ticked on the filed “Import to main table”

    Then: Bag(s) is “moved” to the table “Saclab Inventory” (with all its available detail such as Brand, model, etc.)

    And the bag has status “Not Photographed”

    And a Deal is created on Hubspot with the associated contact and respective details

    And a product is created on WooCommerce (with private status) with respective details

    And the bag is shown in the seller’s “Bags I’m selling” section

    03

    Scenario: When the bag is sold (Drop-ship)

    Given: a bag with the O/C field set to “Drop-Ship”

    Then: the normal SYB flow does not apply to this bag and email such as “we have received your bag”, “we have updated the details of your bag”, etc. should not be sent to the seller

    When: this bag is sold

    Then: a message should be sent to the #bag-sales Slack channel indicating the sale as Bag sold: DROP-SHIP – SKU Bag name

    And an email should be sent to the appointed Partner Coordinator to inform them about the sale including the SKU, bag name, price sold etc. (specified more below)

    And an email should be sent to the external partner (set as contact) confirming the sale of the bag

    And the order should be recorded in the systems as a "normal" flow

    03.1

    When: this bag (in scenario 3) is sold

    Then an email should be sent to the external partner (set as contact) confirming the sale of the bag, this email should include

    Order Number:

    SKU:

    Payout:

    Payment status:

    + Awaiting Payment = if the order status is On Hold

    + Payment completed = order status is Processing

    + Payment canceled = order status is canceled

    Mailchimp: https://us12.admin.mailchimp.com/templates/edit?id=10086539

    Subject: Bag [SKU] has been sold

    03.2

    Given: this bag (in scenario 3) was sold and was awaiting payment (order status = on hold)

    When: the payment is received (order status reaches “Processing”)

    Then: an email should be sent to the external partner (set as contact) confirming the payment was received

    Subject: Bag [SKU] sale update – payment received

    Mailchimp template: https://us12.admin.mailchimp.com/templates/edit?id=10086540

    03.3

    Given: this bag (in scenario 3) was sold and was awaiting payment (order status = on hold)

    When: the order status changed to canceled (e.g 7 days passed and the payment did not arrive)

    Then: an email should be sent to the external partner (set as contact) confirming that unfortunately the sale of this bag failed and the bag is back online

    Subject: Order canceled for bag [SKU]

    Mailchimp template: https://us12.admin.mailchimp.com/templates/edit?id=10086541

    03.4

    Given: this bag (in scenario 3) is sold

    When the WooC Order Status is “pending payment”
    Then do not send the email “bag was sold” (in scenario 3.1) to the partner

    04

    Scenario: Remove Bag from Sale

    Given an email is received in the sales@saclab.com inbox from the external partner stating a drop-ship bag has been sold on their site

    When the email content bag’s SKU and name and that it has been sold

    Then the bag should be treated as it was removed by the seller (9.1) meaning the bag should be automatically moved to “Removed by seller” etc…

    Screenshot 2024-10-03 at 12.14.46.png

    05

    And for all other sales scenarios, the flow should follow our current processes

  • Release Notes – Saclab General – Release 2.17.1 (26.09) – Oct 02 18:09

    How to use this page

    The release notes on this page have been generated using the Jira issues macro. Each column of the table represents one of the issue fields you selected to include when you created these release notes in Jira.

    To edit any of these fields:

    1. Select Edit or type e to edit this Confluence page.

    2. Select the Jira issues macro table and then select the edit icon.

    3. Select Display options to adjust the columns and number of issues that will appear in your table of issues.

    4. Select Insert to save your changes.

    Learn more about the Jira issues macro


  • Story 26.1. Optimize URL Structure and SEO for filter “Brand+model” and “brand+bag-type”

    General info

    User story

    As a user of the Saclàb website,
    I want to apply filters for "Brand + Model" and "Brand + Bag-type" when browsing handbags,
    So that the URL reflects my selected filters in a clean and SEO-friendly way,
    And I can easily navigate through the filtered product lists for my preferred brand and bag type.

    Acceptance criteria

    01

    Scenario 1: Update URL for "Brand + Model" Filter

    Given the user is on saclab.com/bags
    When the user applies filters “Brand” + “Model” such as "Chanel" brand and "Chain Around" model
    Then the URL should update to /bags/chanel/chain-around
    And the filtered product list should be displayed based on the selected brand and model.

    example: https://app.box.com/s/sqnetp0b3k71j0uunbog8b2uvf32cj1q

    01.1

    And these URLs are fully crawlable, allowing search engines like Googlebot to access and index them through faceted navigation and relevant website areas.

    02

    Scenario 2: Update URL for "Brand + Bag-type" Filter

    Given the user is on saclab.com/bags
    When the user applies filters “Brand” + “Bag Type” such as "Chanel" brand and "Shoulder Bags" bag-type
    Then the URL should update to /bags/chanel/shoulder-bags
    And the filtered product list should be displayed based on the selected brand and bag-type.

    02.2

    And these URLs are fully crawlable, allowing search engines like Googlebot to access and index them through faceted navigation and relevant website areas.

    03

    Scenario 3: 301 Redirect for Old Dynamic URLs

    Given the old dynamic URLs for "Brand + Model" and “Brand+Bag Type” are still in use or indexed by search engines
    When a user or search engine bot tries to access an old dynamic URL (e.g. https://saclab.com/bags/?brand[]=chanel&model[]=chain-around)
    Then the system should implement a 301 redirect to the new static URL (e.g. /bags/chanel/chain-around)
    And the SEO value from the old URLs should be preserved.

    04

    Scenario 4: Ensure Canonical Tags for "Brand + Model" and "Brand + Bag-type" URLs

    Given the user or search engine bot accesses a page filtered by "Brand + Model" or "Brand + Bag-type"
    When the page is loaded (e.g., /bags/chanel/chain-around or /bags/chanel/shoulder-bags)
    Then the system should include a self-referencing canonical tag pointing to the same URL
    And this should prevent duplicate content from being indexed by search engines.

    05

    Scenario 5: Validate hreflang Tags for "Brand + Model" and "Brand + Bag-type"

    When a user or search engine bot accesses any language version of the page (e.g., /bags/chanel/chain-around, /de/bags/chanel/chain-around, /fr/bags/chanel/chain-around)

    Then the system should include appropriate hreflang tags for all three language versions of the page

    And these hreflang tags should ensure that users or search engine bots are directed to the correct language version of the page based on their location or language preference.

    06

    Scenario 6: Ensure Unique H1 Tags for Filtered Pages

    Given the user is viewing a product list filtered by "Brand + Model" or "Brand + Bag-type"
    When the page is loaded (e.g., /bags/chanel/chain-around or /bags/chanel/shoulder-bags)
    Then the H1 tag should be unique and descriptive, such as "Chanel Chain Around Bags" or "Chanel Shoulder Bags"
    And the breadcrumbs should display the correct page hierarchy, such as Saclàb > Shop Designer Handbags > Chanel > Chain Around

    And the Breadcrumb should have the correct (schema) structured data

    Screenshot 2024-09-26 at 15.31.27.png

    07

    Scenario 7: Maintain Other Filters Unchanged

    Given the user applies any filters other than "Brand + Model" or "Brand + Bag-type" (e.g., "Color" or "Grade")
    When the filters are applied or removed
    Then the URL should remain unchanged from the previous dynamic format (e.g., ?color[]=black&grade[]=3-5)
    And the system should not generate a static URL for these filters
    And the filtered product list should be displayed based on the selected filter without modifying the URL format.

    08

    Scenario 8: Nofollow for Dynamic URLs

    Given dynamic URLs are generated with other filters (e.g., /bags/?color[]=black&grade[]=3-5),

    When a dynamic URL is created,

    Then apply a "nofollow" attribute to these dynamic URLs and keep the canonical tag pointing to /bags/ to prevent them from being crawled and indexed.

    09

    Scenario 9: Enable Page-Level Indexation Control for Admins

    • Given the Saclab admin is managing pages in the system,

    • When they decide on indexation for individual pages,

    • Then allow the admin to set specific pages as "index" or "noindex" based on SEO strategy, including control across language versions (e.g., index the German Hermès Himalaya page, noindex the French Hermès Himalaya page).

  • Story 43.2 Send bag First Time Seller adaptation

    General Info

    We are improving the experience for first-time sellers (outside of Germany) by adjusting the pickup scheduling, updating email automation to inform them about the process, and enhancing internal notifications (Slack and Airtable). Reason: Customers who sell with Saclab for the first time get a special PickUp Service. A UPS driver will provide a shipping label. This service has different Pickup Times than the usual UPS express checkout.
    The goal is to ensure a clear, restricted pickup window, correct email communication, and proper handling of first-time sellers through internal tools.

    Changes

    • Implement the "First-time Seller" tag in Airtable. Applied automatically or manually selected.

    • Update email automation to inform first-time sellers about the full-day pickup window (8 AM-5 PM) and the premium pickup service in general

    • The existing SYB flow stays the same, this is only for first-time sellers

    • Adapt the "Schedule a Pickup" page to limit the pickup window

    • Modify Slack notifications to include details about first-time seller or premium pickups.

    User Story

    As a first-time seller, I want to be informed about my pickup window and how the pickup process will work for first time sellers, so that I can prepare for the collection of my bag.
    Intenal: I want the correct internal systems to reflect my status, ensuring smooth handling by the sales team.

    Acceptance Criteria

    #

    Acceptance Criteria

    Screenshot

    01

    Given the customer sells for the first time and has no previous SYB deals past “bag accepted”=yes
    When the sales team opens Airtable Base "SYB submission"
    Then the "First-time Seller" tag is applied automatically to “Type” in Contact OR manually selectable by the salesteam to the contact “Type”.

    Screenshot 2024-09-19 at 14.29.35.pngScreenshot 2024-09-19 at 14.30.56.png

    02

    Given the Tag “First-time Seller” is attached to the deal
    When submission accepted = "Yes"
    Then the Deal moves to the Airtable “Product Inventory”. the sales team sees the "First-time Seller" tag in the contact.
    And Acceptance Criterias 04-09 are triggered

    Screenshot 2024-09-19 at 14.28.13.png

    03

    Given the Tag “First-time Seller” is not attached to the deal
    When submission accepted = "Yes"
    Then the Deal moves to the Airtable “Product Inventory”. the sales team does not see the "First-time Seller" tag in the contact
    And existing “Schedule A Pickup” Pickup options are displayed to the customer (function already existing)
    And existing email “SYB – 4.0.6 can schedule pick-up (S)” gets sent to seller (function already existing)

    04

    When seller is on the "Schedule a Pickup" site
    And is a first-time seller or regular seller
    And seller selects a country outside Germany
    And books pickup before 13:30 Munich Time
    Then seller can select the following working day, with pickup time pre-selected to 9AM – 5PM
    AND dont show other pickup-time options

    Screenshot 2024-09-19 at 14.55.17.png

    05

    When seller is on the "Schedule a Pickup" site

    And is a first-time seller or regular seller
    And seller selects a country outside Germany
    And books pickup after 13:30 Munich Time
    Then seller can’t select the following working day
    AND can select the next working day after next working day (or the days after), with pickup time pre-selected to 9AM – 5PM
    AND dont show other pickup-time options

    Screenshot 2024-09-19 at 14.55.17.png

    06

    When seller is on the "Schedule a Pickup" site
    And seller selects Germany as the country
    And books pickup before 13:30
    Then seller has the option to select the pickup time as usual (function already existing)
    And can select the following working day (function already existing

    Screenshot 2024-09-19 at 15.05.53.png

    07

    When seller is on the "Schedule a Pickup" site
    And seller selects Germany as the country
    And books pickup after 13:30
    Then seller has the option to select pickup starting the working day after next working day, with usual time selection options available.

    Screenshot 2024-09-19 at 15.07.47.png

    08

    When the seller submits the scheduled pickup
    Then the system sends a Slack notification that includes details about "First-time Seller Pickup" or "Premium Pickup" with the current pickup information (e.g., date, time, bag details).
    AND send out adapted eMail to seller “SYB – 4.0.6 can schedule pick-up FIRST TIME (S)” (T&Cs and Consigment agreement attached as function existing)

    EN Template: https://us12.admin.mailchimp.com/templates/edit?id=10086334
    EN Subject: Your bag is ready to be shipped.
    EN Preview: Your pickup is ready to be scheduled. We look forward to receiving your item!
    DE Template: https://us12.admin.mailchimp.com/templates/edit?id=10086335
    DE Subject: Ihre Tasche ist bereit für den Versand.
    DE Preview: Sie können jetzt Ihre Abholung buchen. Wir freuen uns darauf, Ihren Artikel zu erhalten!

    Please schedule a premium pick up for [Seller Name]
    Seller’s email – [Seller eMail]
    First-time Seller Pickup
    Pick-up date & time – [date + time]
    Bag(s):
    Bagemoji [BName]
    Hubspot ID: [HubspotID]
    Price w/o fee: [Price w/o fee]
    Street: [Street]
    Apartment: [Apartment]
    Postcode: [ZIP]
    Country: [Country]
    City: [City]
    Phone: [Phone]

    09

    Given a Deal has the Tag “First-time Seller” via the linked contact
    When a bag reaches “bag accepted”=yes in SacLab Inventory
    Then the tag “First time seller” gets deleted from the Contact

  • Epic 43. Send bag

    As a seller on saclab.com. After I signed the consignment contract, I would like to ship my bag to saclab by schedule a pick-up at my doorstep

    Screenshot 2024-03-07 at 13.01.16.png

    Screenshot 2024-09-19 at 11.20.19.png