72 lines
3.4 KiB
Bash
72 lines
3.4 KiB
Bash
# Copy this file to .env and fill in your values.
|
|
# You can also edit these from within the app: Settings menu -> Edit Settings.
|
|
|
|
# --- Database ---
|
|
# Local (default): sqlite:///orders.db
|
|
# Later, point at your MariaDB LXC, e.g.:
|
|
# DB_URL=mysql+pymysql://user:[email protected]:3306/order_manager
|
|
DB_URL=sqlite:///orders.db
|
|
|
|
# --- JIRA ---
|
|
# Your Atlassian site, e.g. https://yourcompany.atlassian.net
|
|
JIRA_URL=
|
|
# The email address tied to your JIRA API token
|
|
JIRA_EMAIL=
|
|
# Create one at https://id.atlassian.com/manage-profile/security/api-tokens
|
|
JIRA_API_TOKEN=
|
|
# JQL used to pull "today's orders". Adjust to match how your team tags order tickets.
|
|
JIRA_JQL=project = AR AND created >= startOfDay() ORDER BY created ASC
|
|
# Deliverable/SKU-bearing custom fields, per company (comma-separated field IDs)
|
|
JIRA_SIGNIFY_SKU_FIELDS=customfield_10573,customfield_10570
|
|
JIRA_OAKSTREET_SKU_FIELDS=customfield_12790,customfield_13021
|
|
# Recipient/shipping contact fields - shared across both companies' tickets.
|
|
# Only used by the emergency "Send to ShipStation" action.
|
|
JIRA_FIELD_NAME=customfield_10662
|
|
JIRA_FIELD_PHONE=customfield_10424
|
|
JIRA_FIELD_EMAIL=customfield_10544
|
|
JIRA_FIELD_ADDRESS1=customfield_10654
|
|
# Best guess pending confirmation - both "Address 1" and "Address 2" were
|
|
# listed with the same label, this assumes the second one is Address 2.
|
|
# Verify via double-click -> raw payload on a ticket that has both filled in.
|
|
JIRA_FIELD_ADDRESS2=customfield_10655
|
|
JIRA_FIELD_CITY=customfield_10480
|
|
JIRA_FIELD_STATE=customfield_10560
|
|
JIRA_FIELD_ZIP=customfield_10479
|
|
JIRA_FIELD_NPI=customfield_10349
|
|
|
|
# --- ShipStation (API V2) ---
|
|
# Used to pull tracking numbers for JIRA tickets (order/shipment numbers
|
|
# there are the same as the JIRA ticket number), and for the emergency
|
|
# "Send to ShipStation" action.
|
|
SHIPSTATION_API_KEY=
|
|
# Store IDs - only needed for the emergency send (creating a new order
|
|
# needs to know which store to put it in; pulling tracking numbers doesn't).
|
|
SHIPSTATION_SIGNIFY_STORE_ID=se-221889
|
|
SHIPSTATION_OAKSTREET_STORE_ID=se-367672
|
|
|
|
# --- Companies ---
|
|
# SKU prefix -> company. Add more "PREFIX:Company" pairs as you add companies.
|
|
COMPANY_SKU_MAP=SH:Signify Health,OK:Oak Street Health
|
|
# Fallback pattern for recognizing the AR-###### ticket number if it's ever
|
|
# not found in ShipStation's usual shipment_number/external_shipment_id fields.
|
|
TICKET_NUMBER_REGEX=\b[A-Z]{2,6}-\d{3,}\b
|
|
|
|
# --- Status Tracking ---
|
|
# Statuses where we stop re-checking a ticket on future imports (comma-separated).
|
|
# Defaults to Cancelled + both fulfilled statuses below, since none of those
|
|
# need to be re-checked once reached. Add more if your workflow gets other
|
|
# terminal statuses later.
|
|
JIRA_TERMINAL_STATUSES=Cancelled,Waiting For Return,Device Return Not Needed
|
|
# Statuses that get highlighted red in the table and trigger a popup when a
|
|
# ticket newly transitions into one (comma-separated).
|
|
CANCELLED_STATUSES=Cancelled
|
|
# The two statuses your team uses at end-of-day close-out, depending on
|
|
# whether ShipStation's automation also generated a return label. Reaching
|
|
# either one moves a ticket to the Done tab and out of the active view.
|
|
FULFILLED_STATUS_WITH_RETURN=Waiting For Return
|
|
FULFILLED_STATUS_WITHOUT_RETURN=Device Return Not Needed
|
|
# Daily intake cutoff (24h HH:MM). Tickets created after this time on their
|
|
# arrival day are flagged "Past Cutoff" in the table and counted on the
|
|
# Dashboard - they didn't get a full window to be processed same-day.
|
|
INTAKE_CUTOFF_TIME=15:30
|