# LaysanX API Feature Coverage

This quick reference maps the current LaysanX feature surface to the API and standalone runtime coverage in this repository.

## Frontend Delivery Coverage

| Feature | Endpoint(s) | Standalone runtime |
|---|---|---|
| Shared site config | `/api/v1/site/config` | Yes |
| Route discovery | `/api/v1/site/routes` | Yes |
| Engagement config | `/api/v1/site/engagement` | Yes |
| Home payload | `/api/v1/site/home` | Yes |
| Sliders | `/api/v1/sliders` | Yes |
| Dynamic pages | `/api/v1/pages`, `/api/v1/pages/{slug}`, `/api/v1/pages/{slug}/view` | Yes |
| Dynamic page custom HTML placements | Included in dynamic page payloads via `customHtmlSectionsJson` and `customHtmlSections` | Yes |
| Home page custom HTML placements | Included in home page settings payload returned by `/api/v1/site/config` and `/api/v1/site/home` | Yes |
| Section layout controls | Home and dynamic page scoped section controls include section order, column count, row count, and item count | Yes |
| Services | `/api/v1/services`, `/api/v1/services/{slug}`, `/api/v1/services/{slug}/view` | Yes |
| Products | `/api/v1/products`, `/api/v1/products/{slug}`, `/api/v1/products/{slug}/view` | Yes |
| Projects | `/api/v1/projects`, `/api/v1/projects/{slug}`, `/api/v1/projects/{slug}/view` | Yes |
| Blogs | `/api/v1/blogs`, `/api/v1/blogs/{slug}`, `/api/v1/blogs/{slug}/view` | Yes |
| Jobs / careers | `/api/v1/jobs`, `/api/v1/jobs/{slug}`, `/api/v1/jobs/{slug}/view` | Yes |
| News | `/api/v1/news`, `/api/v1/news/{id}`, `/api/v1/news/{id}/view` | Yes |
| Events | `/api/v1/events`, `/api/v1/events/{id}`, `/api/v1/events/{id}/view` | Yes |
| Notifications | `/api/v1/notifications`, `/api/v1/notifications/{id}`, `/api/v1/notifications/{id}/view` | Yes |
| Gallery | `/api/v1/gallery` | Yes |
| FAQs | `/api/v1/faqs` | Yes |
| Teams | `/api/v1/teams` | Yes |
| Pricing plans | `/api/v1/pricing-plans`, `/api/v1/pricing-plans/{id}` | Yes |
| Forms | `/api/v1/forms`, `/api/v1/forms/{id}` | Yes |
| Form submissions | `POST /api/v1/forms/{id}/submissions` | Yes |
| Marketing sections | `/api/v1/marketing-sections` | Yes |
| Auxiliary sections | `/api/v1/auxiliary-sections` | Yes |
| Submission sync / CRM export | `/api/v1/form-submissions`, `/api/v1/forms/{formId}/submissions`, `/api/v1/form-submissions/{id}` | API only |
| Storefront cart/checkout/orders | Hosted storefront routes plus private `/api/v1/orders/{orderNumber}`, `/api/v1/orders/{orderNumber}/invoice`, `/api/v1/orders/{orderId}/status` | Runtime + private API |
| Multi-currency storefront pricing | `/api/v1/commerce/currencies` plus hosted runtime currency selector and cart currency conversion | Public API + runtime |
| Order/ticket chatbot status lookup | `/widget/ask` intent-gated internal lookup plus private `/api/v1/support-tickets/{ticketNumber}` | Widget runtime + private API |

## Client Admin Feature Coverage

| Feature | Admin surface | Public/API impact |
|---|---|---|
| API access domain control | Client Admin > API Access | Browser and ERP requests must match allowed domains; blocked requests return `Domain is not allowed.` |
| ERP lead sync sample | `sample-projects/client-erp-leads-viewer` | Reads `/api/v1/forms/{formId}/submissions` and displays leads from an allowed ERP domain |
| Dynamic page module visibility | Client Admin > Dynamic Pages | Services, products, projects, blogs, galleries, FAQs, teams, forms, pricing plans, marketing sections, auxiliary sections, and custom HTML can render by selected page configuration |
| Dynamic page custom HTML | Client Admin > Dynamic Pages | Multiple admin-defined HTML blocks render after the selected module position |
| Dynamic page section layout count | Client Admin > Dynamic Pages | Each page independently saves section sort order, column count, row count, and item count for reusable sections |
| Home page custom HTML | Client Admin > Home Page Builder | Multiple admin-defined HTML blocks render after the selected home/module position |
| Home page section layout count | Client Admin > Home Page Builder | Home page sections use their own scoped layout controls, separate from dynamic pages |
| Dynamic page item limits | Client Admin > Dynamic Pages | Service, product, and project counts can be limited per page |
| Listing page layout settings | Client Admin > Settings | Dedicated service/product/project listing pages can use configured columns, rows, pagination break count, and sort order |
| Custom section module | Client Admin > Custom Sections / Section Fields / Section Items | Reusable content collections render inside custom HTML via `[[dynamic-section slug=\"...\" limit=\"6\" style=\"service-card\"]]` |
| Custom section file fields | Client Admin > Section Fields / Section Items | Section fields support `Fileupload`; uploaded files save into the custom section value store and can render on website cards/detail pages |
| Custom section detail pages | Client Admin > Section Items | If an item slug is present, the website exposes `/{section-route-slug}/{item-slug}` detail pages; blank slug keeps the item as a simple card |
| Media library uploads | Client Admin > Media Library | Clients can upload reusable images; upload size follows plan limits |
| Secure upload policy | Shared upload handling | File uploads are validated by extension/type and plan-aware file-size rules where enforced |
| Captcha settings | Client Admin > Settings | Client live-site forms use the client captcha configuration and must include hosted/custom domains in reCAPTCHA settings |
| Contact page form assignment | Client Admin > Settings | The built-in `/contact` page can use any assigned form, custom headings/subheadings, and is overridden automatically by a dynamic page with slug `contact` |
| Page redirects | Client Admin > Page Redirects | Old slugs can redirect to new slugs or URLs with 301/302 behavior for website migrations |
| Pricing plan CTA text | Client Admin > Pricing Plans | Each plan can control CTA text, including zero-price/contact-style plans |
| Pricing plan direct checkout | Hosted pricing-plan cards | Paid pricing-plan CTAs post directly to checkout instead of forcing a cart page detour |
| Multi-currency configuration | Client Admin > Commerce currency settings / storefront topbar / `/api/v1/commerce/currencies` | Active currencies have name, symbol, conversion rate, default flag, and symbol-first price display; selected currency is persisted and applied to cart/payment gateway flow |
| Main order + sub-orders | Client Admin > Orders / storefront checkout / `/api/v1/orders/{orderNumber}` | Checkout creates one main order and linked sub-orders so multiple products can have separate invoices and independent status/payment/fulfillment changes |
| Individual order status editing | Client Admin > Orders / `/api/v1/orders/{orderId}/status` | Main orders and connected sub-orders can be edited separately for order, payment, and fulfillment status |
| Customer invoices | Storefront invoice page / admin invoice page / `/api/v1/orders/{orderNumber}/invoice` | Successful orders expose invoice views for customers and admin; invoice access should not redirect admin users to customer login |
| Order success flow | Storefront checkout | Successful checkout clears the cart and lands on the designed order-success page |
| Returns workflow | Storefront returns / Client Admin returns / `/api/v1/returns` | Return status can move through pending/approved/rejected and refund amount can be marked pending/paid with rejection remarks |
| Product editor revamp | Client Admin > Products > Add/Edit | Product editor is organized into panels with compact inline variant matrix rows |
| Variant image gallery | Product detail runtime | Variant images preload into the product gallery and selecting a variant updates the main slider image |
| Wishlist UI | Product detail/listing runtime | Wishlist heart action remains available with clearer red heart treatment |
| Cache refresh after publish | Client + SaaS runtime | HTML and static assets send no-cache/revalidation headers so old browser/proxy cache refreshes after application restart |
| Chat widget | Client Admin > Chat Widget / Chat Logs | Widget bootstrap, AI answers, and lead capture remain domain validated |
| Chat widget internal order lookup | Client Admin > Chat Widget / Orders | `/widget/ask` answers order status only when the message clearly asks for order status or includes an order number |
| Chat widget internal ticket lookup | Client Admin > Chat Widget / Helpdesk | `/widget/ask` answers support ticket status only when the message asks for ticket/case/issue status or includes a ticket number |
| Chat widget save coverage | Client Admin > Chat Widget | Agent name, assigned form, API integrations, voice/settings fields, and pending-action fields are persisted |
| AI image generator | Client Admin > Image Generator | Supports AI Image Generator and LaysanX Image Generator, wallet/shared-token charging, gallery, JPG download, and delete |
| AI blog automation | Client Admin > Blog Automation | Supports source whitelist/blacklist, live trend controls, headline scoring, and social-caption generation |
| Billing and wallet | Client Admin > Billing | Shows token pricing, recharge actions, wallet ledger, plan/license status, and trial-to-paid transitions |
| Helpdesk | Client Admin > Helpdesk | Clients can create tickets, reply, close threads, and receive email updates when LaysanX replies |
| Custom domains | Client Admin > Domains / SAAS Admin domain requests | Trial plans can use public route only; paid plans can request domain binding according to plan domain count; delete/resubmit cleanup removes stale request/settings/server binding data |
| Branding control | Plan settings | Plans can remove the `Powered By LaysanX` footer suffix when branding removal is enabled |
| Referral rewards | SAAS Admin settings / subscription purchase | Referral token rewards can be granted when a referred user buys a plan |

## SAAS Admin Feature Coverage

| Feature | Admin surface | Notes |
|---|---|---|
| Marketing site content | SAAS Admin > Site Content | Header/footer/sitemap/robots scripts are optional and generated sitemap/robots routes continue to work |
| Documentation content | SAAS Admin > Site Content | Documentation hero text is dynamic through documentation kicker/title/description fields |
| Features dashboard image | SAAS Admin > Site Content | Features section can display a dashboard image URL on the SaaS website |
| Marketing blog automation | SAAS Admin > Marketing Automation | Supports tone, seed keywords, trend feeds/lookback/items, competitor domains, source whitelist/blacklist, topic brief, and additional instructions |
| Marketing blogs | SAAS Admin > Blogs | Edit validation is friendlier for required fields and social share appears below details |
| Plans and pricing | SAAS Admin > Master Plans | Supports INR/USD pricing, trial plans, zero-price contact CTA, image, token pricing, branding removal, referral values, and plan feature limits |
| AI providers and wallet | SAAS Admin > AI Providers / Wallets | Provider routing, image pricing, shared tokens, client wallets, recent ledger, and transaction views are available |
| Customers | SAAS Admin > Customers | Add/edit includes safe defaults for website source type and plan/domain settings |
| Domain requests | SAAS Admin > Domain Requests | Domain mapping filters and provisioning workflow support production custom-domain onboarding |
| Domain cleanup automation | SAAS Admin + provisioning worker | Deleted client domain requests are removed from app records and generated nginx profiles can be cleaned from the server-managed binding folder |
| Helpdesk | SAAS Admin > Helpdesk | LaysanX can reply, close, reopen, and track ticket conversations from all clients |
| Support-ticket status visibility | SAAS Admin + Client Admin Helpdesk + widget | Ticket numbers such as `LX-TKT-*` can be used by the widget for status answers when status is requested |
| Notification engine | SAAS background workers + queued email table | Signup/welcome, wallet, low-balance, expiry reminders, referral, plan purchase, and helpdesk emails are queued so SMTP issues do not hang pages |
| Audit/list pages | SAAS Admin lists | Client, domain mapping, transaction logs, blogs, enquiries, theme categories, theme library, and staff pages include filters/pagination where added |

## Chat Widget Coverage

| Feature | Endpoint(s) | Notes |
|---|---|---|
| Widget bootstrap | `/widget/bootstrap` | Public widget runtime |
| Widget question answering | `/widget/ask` | Uses KB + AI routing |
| Widget lead capture | `/widget/lead` | Saves into form submissions |

## Standalone Runtime Coverage

| Feature | Endpoint(s) | Notes |
|---|---|---|
| Standalone form relay | `POST /api/forms/submit` | Exposed by `DynamicCMS.Standalone.BlueChipCorp`, forwards to `/api/v1/forms/{id}/submissions` |
| Custom HTML placement | Dynamic page payloads | Finalized themes render custom HTML at selected module positions |
| Home page custom HTML placement | Home settings payload | Finalized themes render home-page custom HTML blocks at selected positions |
| Custom section token rendering | Theme/runtime custom HTML | Finalized themes render `[[dynamic-section ...]]` tokens into cards, sliders, or detail-page entry points |
| Themed dynamic sections | Dynamic page payloads | Finalized themes render selected services, products, projects, auxiliary logos, testimonials/client reviews, partners/trust badges, forms, and pricing plans |
| Scoped section layout | Home and dynamic page payloads | Finalized themes apply saved column/row/count controls independently for home and each dynamic page |
| Uploaded sample themes | `sample-projects/*-theme` and AI Website Builder | AI-generated uploaded themes preserve the exact sample theme templates/assets and only fill missing files |
| Uploaded theme currency UI | Uploaded theme runtime context | Theme context includes `currency`, `currencies`, symbol-first formatted product/plan prices, and switch URL |
| Uploaded theme pricing checkout | Uploaded theme pricing sections | Pricing cards link to `plan.checkout_url`, bypass the cart page, and checkout creates an internal pricing-plan line with `VariantId = null` |
| Uploaded theme product ecommerce | Uploaded theme product sections | Product cards use formatted prices and simple products can add to cart while variant products route to option selection |

## Storefront Commerce Coverage

| Feature | Surface | Notes |
|---|---|---|
| Cart checkout | `/cart` and `/checkout` | Hosted runtime manages cart, selected currency, gateway selection, coupon/promo, shipping/tax/payment fee, and checkout submission |
| Order success | `/order-success` | Shows confirmation after successful checkout and cart is cleared |
| Main/sub-order model | Checkout + Client Admin Orders | Multi-product checkout creates one parent/main order and child sub-orders for independent invoice/status handling |
| Invoice access | `/invoice` and Client Admin invoice | Customer and admin invoice views show symbol-first totals and order items |
| Currency switcher | Storefront topbar/layout and uploaded theme header | Active currencies show as symbol + code and post to `/currency` with safe return URL |
| Returns/refunds | Returns portal and admin return handling | Status and refund paid/pending state are tracked, with rejection remarks when rejected |
| Product variants | Product editor and product detail | Compact variant matrix, variant image upload, preloaded variant gallery images, selected-variant gallery switching |
| Wishlist | Customer wishlist routes | Heart action saves/removes products and returns to the active storefront page |

## AI Website Builder / Theme Coverage

| Feature | Surface | Notes |
|---|---|---|
| Sample theme preservation | Client Admin > AI Theme Builder | Generated ZIPs copy matching `sample-projects/*-theme` designs and do not overwrite existing templates/CSS/images with generic output |
| Add to Themes | Client Admin > AI Theme Builder | Ready ZIPs can be imported without requiring project name/requirement fields again |
| Theme variables | Uploaded theme renderer | Context includes ecommerce URLs, cart count, selected currency, active currencies, formatted prices, product variants, pricing-plan checkout URL, and current route |
| Sample themes updated | `sample-projects` | Header currency dropdown, formatted prices, direct pricing checkout, product add-to-cart, account/cart links, and required templates are aligned across themes |

## Related Documents

- [Frontend delivery API](./frontend-delivery-api.md)
- [Chat widget API](./chat-widget-api.md)
- [Knowledge base + chat widget foundation](./knowledge-base-chat-widget-foundation.md)

## Release Documentation Assets

Use this set as the minimum release pack for frontend, QA, and implementation teams:

- [Frontend delivery API](./frontend-delivery-api.md)
- [Chat widget API](./chat-widget-api.md)
- [Knowledge base + chat widget foundation](./knowledge-base-chat-widget-foundation.md)
- [Deployment guide](./deployment/laysanx-deployment.md)
- [Frontend delivery + widget Postman collection](./frontend-delivery-api.postman_collection.json)
