---
updatedAt: 2026-10-08T13:34:07.000Z
agentTools:
  projectIndex: https://developers.deliverect.com/llms.txt
---

# Retail

<HTMLBlock>{`
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Deliverect Developer Hub</title>
   <style>
    * {
      font-family:
        Proxima Nova,
        Arial,
        sans-serif !important;
    }

    .rm-VersionDropdown {
      display: none !important;
    }

    .breadcrumb {
      display: none !important;
    }

    .rm-Container rm-Container_flex rm-ContainerFull {
      display: none;
    }

    .SuperHubCustomPage-title19mYd6i5mTYj {
      display: none !important;
    }

    .navbar {
      display: none !important;
    }

    /* Surgically hide ReadMe's native header EXCEPT its real theme-toggle control.
   display:none can't be selectively un-done on a child, so instead: collapse
   the header to zero height (so it takes no layout space), hide every
   descendant with visibility:hidden (which — unlike display:none — CAN be
   overridden on a specific descendant), then re-show just the toggle and
   float it in a simple, fixed top-right spot. */
    header.rm-Header {
      display: block !important;
      height: 0 !important;
      min-height: 0 !important;
      overflow: visible !important;
      border: none !important;
      box-shadow: none !important;
      background: transparent !important;
      pointer-events: none !important;
    }

    header.rm-Header * {
      visibility: hidden !important;
    }

    header.rm-Header [data-testid="dropdown-container"],
    header.rm-Header [data-testid="dropdown-container"] *,
    header.rm-Header .rm-ThemeToggle,
    header.rm-Header .rm-ThemeToggle * {
      visibility: visible !important;
      pointer-events: auto !important;
    }

    header.rm-Header [data-testid="dropdown-container"] {
      position: fixed !important;
      top: 16px !important;
      right: 24px !important;
      z-index: 99999 !important;
    }

    header.rm-Header [data-testid="dropdown-container"] button {
      border: none !important;
      box-shadow: none !important;
      outline: none !important;
      color: var(--fg) !important;
    }

    header.rm-Header [data-testid="dropdown-container"] button svg {
      color: var(--fg) !important;
      stroke: currentColor !important;
    }

    header.rm-Header [data-testid="dropdown-container"] button:hover {
      background: rgba(128, 128, 128, 0.18) !important;
      color: var(--fg) !important;
    }

    header.rm-Header [data-testid="dropdown-container"] button:hover svg {
      color: var(--fg) !important;
      stroke: currentColor !important;
    }

    :root {
      color-scheme: light dark;
      --green: #00875a;
      --green-dark: #006644;
      --green-light: #e6f9f1;
      --fg: #0a0a0a;
      --bg: #ffffff;
      --secondary: #f7f7f7;
      --muted: #737373;
      --border: #e5e5e5;
      --card: #ffffff;
      --r: 12px;
      --font:
        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", sans-serif;
    }

    /* Follow the OS/browser setting automatically, unless the person has picked one manually */
    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]):not([data-theme="dark"]):not([data-color-mode="light"]):not([data-color-mode="dark"]) {
        --green: #00a86b;
        --green-dark: #00c37e;
        --green-light: #0d2b21;
        --fg: #ededed;
        --bg: #1a1a1a;
        --secondary: #1a1a1a;
        --muted: #a3a3a3;
        --border: #2a2a2a;
        --card: #1a1a1a;
      }
    }

    /* Manual override via ReadMe's own theme toggle, wins regardless of system setting. */
    :root[data-theme="dark"],
    :root[data-color-mode="dark"] {
      color-scheme: dark;
      --green: #00a86b;
      --green-dark: #00c37e;
      --green-light: #0d2b21;
      --fg: #ededed;
      --bg: #1a1a1a;
      --secondary: #1a1a1a;
      --muted: #a3a3a3;
      --border: #2a2a2a;
      --card: #1a1a1a;
    }

    :root[data-theme="light"],
    :root[data-color-mode="light"] {
      color-scheme: light;
    }

    /* Slightly heavier hover shadows read better on a dark card background */
    :root[data-theme="dark"] .tile:hover,
    :root[data-color-mode="dark"] .tile:hover,
    :root[data-theme="dark"] .api-card:hover,
    :root[data-color-mode="dark"] .api-card:hover,
    :root[data-theme="dark"] .res-card:hover,
    :root[data-color-mode="dark"] .res-card:hover {
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
    }

    @media (prefers-color-scheme: dark) {

      :root:not([data-theme="light"]):not([data-theme="dark"]) .tile:hover,
      :root:not([data-theme="light"]):not([data-theme="dark"]) .api-card:hover,
      :root:not([data-theme="light"]):not([data-theme="dark"]) .res-card:hover {
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
      }
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font);
      background: var(--bg);
      color: var(--fg);
      line-height: 1.6;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
    }

    html,
    body {
      background: var(--bg) !important;
      color: var(--fg) !important;
    }

    a {
      color: inherit;
      text-decoration: none;
      cursor: pointer;
    }

    button {
      cursor: pointer;
      border: none;
      background: none;
      font: inherit;
      color: inherit;
    }

    .container {
      max-width: 1500px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }

    .page {
      display: none;
    }

    .page.active {
      display: block;
    }

    main {
      flex: 1;
    }

    .full-bleed {
      width: 100vw;
      margin-left: 50%;
      transform: translateX(-50%);
    }

    /* TYPOGRAPHY */
    .label {
      font-size: 0.95rem;
      font-weight: 500;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--green);
    }

    .heading-xl {
      font-size: clamp(0.5rem, 6vw, 1.8rem);
      font-weight: 900;
      letter-spacing: -0.03em;
      line-height: 0.9;
    }

    .heading-lg {
      font-size: clamp(0.5rem, 2vw, 1.25rem);
      font-weight: 900;
      letter-spacing: -0.02em;
      text-transform: uppercase;
    }

    .text-muted {
      color: var(--muted);
    }

    /* BUTTONS */
    .btn-primary {
      background: var(--green);
      color: #fff;
      padding: 0.5rem 1.125rem;
      border-radius: 8px;
      font-size: 0.875rem;
      font-weight: 600;
      transition: background 0.15s;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }

    .btn-primary:hover {
      background: var(--green-dark);
    }

    .btn-secondary {
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--fg);
      padding: 0.5rem 1.125rem;
      border-radius: 8px;
      font-size: 0.875rem;
      font-weight: 600;
      transition: background 0.15s;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }

    .btn-secondary:hover {
      background: var(--secondary);
    }

    /* NAVBAR */
    .navbar {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--bg);
      border-bottom: 1px solid var(--border);
      height: 64px;
    }

    .navbar-inner {
      display: flex;
      align-items: center;
      height: 50%;
      gap: 0.7rem;
    }

    .logo {
      display: flex;
      align-items: center;
      gap: 0.625rem;
      flex-shrink: 0;
    }

    .logo-img-light {
      display: block !important;
    }

    .logo-img-dark {
      display: none !important;
    }

    :root[data-theme="dark"] .logo-img-light,
    :root[data-color-mode="dark"] .logo-img-light {
      display: none !important;
    }

    :root[data-theme="dark"] .logo-img-dark,
    :root[data-color-mode="dark"] .logo-img-dark {
      display: block !important;
    }

    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]):not([data-theme="dark"]):not([data-color-mode="light"]):not([data-color-mode="dark"]) .logo-img-light {
        display: none !important;
      }

      :root:not([data-theme="light"]):not([data-theme="dark"]):not([data-color-mode="light"]):not([data-color-mode="dark"]) .logo-img-dark {
        display: block !important;
      }
    }

    .logo-name {
      font-size: 1.125rem;
      font-weight: 900;
      letter-spacing: -0.03em;
    }

    .logo-badge {
      background: var(--green-light);
      color: var(--green);
      font-size: 0.6875rem;
      font-weight: 700;
      padding: 0.1875rem 0.625rem;
      border-radius: 999px;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 0.125rem;
      margin-left: 0.5rem;
    }

    .nav-item {
      position: relative;
    }

    .nav-btn {
      display: flex;
      align-items: center;
      gap: 0.25rem;
      padding: 0.5rem 0.75rem;
      font-size: 0.875rem;
      font-weight: 500;
      border-radius: 6px;
      transition: color 0.15s;
      color: var(--fg);
    }

    .nav-btn:hover,
    .nav-btn.active {
      color: var(--green);
    }

    .nav-btn svg {
      width: 14px;
      height: 14px;
      transition: transform 0.2s;
      flex-shrink: 0;
    }

    .nav-item:hover>.nav-btn svg,
    .nav-item:focus-within>.nav-btn svg {
      transform: rotate(180deg);
    }

    .dropdown {
      position: absolute;
      left: 50%;
      top: 100%;
      transform: translateX(-50%);
      padding-top: 0.5rem;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.15s;
    }

    .nav-item:hover .dropdown,
    .nav-item:focus-within .dropdown {
      opacity: 1;
      pointer-events: auto;
    }

    .dd-inner {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 1.5rem;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
      min-width: 480px;
    }

    .dd-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
    }

    .dd-grid.cols-1 {
      grid-template-columns: 1fr;
    }

    .dd-cat {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 0.625rem;
      display: flex;
      align-items: center;
      gap: 0.25rem;
    }

    .dd-cat a {
      color: var(--muted);
      display: flex;
      align-items: center;
      gap: 0.25rem;
      transition: color 0.15s;
    }

    .dd-cat a:hover {
      color: var(--green);
    }

    .dd-cat svg {
      width: 10px;
      height: 10px;
      opacity: 0.6;
    }

    .dd-items {
      list-style: none;
    }

    .dd-items li+li {
      margin-top: 1px;
    }

    .dd-items a,
    .dd-items span {
      display: block;
      padding: 0.375rem 0.625rem;
      font-size: 0.875rem;
      border-radius: 6px;
      transition:
        background 0.15s,
        color 0.15s;
    }

    .dd-items a:hover,
    .dd-items span:hover {
      background: var(--secondary);
      color: var(--green);
    }

    .dd-foot {
      margin-top: 1.25rem;
      padding-top: 1rem;
      border-top: 1px solid var(--border);
    }

    .dd-foot a {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--green);
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
    }

    .dd-foot a:hover {
      text-decoration: underline;
    }

    .dd-foot svg {
      width: 14px;
      height: 14px;
    }

    .nav-right {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .nav-link {
      padding: 0.5rem 0.75rem;
      font-size: 0.875rem;
      font-weight: 500;
      border-radius: 6px;
      transition: color 0.15s;
    }

    .nav-link:hover {
      color: var(--green);
    }

    .mob-toggle {
      display: none;
      padding: 0.5rem;
      margin-left: auto;
    }

    .mob-toggle svg {
      width: 20px;
      height: 20px;
    }

    .mob-menu {
      display: none;
      background: var(--card);
      border-top: 1px solid var(--border);
      padding: 1rem 1.5rem;
      position: absolute;
      left: 0;
      right: 0;
      top: 64px;
      z-index: 99;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    }

    .mob-menu.open {
      display: block;
    }

    .mob-menu a,
    .mob-menu button {
      display: block;
      padding: 0.625rem 0;
      font-size: 0.875rem;
      font-weight: 500;
      color: var(--fg);
      border-bottom: 1px solid var(--border);
      width: 100%;
      text-align: left;
    }

    .mob-menu button:last-of-type {
      border-bottom: none;
    }

    /* HERO */
    .hero {
      padding: 0.5rem 0 0.5rem;
      text-align: center;
    }

    .hero .label {
      display: block;
      margin-bottom: 1rem;
    }

    .hero h1 {
      max-width: 50rem;
      margin: 0 auto 1.5rem;
    }

    .hero p {
      font-size: 1.0625rem;
      color: var(--muted);
      max-width: 34rem;
      margin: 0 auto 2.5rem;
      line-height: 1.7;
    }

    .hero-ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      justify-content: center;
      align-items: center;
    }

    /* STATS BAR */
    .stats-bar {
      border-top: 0.2px solid var(--border);
      border-bottom: 0.2px solid var(--border);
      background: var(--secondary);
      padding: 1rem 0;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      text-align: center;
    }

    .stat-val {
      font-size: 1.5rem;
      font-weight: 900;
    }

    .stat-lbl {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--muted);
      margin-top: 0.25rem;
    }

    /* SECTIONS */
    .section {
      padding: 0.5rem 0;
    }

    .sec-hdr {
      text-align: center;
      margin-bottom: 1rem;
    }

    .sec-hdr .label {
      display: block;
      margin-bottom: 1rem;
    }

    /* AUDIENCE TILES */
    .tiles-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }

    .tile {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--r);
      overflow: hidden;
      cursor: pointer;
      transition:
        transform 0.2s,
        box-shadow 0.2s,
        border-color 0.2s;
    }

    .tile:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
      border-color: rgba(0, 135, 90, 0.3);
    }

    .tile-img {
      aspect-ratio: 12/6;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ti-rest {
      background: linear-gradient(135deg, #1a1a2e, #16213e, #0f3460);
    }

    .ti-retail {
      background: linear-gradient(135deg, #2d6a4f, #1b4332, #081c15);
    }

    .ti-partners {
      background: linear-gradient(135deg, #f77f00, #d62828, #003049);
    }

    .tile-body {
      padding: 0.5rem;
    }

    .tile-title {
      font-size: 1.125rem;
      font-weight: 800;
      margin-bottom: 0.5rem;
    }

    .tile-desc {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.6;
      margin-bottom: 1rem;
    }

    .tile-cta {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--green);
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      transition: gap 0.2s;
    }

    .tile:hover .tile-cta {
      gap: 0.625rem;
    }

    .tile-cta svg {
      width: 14px;
      height: 14px;
    }

    /* API CARDS */
    .api-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 0.1rem;
    }

    .api-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--r);
      overflow: hidden;
      transition:
        box-shadow 0.2s,
        border-color 0.2s;
      display: block;
      color: inherit;
    }

    .api-card:hover {
      box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08);
      border-color: rgba(0, 135, 90, 0.3);
    }

    .api-card-img {
      aspect-ratio: 1.5;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .bg-pos {
      background: linear-gradient(10deg, #070707, #070707);
    }

    .bg-ordering {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-payments {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-couriers {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-loyalty {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-kds {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-crm {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-coupons {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-giftcards {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-upsells {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .bg-reporting {
      background: linear-gradient(135deg, #070707, #070707);
    }

    .api-card-body {
      padding: 0.5rem;
    }

    .api-card-title {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 0.1rem;
    }

    .api-card-desc {
      font-size: 0.8125rem;
      color: var(--muted);
      line-height: 1.6;
      margin-bottom: 0.1rem;
    }

    .api-learn {
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--green);
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
    }

    .api-learn svg {
      width: 13px;
      height: 13px;
    }

    /* RESOURCES */
    .res-scroll {
      display: flex;
      gap: 1.25rem;
      overflow-x: auto;
      padding-bottom: 1rem;
      scroll-snap-type: x mandatory;
    }

    .res-scroll::-webkit-scrollbar {
      height: 4px;
    }

    .res-scroll::-webkit-scrollbar-track {
      background: var(--secondary);
      border-radius: 2px;
    }

    .res-scroll::-webkit-scrollbar-thumb {
      background: var(--border);
      border-radius: 2px;
    }

    .res-card {
      flex-shrink: 0;
      width: 280px;
      scroll-snap-align: start;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      transition:
        box-shadow 0.2s,
        border-color 0.2s;
      color: inherit;
    }

    .res-card:hover {
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
      border-color: rgba(0, 135, 90, 0.3);
    }

    .res-tag {
      display: inline-block;
      align-self: flex-start;
      font-size: 0.625rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--green);
      background: rgba(0, 135, 90, 0.1);
      padding: 0.25rem 0.75rem;
      border-radius: 999px;
    }

    .res-title {
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .res-desc {
      font-size: 0.8125rem;
      color: var(--muted);
      line-height: 1.6;
      flex: 1;
    }

    .res-cta-card {
      background: rgba(0, 135, 90, 0.05);
      border: 1px solid rgba(0, 135, 90, 0.2);
      align-items: center;
      justify-content: center;
      text-align: center;
      min-height: 220px;
    }

    .res-cta-card svg {
      width: 32px;
      height: 32px;
      color: var(--green);
    }

    /* AUDIENCE PAGES */
    .page-hero {
      padding: 3.5rem 0;
      border-bottom: 1px solid var(--border);
    }

    .breadcrumb {
      font-size: 0.875rem;
      color: var(--muted);
      margin-bottom: 1.5rem;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .breadcrumb a {
      color: var(--muted);
    }

    .breadcrumb a:hover {
      color: var(--green);
    }

    .back-to-hub {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.775rem;
      color: var(--muted);
      text-decoration: none !important;
      margin-bottom: 2.5rem;
    }

    .back-to-hub:hover {
      color: var(--green);
    }

    .aud-rows {
      padding: 0.5rem 0;
    }

    .aud-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3.5rem;
      align-items: center;
      padding: 3rem 0;
      border-bottom: 1px solid var(--border);
    }

    .aud-row:last-child {
      border-bottom: none;
    }

    .aud-row.rev {
      direction: rtl;
    }

    .aud-row.rev>* {
      direction: ltr;
    }

    .aud-row > * {
      min-width: 0;
    }

    .aud-row img.aud-row-img {
      display: block;
      width: 100%;
      max-width: 520px;
      height: auto;
      margin-left: auto;
      aspect-ratio: 5 / 3;
      object-fit: cover;
      border-radius: var(--r);
    }

    .aud-row img.aud-row-img.aud-row-img--natural {
      aspect-ratio: auto;
      object-fit: contain;
    }

    .aud-img {
      border-radius: var(--r);
      overflow: hidden;
      aspect-ratio: 2/1;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .sec-cat {
      font-size: 0.8875rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--green);
      margin-bottom: 1rem;
      padding-top: 1.5rem;
    }

    .aud-title {
      font-size: clamp(0.5rem, 6vw, 1.8rem);
      font-weight: 800;
      margin-bottom: 1rem;
    }

    .aud-desc {
      font-size: 1.0635rem;
      color: var(--muted);
      line-height: 1.7;
    }

    .aud-list {
      list-style: none !important;
      margin-top: 1.5rem;
    }

    .aud-list li {
      border-bottom: 1px solid var(--border);
    }

    .aud-list li:last-child {
      border-bottom: none;
    }

    .aud-list a {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--fg);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.5rem 0;
      transition: color 0.15s;
    }

    .aud-list a:hover {
      color: var(--green);
    }

    .aud-list a svg {
      width: 14px;
      height: 14px;
    }

    /* FAQ */
    .faq-page-hero {
      padding: 4rem 0;
      border-bottom: 1px solid var(--border);
      text-align: center;
    }

    .faq-section {
      padding: 3.5rem 0;
    }

    .faq-content {
      max-width: 720px;
      margin: 0 auto;
    }

    .faq-cat {
      margin-bottom: 3rem;
    }

    .faq-cat-label {
      font-size: 0.6875rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--green);
      margin-bottom: 1.25rem;
    }

    .faq-items-list {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

    .faq-item {
      border: 1px solid var(--border);
      border-radius: var(--r);
      overflow: hidden;
    }

    .faq-trigger {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 1rem 1.5rem;
      font-size: 0.875rem;
      font-weight: 600;
      text-align: left;
      transition: background 0.15s;
    }

    .faq-trigger:hover {
      background: var(--secondary);
    }

    .faq-trigger svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      color: var(--muted);
      transition: transform 0.2s;
    }

    .faq-item.open .faq-trigger svg {
      transform: rotate(180deg);
    }

    .faq-body {
      display: none;
      padding: 0 1.5rem 1.25rem;
      border-top: 1px solid var(--border);
    }

    .faq-item.open .faq-body {
      display: block;
    }

    .faq-body p {
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.7;
      padding-top: 1rem;
    }

    .faq-body a {
      display: inline-block;
      margin-top: 0.75rem;
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--green);
    }

    .faq-body a:hover {
      text-decoration: underline;
    }

    .faq-cta {
      background: var(--secondary);
      border-top: 1px solid var(--border);
      padding: 4rem 0;
      text-align: center;
    }

    .faq-cta h2 {
      font-size: 1.625rem;
      font-weight: 800;
      margin-bottom: 0.75rem;
    }

    .faq-cta p {
      color: var(--muted);
      margin-bottom: 2rem;
    }

    .faq-cta-btns {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      justify-content: center;
    }

    /* API LANDING */
    .api-lp-hero {
      padding: 3.5rem 0;
      border-bottom: 1px solid var(--border);
    }

    .api-lp-inner {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 2rem;
      align-items: start;
    }

    .api-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: rgba(0, 135, 90, 0.08);
      color: var(--green);
      border: 1px solid rgba(0, 135, 90, 0.2);
      border-radius: 999px;
      padding: 0.375rem 1rem;
      font-size: 0.75rem;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    .api-lp-title {
      font-size: clamp(2rem, 4vw, 2.75rem);
      font-weight: 900;
      letter-spacing: -0.03em;
      margin-bottom: 2rem;
    }

    .api-lp-desc {
      font-size: 1rem;
      color: var(--muted);
      line-height: 1.7;
      max-width: 580px;
      margin-bottom: 1.5rem;
    }

    .api-lp-icon {
      width: 110px;
      height: 110px;
      border-radius: var(--r);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .api-lp-icon svg {
      width: 52px;
      height: 52px;
    }

    .how-it-works {
      padding: 4rem 0;
      background: var(--secondary);
    }

    .steps-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-top: 3rem;
    }

    .step {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: var(--r);
      padding: 1.75rem;
    }

    .step-num {
      width: 28px;
      height: 28px;
      background: var(--green);
      color: #fff;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8125rem;
      font-weight: 700;
      margin-bottom: 0.875rem;
    }

    .step-title {
      font-size: 0.9375rem;
      font-weight: 700;
      margin-bottom: 0.5rem;
    }

    .step-desc {
      font-size: 0.8125rem;
      color: var(--muted);
      line-height: 1.6;
    }

    .api-lp-cta {
      padding: 4rem 0;
      text-align: center;
    }

    .api-lp-cta h2 {
      font-size: 1.625rem;
      font-weight: 800;
      margin-bottom: 0.75rem;
    }

    .api-lp-cta p {
      color: var(--muted);
      margin-bottom: 2rem;
      max-width: 480px;
      margin-left: auto;
      margin-right: auto;
    }

    .api-lp-btns {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      justify-content: center;
    }

    /* FOOTER */
    footer {
      background: var(--secondary);
      border-top: 1px solid var(--border);
      padding: 1.5rem 0;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
    }

    .ft-title {
      font-size: 0.6875rem;
      font-weight: 800;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      margin-bottom: 1rem;
    }

    .ft-links,
    .ft-links li {
      list-style: none !important;
    }

    .ft-links li+li {
      margin-top: 0.625rem;
    }

    .ft-links a,
    .ft-links button {
      font-size: 0.875rem;
      color: var(--muted);
      transition: color 0.15s;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      text-align: left;
    }

    .ft-links a:hover,
    .ft-links button:hover {
      color: var(--green);
    }

    .footer-bottom {
      margin-top: 1rem;
      padding-top: 0.5rem;
      border-top: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .footer-bottom p {
      font-size: 0.75rem;
      color: var(--muted);
    }

    .ft-logo {
      font-size: 1.125rem;
      font-weight: 900;
      letter-spacing: -0.02em;
    }

    /* RESPONSIVE */
    @media (max-width: 1024px) {

      .nav-links,
      .nav-right {
        display: none;
      }

      .mob-toggle {
        display: flex;
      }

      .api-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    @media (max-width: 768px) {
      .tiles-grid {
        grid-template-columns: 1fr;
      }

      .api-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .stats-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .aud-row {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .aud-row.rev {
        direction: ltr;
      }

      .aud-row img.aud-row-img {
        max-width: 100%;
        margin-left: 0;
      }

      .steps-grid {
        grid-template-columns: 1fr;
      }

      .api-lp-inner {
        grid-template-columns: 1fr;
      }

      .api-lp-icon {
        display: none;
      }

      .dd-inner {
        min-width: 300px;
      }

      .dd-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 480px) {
      .api-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .hero {
        padding: 3.5rem 0 3rem;
      }

      .section {
        padding: 3rem 0;
      }
    }
  </style>
  </head>
  <body>
    <main>
      
      <div id="page-retail" class="page active">
        <section class="page-hero">
          <div class="container">
            <a href="https://developers.deliverect.com/" class="back-to-hub">

            &larr; Back to Developer Documentation</a><br />
            <div class="breadcrumb">
              <a onclick="go('home')">Home</a><span>›</span><span>Retail</span>
            </div>
            <span class="label">Retail</span>
            <h1 class="heading-xl" style="margin: 1rem 0">

              Retail Integration Hub
            </h1>
            <p
              style="
                font-size: 1.0625rem;
                color: var(--muted);
                max-width: 580px;
                line-height: 1.7;
              "
            >
              Connect your retail POS to marketplaces, synchronise catalogues,
              and manage multi-store operations with Deliverect's retail APIs.
            </p>
          </div>
        </section>
        <div class="aud-rows">
          <div class="container">
            <div class="aud-row">
              <div>
                <p class="sec-cat">POS Integration</p>
                <h2 class="aud-title">Integrate your POS with Marketplaces</h2>
                <p class="aud-desc">

                  Keep product catalogues consistent across retail marketplace
                  channels with automated sync and real-time stock management.
                </p>
                <ul class="aud-list">
                  <li>
                    <a
                      href="https://developers.deliverect.com/v2.0-retail/reference/item-upload-retail"
                      target="_blank"
                      >Synchronise Catalogues
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>

                  <li>
                    <a
                      href="https://developers.deliverect.com/v2.0-retail/reference/inventory-endpoints"
                      target="_blank"
                      >Manage your Inventory
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>
                                    <li>
                    <a
                      href="https://developers.deliverect.com/v1.1-restaurants/reference/pos_ordercancel"
                      target="_blank"
                      >Receive Orders
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>
                </ul>
              </div>
              <div>
                <img
                  class="aud-row-img aud-row-img--natural"
                  width="500"
                  height="300"
                  src="https://storage.googleapis.com/retail-api-docs/retail3.png"
                  alt="Retail Insights"
                />
              </div>
            </div>
            <div class="aud-row rev">
              <div>
                <img
                  class="aud-row-img"
                  width="500"
                  height="300"
                  src="https://storage.googleapis.com/retail-api-docs/retailer.png"
                  alt="Retail Insights"
                />
              </div>
              <div>
                <p class="sec-cat">Operations</p>
                <h2 class="aud-title">Manage Store Operations</h2>
                <p class="aud-desc">

                  Administer multi-store configurations, pull analytics data,
                  and manage fulfilment preferences from a centralised API.
                </p>
                <ul class="aud-list">
                  <li>
                    <a
                      href="https://developers.deliverect.com/v1.1-restaurants/docs/reporting-endpoint-overview"
                      target="_blank"
                      >Recieve Order Events
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>
                  <li>
                    <a
                      href="https://developers.deliverect.com/v1.1-restaurants/reference/store_endpoints"
                      target="_blank"
                      >Manage your Stores
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>
                  <li>
                    <a
                      href="https://developers.deliverect.com/v3.0-ordering-experience/reference/post_fulfillment-validate"
                      target="_blank"
                      >Expand your Courier Network
                      <svg
                        viewBox="0 0 24 24"
                        fill="none"
                        stroke="currentColor"
                        stroke-width="2"
                      >
                        <path d="M5 12h14M12 5l7 7-7 7"></path></svg
                    ></a>
                  </li>
                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>
    
  <footer class="full-bleed">
    <div class="container">
      <div class="footer-grid">
        <div>
          <p class="ft-title">Documentation</p>
          <ul class="ft-links">
            <li>
              <a href="https://developers.deliverect.com/page/partners" rel="noopener noreferrer">Ordering
                Experience</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/page/restaurant" rel="noopener noreferrer">Restaurants</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/page/retail" rel="noopener noreferrer">Retail</a>
            </li>
          </ul>
        </div>
        <div>
          <p class="ft-title">APIs</p>
          <ul class="ft-links" id="ftApis">
            <li>
              <a href="https://developers.deliverect.com/docs/deliverect-mcp" rel="noopener noreferrer">MCP Server
                <span class="logo-badge" style="
                      font-size: 0.625rem;
                      padding: 0.125rem 0.5rem;
                      margin-left: 0.375rem;
                      vertical-align: middle;
                    ">New</span></a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v1.1-restaurants/reference/pos-api-overview"
                rel="noopener noreferrer">POS</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/commerce-api-overview"
                rel="noopener noreferrer">Online Ordering</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/pay-api-overview"
                rel="noopener noreferrer">Payments</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/dispatch-api-overview"
                rel="noopener noreferrer">Couriers</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/loyalty-channel"
                rel="noopener noreferrer">Loyalty</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v1.1-restaurants/reference/kds-api-overview"
                rel="noopener noreferrer">KDS</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/crm-overview"
                rel="noopener noreferrer">CRM</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/coupons-overview"
                rel="noopener noreferrer">Coupons</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/docs/gift-card-api-overview"
                rel="noopener noreferrer">Gift Cards</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v3.0-ordering-experience/reference/upsells-overview"
                rel="noopener noreferrer">Upsells</a>
            </li>
            <li>
              <a href="https://developers.deliverect.com/v1.1-restaurants/reference/order-events"
                rel="noopener noreferrer">Reporting</a>
            </li>
          </ul>
        </div>
        <div>
          <p class="ft-title">Resources</p>
          <ul class="ft-links">
            <li>
              <a href="https://developers.deliverect.com/changelog">Changelog</a>
            </li>
            <li><a href="http://status.deliverect.com/">Status</a></li>
            <li>
              <a class="nav-link" href="https://developers.deliverect.com/page/web-faq"
                rel="noopener noreferrer">FAQ</a>
            </li>
            <li>
              <a href="https://help.deliverect.com/" rel="noopener noreferrer">Customer Helpdesk</a>
            </li>
          </ul>
        </div>
        <div>
          <p class="ft-title">Company</p>
          <ul class="ft-links">
            <li><a href="https://www.deliverect.com">deliverect.com</a></li>
            <li>
              <a href="https://www.deliverect.com/become-a-partner">Become a Partner</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <div class="footer-bottom">
      <div class="container" style="
            display: flex;
            align-items: center;
            justify-content: space-between;
          ">
        <p>© 2026 Deliverect. All rights reserved.</p>
      </div>
      <a href="https://www.deliverect.com" rel="noopener noreferrer"><img class="ft-logo"
          src="https://storage.googleapis.com/retail-api-docs/Deliverect_Logo_OffBlack.svg" alt="Deliverect" /></a>
    </div>
  </footer>

  </body>
</html>
`}</HTMLBlock>