Store API - Diagram

%%{init: { "theme": "base", "themeVariables": { "fontSize": "18px", "background": "transparent", "actorBkg": "#038851", "actorTextColor": "#ffffff", "actorBorder": "#026139", "actorLineColor": "#94a3b8", "signalColor": "#64748b", "signalTextColor": "#059669", "noteBkgColor": "#e6f4ee", "noteTextColor": "#02502f", "noteBorderColor": "#038851", "activationBkgColor": "#c6ebdc", "activationBorderColor": "#026139", "sequenceNumberColor": "#ffffff" }, "sequence": { "useMaxWidth": true, "actorMargin": 70, "width": 150, "height": 60, "boxMargin": 12, "noteMargin": 14, "messageMargin": 50, "diagramMarginX": 20, "diagramMarginY": 20, "actorFontSize": 18, "actorFontWeight": 700, "noteFontSize": 15, "noteFontFamily": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace", "messageFontSize": 16, "messageFontWeight": 700,  "noteAlign": "left", "mirrorActors": false } }}%%

sequenceDiagram
  participant Store Partner
  participant Deliverect
  participant POS

  Note over Store Partner,Deliverect: Discover locations
  Store Partner->>Deliverect: GET locations
  Deliverect-->>Store Partner: locations linked to partner account

  Note over Store Partner,POS: POS products
  Store Partner->>Deliverect: Request product sync
  Deliverect->>POS: Sync products
  POS-->>Deliverect: POS products synced to Deliverect
  Deliverect-->>Store Partner: Sync accepted
  Store Partner->>Deliverect: GET POS products
  Deliverect-->>Store Partner: Products stored for account

  Note over Store Partner,Deliverect: Product availability snooze
  Store Partner->>Deliverect: POST snooze by PLU
  Store Partner->>Deliverect: POST snooze by tag
  Deliverect-->>Store Partner: Products marked out of stock
  Store Partner->>Deliverect: GET snoozed products
  Deliverect-->>Store Partner: Currently snoozed items

  Note over Store Partner,Deliverect: Store busy mode
  Store Partner->>Deliverect: POST store status
  Deliverect-->>Store Partner: Busy mode set for channel(s)

  Note over Store Partner,Deliverect: Opening hours
  Store Partner->>Deliverect: GET account opening hours
  Store Partner->>Deliverect: GET location opening hours
  Deliverect-->>Store Partner: Regular opening hours
  Store Partner->>Deliverect: POST update opening hours
  Deliverect-->>Store Partner: location and/or channel hours updated

  Note over Store Partner,Deliverect: Holiday hours
  Store Partner->>Deliverect: POST location holiday hours
  Deliverect-->>Store Partner: special hours saved
  Store Partner->>Deliverect: GET location holiday hours
  Deliverect-->>Store Partner: special operating hours