Update BOC-3 handler: Process Agent LLC (Registered Agents Inc)
ProcessAgent.com is subsidiary of Registered Agents Inc. $25/yr blanket BOC-3, no API, will automate via Playwright. Updated partner details, admin todo steps, removed dead API stub. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3385ad84a4
commit
e473953fef
1 changed files with 16 additions and 24 deletions
|
|
@ -42,14 +42,17 @@ from datetime import datetime
|
|||
|
||||
LOG = logging.getLogger("workers.services.boc3_filing")
|
||||
|
||||
# Process agent partner details
|
||||
# NWRA (Northwest Registered Agent) confirmed they no longer offer BOC-3.
|
||||
# Registered Agents Inc is the replacement vendor (contract pending).
|
||||
# Wholesale cost: ~$25 or less. Manual fulfillment until API is available.
|
||||
# Process agent partner: Registered Agents Inc / Process Agent LLC
|
||||
# ProcessAgent.com is a subsidiary of Registered Agents Inc.
|
||||
# They own commercial offices in every US state (blanket agent).
|
||||
# Cost: $25/year per carrier. No API — file via Playwright on their site.
|
||||
# Phone: (406) 300-4044
|
||||
PROCESS_AGENT_PARTNER = {
|
||||
"name": "Registered Agents Inc",
|
||||
"contact_email": "", # Update when contract is executed
|
||||
"api_endpoint": None, # Will be set when RAI API is available
|
||||
"name": "Process Agent LLC (Registered Agents Inc)",
|
||||
"website": "https://www.processagent.com",
|
||||
"phone": "(406) 300-4044",
|
||||
"cost_cents": 2500, # $25/year
|
||||
"automation": "playwright", # No API — automate via browser
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -108,25 +111,20 @@ class BOC3FilingHandler:
|
|||
"requested_at": datetime.utcnow().isoformat(),
|
||||
}
|
||||
|
||||
# If we have a process agent API, submit directly
|
||||
if PROCESS_AGENT_PARTNER.get("api_endpoint"):
|
||||
success = self._submit_to_process_agent(designation)
|
||||
if success:
|
||||
self._send_confirmation_email(order_number, entity_name, dot_number, customer_email)
|
||||
return []
|
||||
# TODO: Automate via Playwright on processagent.com/order
|
||||
# For now, create admin todo for manual filing
|
||||
|
||||
# Otherwise create admin todo
|
||||
# Create admin todo
|
||||
todo_data = {
|
||||
"order_number": order_number,
|
||||
"service": self.SERVICE_NAME,
|
||||
"designation": designation,
|
||||
"current_boc3_status": boc3_status,
|
||||
"steps": [
|
||||
"1. Submit BOC-3 designation request to process agent partner",
|
||||
"1. Go to https://www.processagent.com/order",
|
||||
"2. Submit BOC-3 order ($25) with carrier's DOT#, MC#, legal name, address",
|
||||
f" Partner: {PROCESS_AGENT_PARTNER['name']}",
|
||||
f" Email: {PROCESS_AGENT_PARTNER.get('contact_email', 'TBD')}",
|
||||
"2. Include: DOT#, MC#, legal name, address for all 48 states + DC",
|
||||
"3. Process agent files BOC-3 electronically with FMCSA",
|
||||
"3. Process Agent LLC files BOC-3 electronically with FMCSA (1-5 business days)",
|
||||
"4. Verify filing at https://li-public.fmcsa.dot.gov/LIVIEW/pkg_carrquery.prc_carrlist",
|
||||
"5. Send confirmation to client",
|
||||
],
|
||||
|
|
@ -196,12 +194,6 @@ class BOC3FilingHandler:
|
|||
except Exception as exc:
|
||||
return f"Could not check: {exc}"
|
||||
|
||||
def _submit_to_process_agent(self, designation: dict) -> bool:
|
||||
"""Submit designation to process agent partner via API."""
|
||||
# TODO: Implement when partner API is available
|
||||
LOG.warning("Process agent API not configured — falling back to admin todo")
|
||||
return False
|
||||
|
||||
def _send_status_email(self, order_number, entity_name, dot_number, customer_email):
|
||||
"""Send client an email that we're working on their BOC-3."""
|
||||
if not customer_email:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue