Member Home

TRV Host Center

Manage your Host status, membership, trip concepts and earnings.

Loading Host account…

+(Number(e.amount_cents||0)/100).toFixed(2)+' · '+esc(e.status)+(e.trips?.title?'
'+esc(e.trips.title):'')+(e.reason?'
'+esc(e.reason):'')+'').join(''):'

No eligible Host earnings yet.

')+'':''; app.innerHTML=gate+proposalBlock; document.querySelectorAll('.host-plan').forEach(b=>b.onclick=async()=>{b.disabled=true;const{data:{session}}=await supabase.auth.getSession();const r=await fetch('/api/create-host-checkout',{method:'POST',headers:{'content-type':'application/json','authorization':'Bearer '+session.access_token},body:JSON.stringify({plan:b.dataset.plan})});const d=await r.json().catch(()=>({}));if(!r.ok||!d.url){document.getElementById('billMsg').textContent=d.error||'Host checkout could not be started.';b.disabled=false;return}location.assign(d.url)}); document.getElementById('proposalForm')?.addEventListener('submit',async e=>{e.preventDefault();const v=Object.fromEntries(new FormData(e.currentTarget).entries());const payload={user_id:user.id,status:'submitted',title:v.title.trim(),destination:v.destination.trim(),preferred_start:v.preferred_start||null,preferred_end:v.preferred_end||null,theme:v.theme.trim()||null,audience:v.audience.trim()||null,expected_travelers:v.expected_travelers?Number(v.expected_travelers):null,activities:v.activities.trim()||null,notes:v.notes.trim()||null,submitted_at:new Date().toISOString()};const{error}=await supabase.from('host_trip_proposals').insert(payload);document.getElementById('proposalMsg').textContent=error?error.message:'Trip concept submitted to TRV ✓';if(!error)setTimeout(()=>location.reload(),700)})}}}