hackclub / hackclub/theseus

sync Zenventory order state into theseus

Open
#242 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
24
Forks
18
Avg merge
7h 11m
Merged PRs (30d)
7

Description

theseus currently knows very little about what happens to an order after dispatch. the only sync is `UpdateMailingInfoJob`, which pulls shipping info (carrier, tracking, weight) from a Zenventory report once an order has shipped.

everything between "dispatched" and "mailed" is a black box — we don't know if an order has been picked, is being packed, is waiting on inventory, etc. this means we can't guard against edits to picked orders, and we can't surface fulfillment status to users.

came up on `pkg!6pnt96nw` — a web UI edit pushed new line items to Zenventory after the order was already picked, causing an unpick/repick that AGH flagged.

**want:** sync Zenventory's order state (pick status, fulfillment status, anything else useful) into theseus, either on-demand or periodically. use that to:
- block edits to orders that have already been picked
- surface fulfillment status in the UI
- generally close the gap between "dispatched" and "mailed"

Contributor guide

Open the contributing guide

Research direction

Start by reading UpdateMailingInfoJob and tracing the existing Zenventory report sync. From there, determine where order state can be stored and exposed to the web UI, and define how on-demand or periodic synchronization should work. Done means picked and fulfillment states are available to prevent edits and inform users.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.