Verifying authentication...
Priority determines the ORDER regions are checked. Lower number = checked FIRST.
Priority 0-3: Specific cities/counties (checked FIRST) Priority 4-6: State-wide regions Priority 10+: Blocked regions & Default/fallback (checked LAST)
Note: Priority 0 = highest priority. Can be used for most important cities or emergency overrides (see Best Practice section below)
Always give specific regions (cities) LOWER priority than general regions (states).
Blocked regions should have HIGH priority (10+) so they're checked last, allowing city exceptions to be checked first.
Result: SF jobs accepted, other CA cities blocked ✓
Result: ALL CA jobs blocked, including SF ✗
Type defines HOW to match jobs to this location:
| Type | Match By | Use Case |
|---|---|---|
county |
County names | Metro areas (Dallas, Austin) |
state |
State name | State-wide coverage |
city |
City names | Specific cities |
zip |
ZIP codes | Very specific areas |
default |
Everything | Catch-all fallback |
The "default" type with empty matchCriteria: {} has special fallback behavior that IGNORES its priority number!
{
"id": "houston",
"type": "default",
"priority": 5, ← This number is IGNORED!
"matchCriteria": {}, ← Empty = fallback only
"accounts": ["Urgent.ly", "Honk"]
}
What happens:
false in priority loopConfiguration: Priority 5: Houston (default, empty criteria) Priority 6: Austin (city, cities: ["Austin"]) Job from "Austin, Texas": 1. Check Priority 5 (Houston) → Empty criteria → Skip 2. Check Priority 6 (Austin) → City matches → ACCEPT ✓ Result: Austin wins even though it has HIGHER priority number!
Key Point: City with priority 6 beats default with priority 5 because default is only a fallback.
Job from "Houston, Harris County, Texas": 1. Check Priority 1 (Dallas) → Harris County not in Dallas → Skip 2. Check Priority 2 (Austin) → Harris County not in Austin → Skip 3. Check Priority 3 (San Antonio) → Harris County not in SA → Skip 4. Check Priority 4 (California) → State not California → Skip 5. Check Priority 5 (Houston default) → Empty criteria → Skip 6. Fallback Check → Houston (type=default) → MATCH ✓ Result: Houston accepts job as catch-all fallback
Default = "Accept the job if nothing else matches"
| Scenario | Behavior |
|---|---|
| Default with empty criteria | Acts as fallback (lowest priority) |
| Default with actual criteria | Matches in priority loop like any other |
| Default priority number | Ignored for empty criteria |
| Other types vs Default | Always checked before default fallback |
"If default has priority 5 and city has priority 6, default wins"
This is WRONG!
✅ Correct: Default with empty criteria is ALWAYS checked last, regardless of priority number.
Think of it as: Empty matchCriteria = "I'm a safety net, check me only if nothing else works"
Use priority 21+ for default types with empty criteria to make it clear they're fallbacks:
{
"id": "houston",
"type": "default",
"priority": 21, ← Clear intent: fallback region
"matchCriteria": {},
"accounts": ["Urgent.ly", "Honk"]
}
This makes the configuration more readable and intent clearer!
Understanding the difference between these two settings:
Controls whether you're accepting jobs from this region:
enabled: true → "We ARE accepting jobs from this region"enabled: false → "We are NOT accepting jobs right now"Permanent rejection flag:
blocked: true → "NEVER accept jobs from this region (always reject)"blocked: false → "Normal processing (check enabled status)"1. Is the region blocked? YES → ❌ REJECT the job immediately (ignore enabled flag) NO → Continue to step 2 2. Is the region enabled? YES → ✅ ACCEPT the job NO → ⛔ DON'T accept the job
{
"id": "florida",
"blocked": true,
"enabled": false ← doesn't matter, blocked overrides
}
Result: ALL Florida jobs are REJECTED
Reason: blocked: true means "never accept"
{
"id": "dallas",
"blocked": false,
"enabled": true
}
Result: Dallas jobs are ACCEPTED
Reason: Not blocked + enabled = accept jobs
{
"id": "austin",
"blocked": false,
"enabled": false
}
Result: Austin jobs are NOT accepted
Reason: Not blocked, but disabled = don't accept right now
Difference from blocked: You can toggle enabled back to true later easily
| Scenario | Settings |
|---|---|
| Never accept jobs (like Florida) | blocked: true, enabled: false |
| Actively accepting jobs (like Dallas) | blocked: false, enabled: true |
| Temporarily not accepting (maintenance) | blocked: false, enabled: false |
| Accept cities, block rest of state | City: blocked: false, enabled: trueState: blocked: true, enabled: false |
"When we block a region we must enable it to make blocking work"
This is WRONG!
✅ Correct: blocked: true ALONE makes blocking work (enabled is ignored)
Think of it: blocked: true = "Hard NO" (permanent), enabled: false = "Soft NO" (temporary)
When you check "Blocked (Reject Jobs)":
| Scenario | Priority Setting | Works? | Best Practice? |
|---|---|---|---|
| Block ALL Florida (no exceptions) | Priority 0 (low) | ✅ Yes | ⚠️ Works but not recommended |
| Block ALL Florida (no exceptions) | Priority 10 (high) | ✅ Yes | ✅ Recommended |
| Block Florida EXCEPT Miami | Miami: 2, Florida: 0 | ❌ No (Miami blocked too!) | ❌ Wrong |
| Block Florida EXCEPT Miami | Miami: 2, Florida: 10 | ✅ Yes | ✅ Correct |
Sometimes you need to temporarily block ALL jobs from a region, even if you have specific cities enabled.
You're currently accepting jobs from Miami, but need to temporarily block ALL Florida (including Miami) due to an emergency.
Priority 2: Miami (enabled: true, blocked: false) Priority 10: Florida (enabled: false, blocked: true)
Result: Miami accepted ✅, Other Florida rejected ❌
Priority 0: Florida (enabled: false, blocked: true) ← NEW! Override Priority 2: Miami (enabled: true, blocked: false) ← Existing, never reached
Result: ALL Florida rejected ❌ (including Miami)
Why Priority 0 Works Here:
Priority 2: Miami (enabled) ← Checked first Priority 10: Florida (blocked) ← Checked last Use when: You want specific cities enabled, rest blocked
Priority 0: Florida (blocked) ← Checked first (overrides) Priority 2: Miami (enabled) ← Never reached Use when: You want to block EVERYTHING temporarily, ignoring exceptions
| Situation | Pattern | Priority |
|---|---|---|
| Block Florida, EXCEPT Miami | Allow exceptions | Florida: 10 (high) |
| Block ALL Florida (including Miami) | Emergency override | Florida: 0 (low) |
| Temporarily disable region | Normal | Set enabled: false |
The emergency override pattern (priority 0) is useful for temporary situations. Once the emergency is over, consider removing the override or changing it back to high priority (10+) to allow future exceptions.
ID: dallas Type: county Priority: 1 Match Criteria: Counties: Dallas County, Denton County, Tarrant County
Matches: Jobs from any of these counties
ID: california Type: state Priority: 5 Match Criteria: State: California
Matches: Any job where state = "California"
ID: texasmetro Type: county Match Criteria: Counties: Dallas County, Harris County Cities: Houston, Dallas State: Texas
Matches: If county OR city OR state matches (any one is enough)
When a location has multiple criteria types, they use OR logic. Only ONE needs to match!
{
"id": "austin",
"matchCriteria": {
"counties": ["Travis County", "Williamson County"],
"zips": ["78701", "78702", "78703"]
}
}
This matches if:
Only ONE criterion needs to match!
County: Travis County ZIP: 78701
→ MATCHES! Travis County is in counties list
County: Williamson County ZIP: 78664 (NOT in zip list)
→ MATCHES! Williamson County is in counties list
(Even though ZIP is not in list, county matched!)
County: Hays County (NOT in counties list) ZIP: 78702 (IS in zip list)
→ MATCHES! ZIP 78702 is in zips list
(County doesn't match, but ZIP does!)
County: Hays County (NOT in list) ZIP: 78748 (NOT in list)
→ NO MATCH - Neither county nor ZIP matches
(Falls through to next priority region)
You can cover a broad area (counties) PLUS specific exceptions (ZIPs)!
Use Case: Service all of Travis & Williamson counties, PLUS 3 downtown ZIPs that might be in adjacent counties. Result: ✅ ALL of Travis County ✅ ALL of Williamson County ✅ PLUS those 3 specific ZIPs (even if in Hays County) Flexibility! Broad coverage + special cases!
Multiple criteria does NOT mean "must match ALL"
WRONG: "Must be in Travis County AND must be ZIP 78701" RIGHT: "Must be in Travis County OR must be ZIP 78701"
Adding criteria EXPANDS matching, not restricts it!
Priority 2: San Francisco Priority 2: Los Angeles Priority 2: San Diego Priority 10: California (other areas)
These cities don't overlap, so same priority is fine!
Priority 2: Austin (has Travis County) Priority 2: San Antonio (also has Travis County)
Travis County in both → Unpredictable which matches first!
Fix: Use priority 2 for Austin, priority 3 for San Antonio
enabled: false to test before going liveGoal: Accept SF/LA/SD, block rest of California Setup: 1. San Francisco - Priority: 2 (checked first) - Type: city - Cities: San Francisco, Oakland - Counties: San Francisco County - Enabled: ✓ 2. Los Angeles - Priority: 2 (same level as SF) - Type: city - Cities: Los Angeles, Long Beach - Counties: Los Angeles County - Enabled: ✓ 3. San Diego - Priority: 2 (same level) - Type: city - Cities: San Diego - Counties: San Diego County - Enabled: ✓ 4. California Other - Priority: 10 (checked last!) - Type: state - State: California - Blocked: ✓ Result: ✓ SF job → Matches priority 2 → Accepted ✓ LA job → Matches priority 2 → Accepted ✓ SD job → Matches priority 2 → Accepted ✗ Fresno job → Matches priority 10 → Blocked
| Field | Purpose | Example |
|---|---|---|
| ID | Unique identifier for API | dallas |
| Priority | Check order (lower first) | 1-3 cities, 4-6 states |
| Type | Matching strategy | county, state, city |
| Enabled | Accept jobs? | ✓ Yes / ✗ No |
| Blocked | Reject all jobs? | ✓ Yes (like Florida) |