Free2Move Activation

mail@pastecode.io avatar
unknown
plain_text
a month ago
2.7 kB
2
Indexable
Never
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.lines as mlines
from matplotlib.offsetbox import TextArea, AnnotationBbox

fig, ax = plt.subplots(figsize=(10, 15))
ax.set_xlim(0, 10)
ax.set_ylim(0, 15)
ax.axis('off')

# Define the steps
steps = [
    "Free2move Sales Process Completed",
    "Free2move Agent Emails activations@fleetmovil.com",
    "Email Received in HubSpot Inbox",
    "Craig Hitchcock Processes Email",
    "Craig Sends Details to Roberto via Slack",
    "Roberto Creates Ticket in HubSpot",
    "Roberto Accesses CMS Manager for Activation",
    "Roberto Verifies Settings on us.free2move-connectfleet.com",
    "Roberto Updates Ticket and Notifies Free2move Contact",
    "Is Confirmation Received?",
    "Yes: Ticket Closed in HubSpot",
    "No: Revert to Last Process Point",
    "Continue Process Until Confirmation",
    "Ticket Closed in HubSpot"
]

# Coordinates for the steps
coordinates = [
    (5, 14), (5, 13), (5, 12), (5, 11), (5, 10), (5, 9), 
    (5, 8), (5, 7), (5, 6), (5, 5), (3, 4), (7, 4), (7, 3), (3, 3)
]

# Draw rectangles for steps
for (x, y), step in zip(coordinates, steps):
    rect = mpatches.FancyBboxPatch((x-1, y-0.5), 2, 1, boxstyle="round,pad=0.3", edgecolor='black', facecolor='lightblue')
    ax.add_patch(rect)
    ax.text(x, y, step, ha='center', va='center', fontsize=9)

# Draw arrows between steps
for (x1, y1), (x2, y2) in zip(coordinates[:-1], coordinates[1:]):
    if y1 == 5 and y2 == 4:
        continue
    if y1 == 5 and y2 == 3:
        ax.add_patch(mpatches.FancyArrowPatch((5, 5), (5, 4), connectionstyle="arc3,rad=0.3", mutation_scale=10, arrowstyle='-|>', color='black'))
    else:
        arrow = mlines.Line2D([x1, x2], [y1-0.5, y2+0.5], color='black', linestyle='-', linewidth=1.5, marker='o', markersize=5)
        ax.add_line(arrow)

# Special arrow for Yes/No decision
ax.add_patch(mpatches.FancyArrowPatch((5, 5), (3, 4), mutation_scale=10, arrowstyle='-|>', color='black'))
ax.add_patch(mpatches.FancyArrowPatch((5, 5), (7, 4), mutation_scale=10, arrowstyle='-|>', color='black'))
ax.add_patch(mpatches.FancyArrowPatch((7, 3), (7, 2.5), mutation_scale=10, arrowstyle='-|>', color='black'))
ax.add_patch(mpatches.FancyArrowPatch((7, 3), (5, 4.5), connectionstyle="arc3,rad=0.3", mutation_scale=10, arrowstyle='-|>', color='black'))

# Add labels for Yes/No
yes = TextArea("Yes", textprops=dict(color='black', fontsize=9))
ab = AnnotationBbox(yes, (4, 4.5), frameon=False)
ax.add_artist(ab)

no = TextArea("No", textprops=dict(color='black', fontsize=9))
ab = AnnotationBbox(no, (6, 4.5), frameon=False)
ax.add_artist(ab)

plt.show()
Leave a Comment