flowchart LR
  subgraph I [Initial Carrier Identification]
    GRMC["Greeting: Request MC and Name"]
    TSC["Search Carrier API"]
    MCNF["MC Number Not Found"]
    UMC["Update MC Number"]
    MCR["MC Number Required"]
    NMT["No MC Number Transfer"]
    PC["Phone Number Check"]
  end

  subgraph II [Transition to Load and AI Agent Pitch]
    AAP["AI Agents Pitch"]
    AAIN["Activate AI Agent Nurture"]
    LAIN["Log AI Negativity"]
  end

  subgraph III [Load Search and Confirmation]
    TSL["Search Loads API"]
    LN["Load Not Found"]
    LF["Load Found"]
  end

  subgraph IV [Load Details and Offer Presentation]
    GLD["Get Load Details API"]
    LDN["Load Details Not Found"]
    LDF["Load Details Found"]
    GOD["Get Offer Details API"]
    ODF["Offer Details Found"]
    ODN["Offer Details Not Found"]
    LD["Load Denied"]
    PNB["Pre-Negotiation Backout"]
  end

  subgraph V [Trade Ask and Negotiation Phase]
    GTID["Get Trade Ask ID API"]
    TIDN["Trade Ask ID Not Found"]
    TIDF["Trade Ask ID Found"]
    GTIDR["Retry Get Trade Ask ID API"]
    N1["Negotiation: Propose Rate"]
    RAI["Rate Accept Init"]
    TFB["Transfer for Min Bid"]
  end

  GRMC -- "User provides MC Number" --> TSC
  GRMC -- "User does not provide MC Number" --> MCR
  MCNF -- "User confirms MC Number" --> TSC
  MCNF -- "User provides updated MC Number" --> UMC
  UMC -.-> TSC
  MCR -- "User provides MC Number" --> TSC
  MCR -- "No MC Number provided" --> NMT
  PC -.-> AAP
  AAP -- "User is interested" --> AAIN
  AAP -- "User not interested" --> LAIN
  AAIN -- "User provides load ref" --> TSL
  AAIN -- "Load ref null" --> NMT
  LAIN -- "Load ref null" --> NMT
  LAIN -- "Load ref provided" --> TSL
  TSL -.-> LF
  LN -- "User provides revised load ref" --> TSL
  LN -- "No clarity on load ref" --> NMT
  LF -.-> GLD
  GLD -- "if apiLoadStatus==PUBLISHED" --> LDF
  GLD -- "if apiLoadStatus!=PUBLISHED" --> LDN
  LDF -- "User confirms" --> GOD
  LDF -- "User denies" --> LD
  GOD -- "if offer origin valid" --> ODF
  GOD -- "if offer status not published" --> ODN
  ODN -- "User responded" --> TFB
  LDN -- "User responded" --> NMT
  ODF -.-> GTID
  GTID -- "if apiTradeAskId not null" --> TIDF
  GTID -- "if apiTradeAskId null" --> TIDN
  TIDN -- "User responded" --> GTIDR
  GTIDR -.-> N1
  GTIDR -- "if apiTradeAskId null" --> ODN
  TIDF -- "User counters rate" --> N1
  LD -- "User no longer interested" --> PNB
  N1 -- "Rate accepted" --> RAI

flowchart LR
  subgraph I [Initial Carrier Identification]
    GRMC["Greeting: Request MC and Name"]
    TSC["Search Carrier API"]
    MCNF["MC Number Not Found"]
    UMC["Update MC Number"]
    MCR["MC Number Required"]
    NMT["No MC Number Transfer"]
    PC["Phone Number Check"]
    VCR["Verify Carrier Registration"]
    CRF["Carrier Registration Failed"]
  end

  subgraph II [Transition to Load and AI Agent Pitch]
    AAP["AI Agents Pitch"]
    AAIN["Activate AI Agent Nurture"]
    LAIN["Log AI Negativity"]
    AES["AI Engagement Score"]
  end

  subgraph III [Load Search and Confirmation]
    TSL["Search Loads API"]
    LN["Load Not Found"]
    LF["Load Found"]
    LV["Load Validation"]
  end

  subgraph IV [Load Details and Offer Presentation]
    GLD["Get Load Details API"]
    LDN["Load Details Not Found"]
    LDF["Load Details Found"]
    GOD["Get Offer Details API"]
    ODF["Offer Details Found"]
    ODN["Offer Details Not Found"]
    LD["Load Denied"]
    PNB["Pre-Negotiation Backout"]
    LQC["Load Quality Check"]
  end

  subgraph V [Trade Ask and Negotiation Phase]
    GTID["Get Trade Ask ID API"]
    TIDN["Trade Ask ID Not Found"]
    TIDF["Trade Ask ID Found"]
    GTIDR["Retry Get Trade Ask ID API"]
    N1["Negotiation: Propose Rate"]
    RAI["Rate Accept Init"]
    TFB["Transfer for Min Bid"]
    RV["Rate Validation"]
    NC["Negotiation Complete"]
  end

  GRMC -- "User provides MC Number" --> TSC
  GRMC -- "User does not provide MC Number" --> MCR
  MCNF -- "User confirms MC Number" --> TSC
  MCNF -- "User provides updated MC Number" --> UMC
  UMC -.-> TSC
  MCR -- "User provides MC Number" --> TSC
  MCR -- "No MC Number provided" --> NMT
  TSC -- "Valid MC" --> VCR
  VCR -- "Registration Invalid" --> CRF
  PC -.-> AAP
  AAP -- "User is interested" --> AAIN
  AAP -- "User not interested" --> LAIN
  AAIN -- "User provides load ref" --> TSL
  AAIN -- "Load ref null" --> NMT
  LAIN -- "Load ref null" --> NMT
  LAIN -- "Load ref provided" --> TSL
  TSL -.-> LF
  LN -- "User provides revised load ref" --> TSL
  LN -- "No clarity on load ref" --> NMT
  LF -- "Validation required" --> LV
  LV -.-> GLD
  GLD -- "if apiLoadStatus==PUBLISHED" --> LDF
  GLD -- "if apiLoadStatus!=PUBLISHED" --> LDN
  LDF -- "Quality check required" --> LQC
  LQC -- "Pass" --> GOD
  LDF -- "User denies" --> LD
  GOD -- "if offer origin valid" --> ODF
  GOD -- "if offer status not published" --> ODN
  ODN -- "User responded" --> TFB
  LDN -- "User responded" --> NMT
  ODF -.-> GTID
  GTID -- "if apiTradeAskId not null" --> TIDF
  GTID -- "if apiTradeAskId null" --> TIDN
  TIDN -- "User responded" --> GTIDR
  GTIDR -.-> N1
  GTIDR -- "if apiTradeAskId null" --> ODN
  TIDF -- "User counters rate" --> N1
  N1 -- "Rate validation required" --> RV
  RV -- "Rate valid" --> RAI
  RAI -- "Acceptance confirmed" --> NC
  LD -- "User no longer interested" --> PNB
flowchart TD
  subgraph I [Initial Process]
    GRMC["Greeting: Request MC and Name"]
    TSC["Search Carrier API"]
    MCNF["MC Number Not Found"]
    UMC["Update MC Number"]
    MCR["MC Number Required"]
    NMT["No MC Number Transfer"]
    PC["Phone Number Check"]
    VCR["Verify Carrier Registration"]
    CRF["Carrier Registration Failed"]
    AAP["AI Agents Pitch"]
    AAIN["Activate AI Agent Nurture"]
    LAIN["Log AI Negativity"]
    AES["AI Engagement Score"]
  end

  GRMC -- "User provides MC Number" --> TSC
  GRMC -- "User does not provide MC Number" --> MCR
  MCNF -- "User confirms MC Number" --> TSC
  MCNF -- "User provides updated MC Number" --> UMC
  UMC -.-> TSC
  MCR -- "User provides MC Number" --> TSC
  MCR -- "No MC Number provided" --> NMT
  TSC -- "Valid MC" --> VCR
  VCR -- "Registration Invalid" --> CRF
  PC -.-> AAP
  AAP -- "User is interested" --> AAIN
  AAP -- "User not interested" --> LAIN

flowchart LR
  subgraph II [Load and Negotiation Process]
    TSL["Search Loads API"]
    LN["Load Not Found"]
    LF["Load Found"]
    LV["Load Validation"]
    GLD["Get Load Details API"]
    LDN["Load Details Not Found"]
    LDF["Load Details Found"]
    GOD["Get Offer Details API"]
    ODF["Offer Details Found"]
    ODN["Offer Details Not Found"]
    LD["Load Denied"]
    PNB["Pre-Negotiation Backout"]
    LQC["Load Quality Check"]
    GTID["Get Trade Ask ID API"]
    TIDN["Trade Ask ID Not Found"]
    TIDF["Trade Ask ID Found"]
    GTIDR["Retry Get Trade Ask ID API"]
    N1["Negotiation: Propose Rate"]
    RAI["Rate Accept Init"]
    TFB["Transfer for Min Bid"]
    RV["Rate Validation"]
    NC["Negotiation Complete"]
  end

  TSL -.-> LF
  LN -- "User provides revised load ref" --> TSL
  LN -- "No clarity on load ref" --> NMT
  LF -- "Validation required" --> LV
  LV -.-> GLD
  GLD -- "if apiLoadStatus==PUBLISHED" --> LDF
  GLD -- "if apiLoadStatus!=PUBLISHED" --> LDN
  LDF -- "Quality check required" --> LQC
  LQC -- "Pass" --> GOD
  LDF -- "User denies" --> LD
  GOD -- "if offer origin valid" --> ODF
  GOD -- "if offer status not published" --> ODN
  ODN -- "User responded" --> TFB
  LDN -- "User responded" --> NMT
  ODF -.-> GTID
  GTID -- "if apiTradeAskId not null" --> TIDF
  GTID -- "if apiTradeAskId null" --> TIDN
  TIDN -- "User responded" --> GTIDR
  GTIDR -.-> N1
  GTIDR -- "if apiTradeAskId null" --> ODN
  TIDF -- "User counters rate" --> N1
  N1 -- "Rate validation required" --> RV
  RV -- "Rate valid" --> RAI
  RAI -- "Acceptance confirmed" --> NC
  LD -- "User no longer interested" --> PNB