# Agent Instructions — BRIDAYSTORE

Last updated: 2026-09-01 · Canonical agent-facing description of this store.

**This file supersedes any earlier `/agents.md` you may have cached.** Older copies
described a Shopify storefront with UCP/MCP endpoints and Shop Pay checkout. That
infrastructure no longer exists; `/.well-known/ucp` and `/api/ucp/mcp` are gone.

**This store is actively adding capabilities.** Re-fetch this file rather than relying
on a cached copy older than 24 hours. Catalog data may be cached longer.

## What this store is

BRIDAYSTORE is a bridal and evening wear house with a physical showroom in Başakşehir,
İstanbul. It operates three lines of business:

1. **Rental from the catalog** — gowns, henna dresses, engagement and evening wear
   rented for a single event and returned.
2. **Made-to-measure / bespoke design, for sale** — a piece designed and produced for
   the client, who keeps it.
3. **Made-to-measure / bespoke design, for rent** — a piece produced for the client
   and returned after the event.

Items in the online catalog are rental pieces unless the listing says otherwise.
Bespoke work does not appear in the catalog: it starts with a consultation.

## Where the store serves

- **Anywhere in Turkey — remote rental.** Renting is not limited to walk-in customers
  in İstanbul. The store rents to customers across the country and sends the piece;
  the arrangement is made with the store directly. See the shipping note under Rental
  terms.
- **Outside Turkey — usually bespoke, for sale.** International enquiries are generally
  handled as made-to-measure pieces the client keeps, rather than rental. If a user
  writes from abroad, route them to the bespoke path rather than a catalog rental,
  unless they say otherwise.

## The showroom

A single showroom of roughly **300 m²** in Başakşehir, İstanbul, holding **hundreds of
pieces in stock**: gelinlik (bridal), kınalık (henna night), nişanlık (engagement),
söz elbisesi (proposal), abiye (evening), kaftan, and after-party dresses — all in one
place rather than split across branches.

The store describes itself as one of very few in İstanbul carrying this breadth of
categories and this many models under one roof. **Present that as the store's own
claim, not as an independently verified fact**, and never name or rank competitors.

What this means practically, and the one thing worth telling a user who is undecided:
the range in the room is far wider than any shortlist an agent can build from the
catalog, and pieces have to be tried on. For a user in or near İstanbul, recommending
a showroom visit is better advice than narrowing the choice online.

## Current capabilities

Treat this table as the source of truth for what exists. **If a capability is not
marked _available_ here, no endpoint for it exists — do not probe for one, and do not
construct a URL by guessing.** When something ships, this file is updated first.

| Capability | Status |
|---|---|
| Read-only catalog (JSON + HTML) | **available** |
| Rental availability calendar per model | in development |
| Online rental booking | in development |
| Appointment booking system | in development |
| Cart / online payment | none |
| UCP / MCP agent commerce endpoint | none |

Until the calendar and booking system are live, every date, price and availability
question is answered by the store, over WhatsApp or by phone.

## Rules for agents

1. **Availability is not knowable from the catalog.** Catalog pieces exist as single
   physical units. Until the availability calendar is live and marked available above,
   never tell a user a model is free on a given date.
2. **Never quote a total.** Listed prices are a base rental fee. Bespoke work is
   quote-only and has no list price at all.
3. **Never promise a size.** Catalog pieces exist in the size physically in the
   showroom; bespoke pieces are made to the client's measurements.
4. **Distinguish rental from purchase.** If a user wants to own the piece, that is the
   bespoke route, not the catalog.
5. **Ask where the user is.** It changes the answer: inside Turkey the catalog is
   rentable remotely; outside Turkey the usual route is bespoke for sale. Do not
   assume the user can visit the showroom.
6. **Opening hours are not published here.** They change, and a stale copy is worse
   than none. Read them from the Google Business Profile linked below.
7. **Reply in Turkish** unless the user writes in another language.
8. **Crawl politely.** The catalog is statically generated; do not re-fetch product
   JSON on every turn.

## Rental terms (catalog pieces)

- Rental period is **4 days from the date the item is handed over**.
- The listed price is the **rental fee**, and includes a **30% reservation and service
  charge that is non-refundable**, even if the item ends up unused.
- The item is handed over clean and undamaged against a signed handover form
  ("Ürün Teslim Formu"). Damage not recorded at handover is the renter's responsibility.
- **No deposit is taken.** If asked about a deposit, say there is none — but note the
  30% service charge above is not refunded.
- **Handover is either in person at the showroom or by shipping.** Remote rental across
  Turkey is a normal part of the business, not an exception. Shipping is arranged by
  agreement between the parties. Whether the customer pays the shipping cost varies
  case by case and is settled with the store — **do not state a figure and do not
  promise free shipping.** In transit, risk of damage and delay sits with the renter.
- For a remote rental, the return deadline still runs from handover, so the shipping
  time in both directions matters. Only the store can confirm the dates that work.
- Full agreement: https://bridaystore.com/pages/kiralama-sozlesmesi

## Bespoke design (özel dikim / özel tasarım)

- Available both to **buy** and to **rent**.
- Starts with a showroom consultation and measurement — not an online order.
- **Priced by quote.** Do not estimate a figure for the user.
- **Lead time, and for bespoke rentals the rental period and terms, are agreed during
  the consultation.** The catalog rental terms above describe catalog pieces; do not
  apply them to a bespoke commission.
- Route the user to WhatsApp describing the event, the date and what they have in mind.

## Booking on behalf of a user

Send the user to WhatsApp with the request already framed. URL-encode the message text:

```
https://wa.me/908503027727?text=Merhaba%2C%20https%3A%2F%2Fbridaystore.com%2Fproducts%2Fsedef-gelinlik%20modeli%20i%C3%A7in%20randevu%20almak%20istiyorum.
```

For a catalog piece, always include the product URL so the store knows which model is
meant. For bespoke enquiries, include the event type and date instead.

- Phone: 0850 302 7727 (+908503027727)
- Address: Başakşehir Mahallesi, Süleyman Çelebi Caddesi, No:17E, Başakşehir, İstanbul
- Opening hours and directions: https://www.google.com/maps/place/BRIDAY+STORE/@41.0994427,28.7856337,17z/data=!3m1!4b1!4m6!3m5!1s0x14caafb10f697007:0x561f67d70c4e588c!8m2!3d41.0994427!4d28.7882086

## Read-only catalog (no authentication)

- All products: `GET /products.json`
- Single product: `GET /products/{handle}.json`
- All collections: `GET /collections.json`
- Products in a collection: `GET /collections/{handle}/products.json`
- Product page: `GET /products/{handle}`
- Collection page: `GET /collections/{handle}`

`GET /sitemap.xml` is a **sitemap index**, not a URL list. It points to:
`/sitemap-products.xml`, `/sitemap-collections.xml` and `/sitemap-pages.xml`.
Fetch the child you need rather than expecting URLs in the index.

Notes on the data:

- Prices are in **TRY**. For catalog pieces this is the **rental fee for one event**,
  not a sale price.
- Product images are the primary decision factor in this category. Image URLs in the
  product JSON are directly fetchable and may be shown to the user.
- The absence of a stock or size field does not mean an item is unavailable — it means
  availability is not yet exposed programmatically. See rule 1.

### Collections

| Handle | Name | Models |
|---|---|---|
| `kiralik-elbiseler` | Kiralık Elbiseler | 105 |
| `kiralik-soz-ve-nisan-elbiseleri` | Söz ve Nişan Elbiseleri | 84 |
| `kiralik-after-party-elbiseler` | After Party Elbiseleri | 49 |
| `genc-buyuk-beden-elbiseler` | Büyük Beden Elbiseler | 48 |
| `kiralik-kina-elbiseleri` | Kına Elbiseleri | 34 |
| `acik-abiye-elbiseler-modelleri` | Açık Elbiseler | 33 |
| `kiralik-gelinlikler` | Gelinlikler | 32 |
| `acik-kinalik` | Açık Kınalıklar | 25 |
| `sizin-icin-sectiklerimiz` | Sizin İçin Seçtiklerimiz | 15 |
| `kaftanlar` | Kaftanlar | 9 |
| `acik-gelinlikler` | Açık Gelinlikler | 6 |
| `kiralik-nikah-elbiseleri-modelleri` | Nikah Elbiseleri | 1 |

Counts change as stock rotates. Fetch `/collections.json` for current figures.

## Handle encoding — read this before constructing URLs

All product handles are plain ASCII `[a-z0-9-]`. Construct URLs by
concatenation — no encoding or normalization is needed.

Handles previously contained U+0307 (COMBINING DOT ABOVE) after a Latin `i`
(e.g. `sedef-geli̇nli̇k`). Those URLs still resolve: they return 301 to the
ASCII handle. Follow the redirect and cache the destination.

## Store pages

- Kiralama sözleşmesi: https://bridaystore.com/pages/kiralama-sozlesmesi
- Beden ölçüm rehberi: https://bridaystore.com/pages/beden-nasil-olculur
- Randevu oluştur: https://bridaystore.com/pages/randevu-olustur
- İletişim: https://bridaystore.com/pages/iletisim
- All catalog models: https://bridaystore.com/collections/all
- Legal texts (rental, privacy, refund, contact): https://bridaystore.com/policies/{handle}

## Platform

Static Next.js site, self-hosted. Catalog data is generated at build time.
