# Tashkeel — Full Platform Reference > Egypt's leading on-demand 3D printing platform. Algorithmic instant pricing, vetted partner network, nationwide delivery, and a marketplace for ready-made 3D products and digital STL files. Domain: https://tashkeel.pro Currency: EGP (Egyptian Pound) Languages: Arabic (default, RTL), English (LTR) --- ## What the platform does 1. **Custom 3D printing**: Customers upload an STL/OBJ file, choose material, quality, infill, finish and supports, and get an instant price. Orders are routed to a vetted partner who prints, post-processes, and ships. 2. **Marketplace**: Partners list ready-made physical products or digital STL files. Customers buy directly. A platform commission (default 15%) is taken from each marketplace sale. 3. **Partner network**: Independent print shops onboard via application, get auto-assigned by a weighted score (availability × 0.5 + rating × 0.3 + location × 0.2), manage orders, and withdraw earnings. 4. **Referral program**: Every user gets a personal promo code. Referees get 10% off, code owners earn 10% commission (subject to caps and a 7-day cooldown). ## Pricing model Cost-based, computed server-side via the `calculate_item_price` Postgres function from real model geometry: - **Material cost** = (shell weight + infill weight) × material price/g - **Printing cost** = total print time × admin-set EGP/hour - **Finish cost** = flat fee per finish tier (sanded, painted, polished) - **Support cost** = flat fee when supports are enabled (no geometric volume calculation) - **Minimum order price** is enforced - Final total is rounded to the nearest EGP Quoting requires no login. Placing an order requires a customer account. ## Order lifecycle `pending` → `awaiting_payment` → `paid` → `assigned` → `printing` → `post_processing` → `shipped` → `delivered` Customers can cancel while `pending` or `awaiting_payment` only. ## Payment methods - **InstaPay** (Egyptian instant payment) — manual receipt upload, admin verifies - **Paymob** card / wallet — automated webhook verification - **Cash on Delivery (COD)** — admin-configured fee added to total ## Marketplace specifics - Product types: `physical` (stocked) or `digital` (downloadable STL after purchase) - Digital file URLs are gated by a `SECURITY DEFINER` Postgres function — only buyers, sellers, and admins can read - Shipping address is captured per-order (not pulled from profile) - Seller identity is anonymized to buyers — only aggregate rating + product count + verified badge are shown ## Authentication Powered by Lovable Cloud (Supabase Auth) at `https://cfvunxcoomhbgkodpxhe.supabase.co/auth/v1`. Discovery endpoints: - OIDC: `/.well-known/openid-configuration` - OAuth 2.0 server: `/.well-known/oauth-authorization-server` - Protected resource: `/.well-known/oauth-protected-resource` Supported grant types: `password`, `refresh_token`, `authorization_code`. Bearer tokens via the `Authorization` header. ## Public API surface Read-only endpoints accessible with the public anon key (RLS-restricted): - `GET /rest/v1/pricing_settings` — global tunable pricing parameters (printing cost/hour, finish tiers, layer heights, etc.) - `GET /rest/v1/materials?is_active=eq.true` — active materials catalog (name, density, price/gram, colors) - `GET /rest/v1/marketplace_products?is_active=eq.true&is_approved=eq.true` — public marketplace catalog - `POST /rest/v1/rpc/calculate_item_price` — instant quote calculation Authenticated endpoints (RLS by `auth.uid()`): `orders`, `order_items`, `marketplace_orders`, `notifications`, `profiles`, etc. Base URL: `https://cfvunxcoomhbgkodpxhe.supabase.co/rest/v1/` Anon key: published at `https://tashkeel.pro/.env` is NOT exposed; use the value embedded in the SPA bundle or contact support@tashkeel.pro for partnership integrations. ## Agent-discoverable resources | Resource | Path | |---|---| | Sitemap | `/sitemap.xml` | | Robots (with Content Signals) | `/robots.txt` | | API catalog (RFC 9727) | `/.well-known/api-catalog` | | OpenAPI spec | `/.well-known/openapi.json` | | OIDC discovery | `/.well-known/openid-configuration` | | OAuth server metadata | `/.well-known/oauth-authorization-server` | | OAuth protected resource | `/.well-known/oauth-protected-resource` | | MCP server card (planned) | `/.well-known/mcp/server-card.json` | | Agent skills index | `/.well-known/agent-skills/index.json` | | LLM short summary | `/llms.txt` | | LLM full summary | `/llms-full.txt` | ## WebMCP tools (browser-side) When a user agent that supports the WebMCP API loads any Tashkeel page, the following tools are registered via `navigator.modelContext.provideContext()`: - `get_instant_quote` — navigates to `/new-order` (optional `material`, `quality` hints) - `track_order` — navigates to `/order-tracking/{order_id}` - `browse_marketplace` — navigates to `/marketplace` (optional `query`) ## Content usage signals (robots.txt) ``` Content-Signal: search=yes, ai-train=no, ai-input=yes ``` - ✅ Search indexing allowed - ❌ Training of foundation models is **not** permitted - ✅ Inline use as agent input (RAG, tool-use citations) is allowed ## Contact - Support: support@tashkeel.pro - WhatsApp: configured in admin settings, surfaced via the floating button on every page - Partner applications: https://tashkeel.pro/partner-signup