|
def render_book_session(): |
|
""" |
|
Render the booking page for AI financial advisor sessions. |
|
|
|
This feature allows founders to schedule dedicated sessions with the AI |
|
financial advisor for more comprehensive analysis and guidance. |
|
""" |
|
st.markdown("<h1 class='main-header'>Book a Session</h1>", unsafe_allow_html=True) |
|
st.markdown("<p class='sub-header'>Schedule dedicated time with our AI financial advisor</p>", unsafe_allow_html=True) |
|
|
|
# How AI advisor sessions work |
|
with st.expander("ℹ️ How AI advisor sessions work"): |
|
st.markdown(""" |
|
### How AI Advisor Sessions Work |
|
|
|
Our AI financial advisor sessions combine advanced AI with a structured approach: |
|
|
|
- **Pre-Session Analysis**: Our AI analyzes your financial data before the session to identify key issues |
|
- **Interactive Consultation**: During the session, you'll interact with our AI advisor through voice and text |
|
- **Deep-Dive Analysis**: The system provides more comprehensive analysis than what's available in chat |
|
- **Custom Reporting**: After each session, you'll receive a detailed report with actionable recommendations |
|
- **Follow-Up Tracking**: The system tracks implementation of recommendations and their impact |
|
|
|
This provides the depth of traditional financial consulting with the efficiency and affordability of AI. |
|
""") |
|
|
|
# Session types |
|
st.subheader("Available Session Types") |
|
|
|
col1, col2 = st.columns(2) |
|
|
|
with col1: |
|
st.markdown(""" |
|
<p>Our AI financial advisor offers specialized sessions tailored to startups at different stages. |
|
Each session includes:</p> |
|
<ul> |
|
<li>AI-powered pre-session analysis</li> |
|
<li>Interactive voice and text consultation</li> |
|
<li>Comprehensive post-session report</li> |
|
<li>30-day follow-up access for questions</li> |
|
</ul> |
|
""", unsafe_allow_html=True) |
|
|
|
with col2: |
|
st.image("https://img.freepik.com/free-vector/investor-with-money-investing-project_74855-11000.jpg", width=300) |
|
|
|
session_types = [ |
|
{ |
|
"name": "Runway Extension Strategy", |
|
"description": "Detailed analysis and recommendations to extend your startup's runway", |
|
"duration": "45 minutes", |
|
"price": "$149", |
|
"key_points": [ |
|
"Cash flow optimization", |
|
"Expense reduction strategies", |
|
"Revenue acceleration tactics", |
|
"Investor-ready runway projections" |
|
] |
|
} |
|
] |
|
|
|
# Display session types in cards |
|
for i in range(0, len(session_types), 2): |
|
cols = st.columns(2) |
|
|
|
for j in range(2): |
|
if i + j < len(session_types): |
|
session = session_types[i + j] |
|
with cols[j]: |
|
st.markdown(f""" |
|
<div class='booking-card'> |
|
<p class='session-type'>{session['name']}</p> |
|
<p class='session-duration'>{session['duration']} | {session['price']}</p> |
|
<p>{session['description']}</p> |
|
<hr> |
|
<p><strong>What's included:</strong></p> |
|
<ul> |
|
{"".join([f"<li>{point}</li>" for point in session['key_points']])} |
|
</ul> |
|
<button style='background-color: #0066cc; color: white; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer;'> |
|
Book This Session |
|
</button> |
|
</div> |
|
""", unsafe_allow_html=True) |
|
|
|
# Booking form |
|
st.subheader("Schedule Your Session") |
|
|
|
with st.form("booking_form"): |
|
col1, col2 = st.columns(2) |
|
|
|
with col1: |
|
session_type = st.selectbox("Session Type", [session["name"] for session in session_types]) |
|
date = st.date_input("Select Date", min_value=date.today() + timedelta(days=1)) |
|
|
|
with col2: |
|
time_options = ["9:00 AM", "10:00 AM", "11:00 AM", "1:00 PM", "2:00 PM", "3:00 PM", "4:00 PM"] |
|
time_slot = st.selectbox("Select Time", time_options) |
|
email = st.text_input("Email for confirmation") |
|
|
|
additional_info = st.text_area("Additional Information", |
|
placeholder="Please share any specific topics or questions you'd like to cover in the session...") |
|
|
|
submitted = st.form_submit_button("Confirm Booking") |
|
|
|
if submitted: |
|
if email: |
|
# In a real implementation, this would save the booking to a database |
|
session_price = next((s["price"] for s in session_types if s["name"] == session_type), "$0") |
|
session_duration = next((s["duration"] for s in session_types if s["name"] == session_type), "0 minutes") |
|
|
|
# Add to booked sessions |
|
if 'booked_sessions' not in st.session_state: |
|
st.session_state.booked_sessions = [] |
|
|
|
st.session_state.booked_sessions.append({ |
|
"type": session_type, |
|
"date": date.strftime("%B %d, %Y"), |
|
"time": time_slot, |
|
"price": session_price, |
|
"duration": session_duration, |
|
"additional_info": additional_info |
|
}) |
|
|
|
st.success(f"Your {session_type} session has been booked for {date.strftime('%B %d, %Y')} at {time_slot}. A confirmation email has been sent to {email}.") |
|
|
|
# Show calendar integration options |
|
st.markdown(""" |
|
<div style='background-color: #f8f9fa; padding: 15px; border-radius: 10px; margin-top: 20px;'> |
|
<h4>Add to Calendar</h4> |
|
<button style='margin-right: 10px; background-color: #0066cc; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer;'>Google Calendar</button> |
|
<button style='margin-right: 10px; background-color: #0066cc; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer;'>Apple Calendar</button> |
|
<button style='background-color: #0066cc; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer;'>Outlook</button> |
|
</div> |
|
""", unsafe_allow_html=True) |
|
else: |
|
st.error("Please enter your email for booking confirmation.") |
|
|
|
# Show upcoming sessions if any |
|
if 'booked_sessions' in st.session_state and st.session_state.booked_sessions: |
|
st.subheader("Your Upcoming Sessions") |
|
|
|
for i, session in enumerate(st.session_state.booked_sessions): |
|
st.markdown(f""" |
|
<div style='background-color: #f0f7ff; padding: 15px; border-radius: 10px; margin-bottom: 15px;'> |
|
<h4>{session['type']}</h4> |
|
<p><strong>Date & Time:</strong> {session['date']} at {session['time']}</p> |
|
<p><strong>Duration:</strong> {session['duration']} | <strong>Price:</strong> {session['price']}</p> |
|
<button style='margin-right: 10px; background-color: #ffffff; color: #0066cc; border: 1px solid #0066cc; padding: 5px 10px; border-radius: 4px; cursor: pointer;'>Reschedule</button> |
|
<button style='background-color: #ffffff; color: #dc3545; border: 1px solid #dc3545; padding: 5px 10px; border-radius: 4px; cursor: pointer;'>Cancel</button> |
|
</div> |
|
""", unsafe_allow_html=True) |
|
|
|
# Satisfaction guarantee |
|
st.markdown(""" |
|
<div style='background-color: #f0f8ff; padding: 20px; border-radius: 10px; margin-top: 30px; border-left: 4px solid #0066cc;'> |
|
<h3>100% Satisfaction Guarantee</h3> |
|
<p>If you're not completely satisfied with your AI advisor session, we'll refund your payment in full. No questions asked.</p> |
|
</div> |
|
""", unsafe_allow_html=True) |
|
|
|
# Testimonials |
|
st.subheader("What Founders Say") |
|
|
|
testimonials = [ |
|
{ |
|
"name": "Sarah Chen", |
|
"company": "HealthTech AI", |
|
"text": "The AI financial advisor provided insights that helped us extend our runway by 40%. The recommendations were practical and tailored to our specific situation." |
|
}, |
|
{ |
|
"name": "Michael Rodriguez", |
|
"company": "DeepLearn.io", |
|
"text": "I was skeptical about getting financial advice from AI, but the depth of analysis was impressive. It helped us prepare for our Series A and identify key metrics to improve." |
|
}, |
|
{ |
|
"name": "Jennifer Wu", |
|
"company": "GreenCommerce", |
|
"text": "The spending optimization session paid for itself many times over. We identified savings of over $12K per month without impacting our growth." |
|
} |
|
] |
|
|
|
testimonial_cols = st.columns(3) |
|
|
|
for i, testimonial in enumerate(testimonials): |
|
with testimonial_cols[i]: |
|
st.markdown(f""" |
|
<div style='background-color: white; padding: 15px; border-radius: 10px; height: 200px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);'> |
|
<p style='font-style: italic;'>"{testimonial['text']}"</p> |
|
<p><strong>{testimonial['name']}</strong><br>{testimonial['company']}</p> |
|
</div> |
|
""", unsafe_allow_html=True), |
|
{ |
|
"name": "Fundraising Readiness", |
|
"description": "Comprehensive preparation for your next fundraising round", |
|
"duration": "60 minutes", |
|
"price": "$199", |
|
"key_points": [ |
|
"Pitch deck optimization", |
|
"Financial model review", |
|
"Key metrics improvement", |
|
"Fundraising strategy development" |
|
] |
|
}, |
|
{ |
|
"name": "Financial Model Review", |
|
"description": "In-depth review and optimization of your financial model", |
|
"duration": "45 minutes", |
|
"price": "$179", |
|
"key_points": [ |
|
"Assumption validation", |
|
"Growth projection analysis", |
|
"Unit economics optimization", |
|
"Scenario planning" |
|
] |
|
}, |
|
{ |
|
"name": "Investor Presentation Prep", |
|
"description": "Prepare for investor meetings with comprehensive guidance", |
|
"duration": "60 minutes", |
|
"price": "$229", |
|
"key_points": [ |
|
"Financial story development", |
|
"Q&A preparation", |
|
"Due diligence readiness", |
|
"Negotiation strategy" |
|
] |
|
}, |
|
{ |
|
"name": "Spending Optimization", |
|
"description": "Identify opportunities to optimize your startup's spending", |
|
"duration": "30 minutes", |
|
"price": "$99", |
|
"key_points": [ |
|
"Category-by-category analysis", |
|
"Vendor optimization", |
|
"Resource allocation strategy", |
|
"Cost benchmarking" |
|
] |
|
} |