Remote Role — Senior Expert Revenue Manager (Short-Term Rentals)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

$13-$20

HOURS PER WEEK

30

DATE UPDATED

Aug 21, 2026

JOB OVERVIEW

Remote Role — Senior Expert Revenue Manager (Short-Term Rentals)
Part-Time | Remote | 20–30 hours/week
Preferred Location: Worldwide

About RevTech
RevTech is a fast-growing hospitality tech company based in London. We help hotels and short-term rentals grow revenue through smarter pricing, stronger visibility, and performance optimisation across platforms like Airbnb and ---------- .
We’re on a mission to partner with 10,000 hotels and STRs in the next 3 years — and we’re building a high-performance revenue team to make that happen.
At RevTech, we operate on three core principles:
Results over promises – We deliver measurable impact
Constant improvement – We optimize everything, always
Move fast – We execute with speed and clarity

The Role
We’re hiring a Revenue Manager (Short-Term Rentals) with at least 2 years of hands-on experience managing pricing and performance across OTAs like Airbnb and ---------- .
This is not an admin role — you will own pricing strategy, performance analysis, and revenue growth for a portfolio of properties with a minimum of 313 units.
You will work with tools like PriceLabs, Wheelhouse, PMS, and Channel Managers to actively optimise listings and drive results.

Core Responsibilities
Revenue & Pricing Ownership
Manage dynamic pricing strategies across Airbnb, ---------- , and other OTAs
Use PriceLabs (or similar tools) to optimise rates, minimum stays, and restrictions
Adjust pricing based on:
Demand trends
Seasonality
Booking pace
Competitor positioning

Performance Analysis & Optimization
Analyze:
Visibility (views, ranking)
Conversion rates
Booking pace
Revenue performance
Identify underperformance drivers and take corrective action
Continuously test and refine pricing strategies

Systems & Integrations
Work confidently with:
PMS systems
Channel managers (e.g., Hostify, RMS, etc.)
Ensure:
Pricing sync accuracy
Rate plans correctly mapped
Availability and restrictions aligned across platforms

Market & Competitor Analysis
Monitor competitor pricing and positioning
Identify:
Pricing gaps
Demand spikes/drops
Market opportunities
Translate insights into actionable pricing decisions

Execution & Coordination
Implement:
Price changes
Stay restrictions
Availability adjustments
Coordinate with internal teams for:
Listing improvements
Content optimization
Performance fixes

Strategic Recommendations
Advise clients on:
Pricing strategies
Cancellation policies
Booking window optimization
Revenue protection tactics

Reporting & Documentation
Maintain clear visibility of actions and performance
Contribute to revenue reporting and insights
Document strategies, learnings, and improvements

Success Looks Like
Metric
Target
Revenue Growth
Consistent uplift vs baseline
Pricing Accuracy
99% sync across platforms
Response Time

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0149
Total Execution Time  0.0162
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,497,976 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Remote-Role-Senior-Expert-Revenue-Manager-Short-Term-Rentals-1634175
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0094 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1634175
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 926807
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1634175
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-25',ej.date_added) duration_daysDATEDIFF('2026-08-25',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1634175' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1634175 
0.0011   UPDATE employer_jobs SET hit_counts '***Apr-28-2026=310***Apr-29-2026=63***Apr-30-2026=40***May-01-2026=39***May-02-2026=9***May-03-2026=13***May-04-2026=27***May-05-2026=20***May-06-2026=9***May-07-2026=11***May-08-2026=8***May-09-2026=4***May-10-2026=1***May-11-2026=14***May-12-2026=4***May-13-2026=8***May-14-2026=7***May-15-2026=7***May-16-2026=15***May-17-2026=4***May-18-2026=7***May-19-2026=10***May-20-2026=7***May-21-2026=5***May-22-2026=2***May-23-2026=2***May-24-2026=2***May-26-2026=5***May-27-2026=3***May-28-2026=4***Jun-01-2026=2***Jun-02-2026=386***Jun-03-2026=14***Jun-04-2026=10***Jun-05-2026=8***Jun-06-2026=3***Jun-07-2026=6***Jun-08-2026=3***Jun-09-2026=6***Jun-11-2026=6***Jun-12-2026=3***Jun-13-2026=8***Jun-15-2026=13***Jun-16-2026=1***Jun-18-2026=1***Jun-19-2026=4***Jun-20-2026=1***Jun-21-2026=1***Jun-22-2026=1***Jun-23-2026=5***Jun-25-2026=293***Jun-26-2026=72***Jun-27-2026=60***Jun-28-2026=69***Jun-29-2026=12***Jun-30-2026=2***Jul-01-2026=2***Jul-02-2026=1***Jul-03-2026=5***Jul-04-2026=4***Jul-05-2026=3***Jul-06-2026=4***Jul-07-2026=5***Jul-08-2026=1***Jul-09-2026=9***Jul-10-2026=4***Jul-11-2026=2***Jul-12-2026=1***Jul-13-2026=2***Jul-14-2026=5***Jul-15-2026=1***Jul-16-2026=3***Jul-17-2026=4***Jul-18-2026=3***Jul-19-2026=1***Jul-20-2026=1***Jul-21-2026=2***Jul-22-2026=1***Jul-23-2026=2***Jul-24-2026=3***Jul-25-2026=7***Jul-26-2026=4***Jul-27-2026=4***Jul-28-2026=2***Jul-29-2026=1***Jul-30-2026=1***Jul-31-2026=4***Aug-01-2026=3***Aug-02-2026=3***Aug-03-2026=3***Aug-04-2026=3***Aug-05-2026=806***Aug-06-2026=95***Aug-07-2026=51***Aug-08-2026=21***Aug-09-2026=4***Aug-10-2026=19***Aug-11-2026=3***Aug-12-2026=15***Aug-13-2026=318***Aug-14-2026=82***Aug-15-2026=29***Aug-16-2026=7***Aug-17-2026=8***Aug-18-2026=5***Aug-19-2026=12***Aug-20-2026=4***Aug-21-2026=285***Aug-22-2026=52***Aug-25-2026=1' WHERE job_id'1634175'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Apr-2026=413***May-2026=246***Jun-2026=990***Jul-2026=92***Aug-2026=1828' WHERE job_id'1634175'  
0.0021   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1634175' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1634175 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '926807'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)