Rental & Homestay Template Guide

This guide shows you how to turn the template into your own website and publish it. No coding skills needed: follow the steps one at a time. Baca dalam bahasa Indonesia.

Contents
  1. What is in the package
  2. Indonesian words in the code
  3. Getting ready: an app to edit with
  4. Quick start
  5. WhatsApp number
  6. Replacing the text
  7. Replacing the photos
  8. Two languages
  9. Pages, look and dark theme
  10. Room types and prices
  11. Rent calculator and deposit
  12. Rooms available
  13. Location, rules & facilities
  14. Viewing form
  15. Changing the colours
  16. Publishing your website
  17. How the link looks when shared
  18. Checklist before publishing
  19. If something goes wrong

1. What is in the package

File / folderWhat it is
index.htmlYour website. All text, layout and settings live in this one file.
foto/Where your photos go (foto is Indonesian for photo).
GUIDE.htmlThis guide.
PANDUAN.htmlThe same guide in Indonesian.
LICENSE.txt / LISENSI.txtThe licence, in English and Indonesian.

Keep the original ZIP. If an edit breaks the layout, you can always start again from the original file.

To look at your website at any time, double-click index.html and it opens in your browser. After editing and saving, press Refresh in the browser to see the change.

2. Indonesian words in the code

UpVire is an Indonesian studio, so the names inside the code are Indonesian. You never need to rename them, and every setting has an English comment next to it. The words you will meet most:

In the codeMeaning
PENGATURANSettings. The block at the bottom of index.html where you fill in your details.
nomorWhatsAppWhatsApp number
--utama, --utama-gelapPrimary colour, and its darker shade
fotoPhoto (also the photo folder)
bahasaLanguage
tombolBahasaLanguage switch (the ID/EN buttons)
kamarKosong, depositBulan, mataUangRooms available, deposit in months, currency
tipe, harga, penuhRoom type, price, taken/full
fasilitas, aturan, dekatFacilities, house rules, nearby places
hitung, surveiSection names: rent calculator, viewing
halamanTerpisahSeparate pages (one per menu item)
tombolTema, data-temaTheme button, and the default theme: otomatis = automatic, terang = light, gelap = dark

Comments in the file are written in both languages, Indonesian first and English on the next line.

3. Getting ready: an app to edit with

index.html is a plain text file. You need an app that edits text as-is, not a word processor like Microsoft Word.

Recommended: Visual Studio Code (free)

Download it from code.visualstudio.com (Windows, Mac and Linux). Open the app, choose File → Open Folder, and pick the template folder. Click index.html in the list on the left to edit it.

Without installing anything

Golden rule: change only the text between the < and > signs, never the signs themselves. In <h3>Title</h3>, only the word Title is yours to change.

Finding text

Press Ctrl+F (Windows) or Cmd+F (Mac) in your editor and type a word you see on the website. The editor jumps straight to it. This is the fastest way to find anything you want to change.

4. Quick start

If you are in a hurry, work through this list. Each step is explained in full further down.

  1. Unzip the file and double-click index.html to see the starting point.
  2. Fill in your WhatsApp number, with country code, under PENGATURAN.
  3. Choose the default language, and whether visitors can switch.
  4. Replace the name and sample text with your own.
  5. Put your photos in the foto folder and link them.
  6. Set your currency, replace the room types and prices (change data-harga), and set the number of rooms available.
  7. Adjust the facilities, distances and rules to your property.
  8. Match the colours to your brand.
  9. Go through the checklist, then upload to Netlify or your web host.

Allow about 1–2 hours if you are new to this, most of it spent preparing photos and writing your own text.

5. WhatsApp number

This is the most important step. Without a number, the "Ask" buttons, the rent calculator and the viewing form do not work yet.

  1. Open index.html and search for PENGATURAN (Indonesian for "settings"). It is near the bottom of the file.
  2. Find this line:
    nomorWhatsApp: '',
  3. Type your number between the two quote marks, starting with your country code:
    nomorWhatsApp: '+44 7700 900123',
    Spaces, dashes and the + are fine: only the digits are used.
  4. Save, then refresh the browser. Click one of the WhatsApp buttons: WhatsApp opens with the message already typed.

Always include the country code (for example +1 USA, +44 UK, +61 Australia, +65 Singapore). A number that starts with 0 is read as an Indonesian number (+62), so 07700 900123 would reach the wrong person.

While the number is empty, the buttons and form only show a reminder. This is on purpose, so no visitor messages a wrong number.

Use a number that has WhatsApp or WhatsApp Business installed. WhatsApp is free in almost every country; visitors without it can still use your email, which is shown next to the form.

6. Replacing the text

Every name, number, story and project in this template is an example. The easiest way to replace them: search for the text you see on the website (for example Kos Melati) with Ctrl+F / Cmd+F, then replace it.

Must replace

FindReplace with
Kos Melati and Kos <span>Melati</span>Your property’s name. The word inside <span> shows in colour. The name is also in the title and footer. (Kos is an Indonesian boarding house.)
<title>The title in the browser tab and in Google results. The English version is in data-en="..." on the same line.
name="description"The short sentence under the title in Google results. English version in data-en-content="...".
Every textWritten twice: <span lang="id"> for Indonesian and <span lang="en"> for English. See Two languages.
Jl. MelatiYour address, in the viewing section. The Google Maps link is changed separately, see Location, rules & facilities.
Universitas ContohThe main landmark near you, in the hero and the distances list.
The FASILITAS / FACILITIES sectionOnly facilities you really have.
The house rulesYour real rules (guests, curfew, pets and so on).
ReviewsReal reviews from tenants, with their permission, or delete the section.

Never publish made-up reviews or numbers. If you do not have real ones yet, remove that part until you do.

Removing a section

Each section starts with a comment such as <!-- ── ULASAN / REVIEWS ── -->. To remove it, delete from the <section below that comment to its matching </section>. Also remove its menu links (search for href="#ulasan").

7. Replacing the photos

The coloured boxes with an icon are photo placeholders. The template ships without photos on purpose: photos of your own rooms and building are far more convincing than stock images.

Steps

  1. Save your photos in the foto folder. Use lowercase names without spaces, for example room-a.jpg.
  2. In index.html, find the photo box you want to replace. It looks like this:
    <div class="foto lebar">
        <svg ...>...</svg>
    </div>
  3. Replace the whole <svg ...>...</svg> part with:
    <img src="foto/room-a.jpg" alt="Short description of the photo" />
    Fill in alt with a short description. Google and screen readers use it.

The photo is cropped neatly to the shape of its box automatically.

Photo size

8. Two languages

This template shows in Indonesian and English. Every text is written twice, side by side:

<span lang="id">Layanan</span><span lang="en">Services</span>

Only the active language is shown. Edit both whenever you change a text, and never change the lang="id" and lang="en" markers themselves.

Default language and the ID/EN switch

English only?

This is the most common setup outside Indonesia:

  1. Change the top line to <html lang="en">.
  2. Set tombolBahasa: false in PENGATURAN. The switch disappears.
  3. Edit only the lang="en" texts and the data-en... attributes. The Indonesian texts stay in the file but never show, so you can leave them as they are.

You can use any other second language the same way: write it in the lang="id" slots and relabel the switch button (the ID text inside id="pilih-bahasa").

Text inside attributes

Some text is not shown directly on the page, so its English version is an extra attribute starting with data-en:

ExampleUsed for
data-wa="Halo..." data-en-wa="Hi..."The pre-typed WhatsApp message.
data-label="Nama" data-en-label="Name"Field names in the form's message.
<option data-en="Web development">Choices in the form.
placeholder and data-en-placeholderThe hint text in the project box.
<title data-en="...">The browser tab title.

Room prices are written once, as a number in data-harga, and shown in the visitor’s language: IDR 1,200,000 in English and Rp1.200.000 in Indonesian. Set your currency in PENGATURAN (mataUang: 'USD', 'GBP'…), see Rent calculator and deposit. Each room type’s English name is in data-en-nama.

9. Pages, look and dark theme

The menu at the top does not just scroll: each menu item opens its own page, with its own link and a smooth transition. It is still one index.html file, so everything you edit stays in one place.

How the pages are made

Adding or removing a page

  1. To add one: give a section an id (lowercase, no spaces) and add a link to it in the menu: <a href="#yourid">Name</a>.
  2. To remove one: delete its link from the menu (the section then joins the page before it), or delete the section and its link.

One long page instead

Set halamanTerpisah: false in PENGATURAN. The menu then scrolls down one long page, as on a classic one-page website.

Light and dark theme

The glass look and the animations

The frosted-glass cards, the soft moving colour in the background and the animations are in the CSS block marked KACA (glass). You do not need to change anything there. Two values you may want to tweak, at the top of that block:

SettingWhat it does
--kaca-blur: 18px;How frosted the glass is. Lower is clearer.
--kaca: rgba(255, 255, 255, 0.56);How white the glass is. The last number goes from 0 (clear) to 1 (solid).

Visitors who turned on Reduce motion on their device get the same pages and themes without the animations.

10. Room types and prices

Each room type is one <article class="tipe"> block. The parts you change are in its opening tag:

<article class="tipe" data-kode="a" data-harga="1200000" data-nama="Kamar Standar" data-en-nama="Standard Room">

The price text inside <span class="harga"> is only a fallback for visitors with JavaScript turned off. The price shown normally follows data-harga automatically.

Available or taken

Two places: add the word penuh (full) to the card’s class (class="tipe penuh"), and change the label on the photo:

<span class="status-unit habis">...Taken...</span>      (taken)
<span class="status-unit ada">...Available...</span>    (available)

Taken rooms appear faded, and the "Ask" button stays so people can join a waiting list.

Adding or removing a type

Copy one whole block to add, delete one to remove. Three types look best on wide screens. After changing the types, update the choices in the viewing form too.

11. Rent calculator and deposit

The calculator is automatic: it reads every data-harga, builds the list of rooms, and works out the rent, deposit and total up front. Visitors can send the result to WhatsApp with one click.

What you set in PENGATURAN:

depositBulan: 1,
mataUang: 'USD'

The line "An estimate. The owner confirms the final amount at the viewing" avoids misunderstandings if there are other costs. Keep it, or replace it with your own policy.

12. Rooms available

The badge in the hero is set in PENGATURAN:

kamarKosong: 3,

Remember to update this together with the status on each room card. They are written separately.

13. Location, rules & facilities

14. Viewing form

The form sends one WhatsApp message with the name, room type, viewing date, move-in date and length of stay, in the language the visitor is viewing.

The room choices in the form are written separately from the room cards. Whenever you change a type, change its choice too. Search for data-label="Tipe kamar" and edit the <option> lines (English name in data-en="..."). Dates in the past cannot be picked.

Change the opening sentence in data-wa-form / data-en-wa-form on the <form> tag. The form does not store data anywhere, so keep your list of enquiries from WhatsApp.

15. Changing the colours

Near the top of the file, find :root. Change these two lines to your brand colour (utama means primary, gelap means dark):

--utama: #0e7490;
--utama-gelap: #155e75;

--utama-gelap is a slightly darker shade, used for gradients and hover states. Find colour codes with Google: color picker. Avoid very light colours for --utama, because white text on top of it becomes hard to read.

The other colours (background, text, lines) are also in :root. Change them carefully and check the result on a phone.

16. Publishing your website

Before publishing, go through the checklist below.

Option A: Netlify (free, easiest)

  1. Create a free account at netlify.com.
  2. Go to app.netlify.com/drop.
  3. Drag the whole template folder (the one with index.html and the foto folder) onto the page.
  4. Wait a few seconds. Your site is online at an address like random-name.netlify.app, which you can rename in the site settings.

To update the site later, drag the folder again onto that site's Deploys page in Netlify.

Option B: a web host with cPanel

  1. Log in to cPanel → File Manager → open public_html.
  2. Click Upload and upload index.html and the foto folder with its contents. (Or upload a ZIP, then right-click → Extract.)
  3. Open your domain in the browser.

The guides and licence files do not need to be uploaded.

Option C: GitHub Pages (free)

Handy if you already have a GitHub account. Create a public repository, upload index.html and the foto folder, then under Settings → Pages choose the main branch and the / (root) folder.

Using your own domain

Buy a domain from any registrar (Namecheap, Cloudflare, Porkbun and many others). In Netlify, open the site settings → Domain management and follow the steps. With cPanel hosting, the domain is usually connected when you buy the plan.

17. How the link looks when shared

When your link is shared on WhatsApp, LinkedIn or other social media, the preview shows the title and description from og:title and og:description near the top of the file. Replace both. These two do not switch language, so write them in the language of your main market.

To show an image too, prepare a picture of about 1200 × 630 pixels, save it in the foto folder, and add this line right below og:description. The address must be complete, including your domain:

<meta property="og:image" content="https://yourdomain.com/foto/cover.jpg" />

18. Checklist before publishing

Open your website in the browser and check each item:

19. If something goes wrong

ProblemCause and fix
WhatsApp buttons only show a reminderThe WhatsApp number is empty. See WhatsApp number.
WhatsApp opens a chat with a strangerThe number has no country code, so it was read as Indonesian. Start it with + and your country code.
A photo does not showThe file name in src="..." does not exactly match the file in the foto folder. Watch upper/lower case and the extension: once online, Photo.JPG and photo.jpg are different files.
Photos show on my computer but not onlineThe foto folder was not uploaded, or a file name contains spaces.
The layout breaks after an editA <, > or quote mark was probably deleted. Undo the last change (Ctrl+Z / Cmd+Z), or start again from the original file in the ZIP.
Changes do not show after uploadingThe browser is showing a cached copy. Press Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac).
Strange characters (like ’) appearThe file was not saved as UTF-8. Save it again with UTF-8 encoding.
Indonesian and English text show at the same timeA lang="..." was mistyped or deleted. Every pair must be exactly <span lang="id">...</span><span lang="en">...</span>.
The page opens in the wrong languageThe browser remembers the last ID/EN choice. Click the language you want, or open the page in a private window to see the default language.
The calculator shows strange numbers or NaNdata-harga contains something other than digits. Write 1200000, not 1,200,000 or $1.2k.
Prices show in the wrong currencySet mataUang in PENGATURAN to your three-letter currency code, in quote marks: 'USD', 'GBP', 'EUR'.
A new room type is missing from the calculatorThe calculator reads every <article class="tipe">. Make sure the new block has data-harga, data-nama and data-en-nama.
The rooms-available badge is wrongCheck kamarKosong in PENGATURAN: a number without quote marks.

Want us to set it up?

If you'd rather not edit it yourself, there is a Website Setup Service (sold separately): we edit this template to your brief and put it online on Netlify's free plan, in an account in your name. Look for Website Setup Service in the UpVire shop where you bought this template (Gumroad, Etsy or Lynk.id).

Questions about your purchase or download can be sent through the product page on the platform where you bought it.