fin-ai / book-session.txt
walaa2022's picture
Upload 8 files
5b593c5 verified
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"
]
}