To Do: CyrpusVillasDirect (Pending)

/
Priority Project #
1 CyrpusVillasDirect #: 12
1.01

Villa import from Airbnb

  • Can we extract the GPS location?
Pending
1.02

Villa description

  • Need to translate the “About this villa” text into every language.  
    • Should we use the Translation entity or multiple entities in the Villa entity? I think the Translation entity. Agree?
Pending
1.03

New Booking (when not logged in, ie as consumer user, not admin or user)

  • Apply the phone Analyser to the Guest phone field
  • Hide the Language field, but store it (records what language they looked at the website in)
    • Make the confirmation in English and their preferred language
    • bcc sjwn71@gmail.com in all confirmations (as we test)
Pending
1.04

Emails

  • Check that the emails are working (cc'ing the 3 recipients defined in the  villa )
  • Save the emails in database and show link in booking
Pending
1.05

Owner

  • Test logging in as non-Admin, but as an owner and see what you can do.
  • Owners (non-Admin) should be able to edit their villa(s) including the text, rates and see bookings for their villa only.
Pending
1.06

Villa Photos

  • Photos not filling the page very well and being top/tailed on homepage
Pending
1.07

Multi-lingual

  • How do i handle the option that different villas want different languages?
Pending
1.08

Stripe

  • Set up Stripe to take payments
Pending
1.09

"Owner" entity

  • Objective is to define which User (or Users) have admin rights to each villa
  • This entity has two fields:  Villa and User
    • Both are relational fields and the User one is multi
    • Villa field cannot be null
    • Sort each dropdown by fullName (User) and name (villa) respectively. 
    • In the index show some of the key villa_details as a lookup into the Villa entity
      • Address
      • Contact First/Last name
      •  Wesbite URL (which launches in new window)
  • Admin rights enables those permitted users to:
    • Administer the “Villa” settings
    • Set Seasonal Rates
    • See and reply to bookings
  • Have link to it on the Standard Dashboard, say near the seasonal rates
Pending
1.10

Voucher scheme

  • Establish a discount code system for returner
Pending
1.11

Version of Calendar

  • Create a table view of the Calendar so Users, Admin and Owners can see multiple villas in one view
  • See attached xls to illustrate what it should look like
  • Filter buttons for Month and City of Villa
Pending
1.12

1. Market Intelligence — highest development priority

Your current scraper collects valuable raw observations: 30 different stay durations for each arrival date, repeated across villas.

But owners won't want to look at 30 columns of numbers. They want to know whether they're charging the right price, how their competitors are performing and what they should change.

Daily price reconstruction

P0- Convert total stay prices into understandable daily rates: Minimum stay and discount detection

P0 - Identify 3-, 7-, 14- and 28-night restrictions or discounts Competitor comparison dashboard

P0 -  Compare similar villas over the same dates. Scheduled scraping

P0 - Automatically build historical price data. Availability change tracking

P1 -Identify newly blocked or reopened dates.Pricing recommendations

P1 -Highlight where an owner appears expensive or cheap.Historical pricing charts

P1 - Show how prices change as arrival dates approach. Automated owner reports

P2 - Send weekly insights by email

 

A. Daily pricing reconstruction

This is probably the most intellectually interesting part of the project.

Your existing T+1 to T+30 observations are total stay prices, not daily prices. The task is to infer underlying nightly rates and distinguish them from length-of-stay discounts.

  • Ordinary nightly rates, potentially varying by day.
  • Minimum stay requirements.
  • Weekly and monthly discounts.
  • Additional cleaning and service fees.
  • Inconsistent or incomplete observations.
  • Prices that cannot be reliably decomposed.

My suggestion: Create a derived DailyRate dataset while preserving the original PriceHistory observations. Assign a confidence level to estimated nightly rates rather than assuming every price can be explained perfectly.

B. Competitor comparison

I would let an owner select their villa and see comparable properties within the same resort.

Importantly, compare like with like. A beachfront four-bedroom villa with a heated pool isn't directly comparable to an inland three-bedroom property.

C. Availability and estimated occupancy

Because you'll collect snapshots over time, you can observe when previously available dates become unavailable.

That gives you a potentially valuable occupancy indicator.

However, unavailable does not necessarily mean booked. The owner may have blocked dates for personal use, maintenance or bookings through another channel.

I would distinguish between:

  • Confirmed bookings on your own platform.
  • Dates unavailable on Airbnb.
  • Estimated booking activity inferred from changes.
  • Uncertain or missing observations.

Market these as estimated occupancy and booking signals, not verified competitor revenue.

2. Direct Booking Platform — what still needs doing

I would concentrate on six areas. You already have pieces of several of these, so the objective is to close the gaps rather than rebuild them.

A. Villa onboarding and website generation

P0 - Make it possible for a new owner to go from an Airbnb listing to a usable direct-booking website with minimal manual work.

Import or enter descriptions, photographs, facilities, bedrooms, occupancy, check-in rules, location and seasonal prices. Add a publication-readiness checklist and website preview.

 

B. Booking and availability reliability

P0 - Ensure the pricing engine handles seasonal boundaries, Saturday-to-Saturday restrictions, gap nights, cleaning fees, deposits, discounts and cancellation rules.

Test overlapping bookings, delayed calendar synchronisation, simultaneous booking requests and failed payments. Provide a booking confirmation and modification workflow.

 

C. Owner portal

P0 -  Owners should be able to update their own photographs, descriptions, rates and blocked dates, view upcoming bookings, and see enquiries and customer details.

Keep permissions restricted to their own properties, with straightforward navigation rather than a large administrative CMS.

 

D. Direct booking conversion

P0-  Add a clear booking quote, mobile-friendly date selection, visible total pricing, WhatsApp enquiry, guest reviews where legitimately available, and a simple reservation process.

Crucially, show the customer the benefit of booking directly rather than through an OTA.

 

E. Repeat-customer marketing and CRM

P1 - You already have Return Clients and discount functionality. Extend this to guest history, discount codes, repeat-booking links, targeted offers and scheduled campaigns.

Include consent/marketing preference records, unsubscribe functionality and access controls.

 

F. Owner financial reporting

P1 - Show booking income, occupancy, average daily rate, revenue per available night and estimated commission savings.

This creates a tangible financial explanation of why owners should continue using CyprusVillasDirect.

One particularly important point is calendar synchronisation. Airbnb currently states that imported calendars refresh automatically every three hours, rather than instantaneously. Your system therefore needs to handle the double-booking risk inherent in iCal synchronisation, especially if you offer instant booking.

 

3. Commercial features — potentially more important than further coding

You need a repeatable way of acquiring and retaining villa owners.

I would build a simple owner acquisition funnel:

Identify villa owners -  Target villas in Pissouri, Aphrodite Hills, Coral Bay and Polis -  Show an individual market report -  How their villa compares with similar local properties -  Offer a direct-booking website -  Demonstrate commission savings and repeat-customer benefits - Convert to paying customer

Booking commission, intelligence subscription or combined package

I'd add an internal sales CRM to track the owner, villa, location, contact status, demonstration, activation and first booking. Keep it very simple.

Potential revenue models

Direct booking

5% of bookings generated

Market Intelligence Basic - €19/month

Market Intelligence Pro -  €49/month

Combined package - 5% booking commission + €29/month

 Your previous assumption was that 100 villas might be achievable and that perhaps 20% of their bookings could migrate away from Airbnb.

The commercial question I'd test first is whether owners will pay for Market Intelligence without first receiving additional bookings. That would make it a much more attractive standalone business.

4. Infrastructure and product risks

There are several areas I'd address before investing heavily in scale.

Airbnb data access. Airbnb's current European terms prohibit unauthorised automated scraping. Your batch scraper therefore has a genuine contractual and business-continuity risk.1

Before making the entire Market Intelligence product dependent on it, evaluate licensed short-term-rental datasets or authorised integration arrangements. Providers such as AirROI advertise market and calendar data products, but coverage, reliability and commercial usage rights need validation.

 

Data integrity. Save observation timestamps, query parameters, currency, guest count, fee treatment, failures and the source of each price. Otherwise, historical price comparisons can easily be misleading.

Scalability. Move bulk acquisition into queued jobs with retries, checkpoints, request limits and monitoring. Keep historical snapshots instead of overwriting earlier observations.

Privacy and payment security. Protect guest contact records, handle consent correctly, use a payment service provider rather than storing payment-card details, and implement role-based access and audit trails. For marketing, existing-customer relationships do not automatically permit unrestricted promotional emailing.

 

5. My recommended development sequence

Given your limited development resources, this is the order I would follow.

Development priorities

Check items off as you implement them

0/12 complete

 

Phase 1 — Make the existing data useful

Daily price reconstruction

Normalise total stay quotes and identify discounts

Competitor comparison screen

Show prices for comparable villas and dates

Scrape scheduling and monitoring

Automate reliable, permitted data acquisition

Initial owner report

Produce a useful, understandable pricing report

Phase 2 — Complete the booking proposition

Villa onboarding

Import or enter a villa and publish it quickly

Booking reliability

Test pricing, payments, synchronisation and double bookings

Owner self-service

Allow owners to maintain their listings and availability

Mobile booking flow

Make guest enquiry and booking straightforward

Phase 3 — Commercialise

Owner acquisition CRM

Track prospective owners and conversion

Pricing and subscriptions

Test paid Market Intelligence plans

Guest marketing

Repeat-customer campaigns and discounts

Owner analytics

Measure bookings, revenue and commission savings

Copy checklist

6. What I would deliberately not build yet

I would postpone native mobile apps, elaborate AI chatbots, sophisticated dynamic-pricing automation, full accounting integrations, multi-country expansion and extensive property-management functionality.

You don't yet need to compete with established property-management systems feature-for-feature.

Your advantage could be a much narrower proposition: a villa owner gets a website for direct bookings, can market to their previous guests, and receives better local competitor intelligence.

I would aim for an initial pilot of 10 real villa owners in Pissouri or Aphrodite Hills. Measure how many activate their websites, whether anyone receives direct bookings, and — most importantly — whether owners find the competitor reports useful enough to pay for.

That will tell you far more about the project's prospects than adding another dozen technical features.

My strongest priority would be the Market Intelligence comparison screen. You already have much of the difficult data-collection work underway; turning those observations into an immediately useful report is the shortest path to determining whether the intelligence product has commercial value.

Pending