Prototype · view
{{ roleHint }}
SENDJA
Signed in as
{{ staffHint }}
foto — kelas reformer
foto — kelas chair
foto — kelas tower
Reformer · Chair · Jakarta Timur

invest in your health and your being.

Kelas terdekat {{ homeTodayLabel }}
{{ c.time }} {{ c.dayShort }}
{{ c.type }} · {{ c.coach }} {{ c.spotText }}
Pertama kali? WhatsApp

Minggu ini

Jadwal lengkap
{{ d.short }} {{ d.num }}

Harga

{{ g.cap }} {{ g.name }} mulai {{ g.from }}
{{ p.name }} {{ p.price }}
Buka setiap hari
07.00 – 21.00

Jl. Manunggal Pratama No.12, Cipinang Melayu, Kec. Makasar, Jakarta Timur

Our classes

{{ t.name }}

{{ t.level }}
{{ t.meta }}

{{ t.desc }}

Schedule

Booking opens seven days ahead.

{{ d.short }}
{{ d.date }}
{{ c.time }}
{{ c.type }}
{{ c.coachLine }} · {{ c.level }}
{{ c.spotText }}
{{ d.label }} {{ d.date }}
{{ c.time }} {{ c.type }} {{ c.coachLine }} · {{ c.level }} {{ c.spotText }}
Already have credits?

Pricing

The numbers below are placeholders. Swap them for your real prices and nothing else needs to change.

PackageCreditsValid forPrice {{ p.name }}
{{ p.note }}
{{ p.credits }} {{ p.expiryText }} {{ p.priceText }}

The fine print

{{ r.title }}

{{ r.body }}

OPENING HOURS
Monday – Sunday
07.00 - 21.00
Talk to us
Pilates admin Yoga admin Cafe & salon admin
Follow
@sendja.byrhs
Find us
Jl. Manunggal Pratama No.12, Cipinang Melayu, Kec. Makasar, Jakarta Timur
© 2026 SENDJA by RHS 
Sign in
{{ loginError }}
New member

Join SENDJA

Five minutes now saves the front desk a clipboard later. Everything marked with a dot is required — the rest just helps your coach plan around you.

01 · About you
02 · Emergency contact

We have never needed one. We still ask.

03 · How you found us
04 · Your body

Your coach reads this before your first class. Be blunt — it changes how the springs get set, not whether you are welcome.

Needed if you are pregnant, postpartum, or working around an injury. A photo of the letter is fine.
05 · How you like to train

Not binding — it just means we put you somewhere you will come back to. Change it any time from your dashboard.

06 · Waiver
Signed {{ joinToday }}

Your health notes are visible to your coach and the front desk. Nobody else, ever.

Waiver signed

Welcome, {{ joinName }}.

Your record is in the database and your waiver is filed. Nothing else to print, nothing to bring.

Next: pick a pack, pay by transfer or QRIS, and the front desk releases your credits — usually inside the hour.
Then book your first class. Your coach will have read your health notes before you walk in.

Record created and the waiver is filed against it. The signed copy sits in Documents.

Credits go on once their payment clears in the Payments queue.
Health notes are already visible to whoever teaches them first.
Incident log
{{ incidentForm.cls }}
{{ incidentForm.when }} · taught by {{ incidentForm.coach }}

Write it now, while the coach is still standing here. Class, date and coach are filled in from the roster.

Book someone in
{{ bookMemberClassLabel }}

{{ bookMemberError }}

{{ m.name }}
{{ m.note }}
Cancel membership
Cancel {{ leaveName }}'s membership?

Marks the record as left. Her history and remaining credits stay on file.

Receipt
{{ receipt.ref }}
SENDJA
Client{{ receipt.client }} Package{{ receipt.pack }} Credits{{ receipt.creditsText }} Method{{ receipt.method }} Amount paid{{ receipt.amount }}
{{ receipt.issued }} · SENDJA by RHS, Jakarta Timur
Month-end close
{{ closingTitle }}
SENDJA
{{ r.label }}{{ r.value }}
SENDJA by RHS · prepared for the accountant · signed off by the front desk
{{ reportSheet.scope }}
{{ reportSheet.title }}
{{ reportSheet.period }}
SENDJA
{{ reportSheet.ref }}
{{ hd.n }}
{{ hd.label }}
{{ c.label }} {{ v.label }}

{{ repNote }}

SENDJA by RHS · Jl. Manunggal Pratama No.12, Jakarta Timur {{ reportSheet.generated }}
Receipt
{{ receipt.ref }}
SENDJA
Client{{ receipt.client }} Package{{ receipt.pack }} Credits{{ receipt.creditsText }} Method{{ receipt.method }} Amount paid{{ receipt.amount }}
{{ receipt.issued }} · SENDJA by RHS, Jl. Manunggal Pratama No.12, Jakarta Timur
Payslip · {{ payslip.period }}
{{ payslip.name }}
{{ payslip.ref }}
SENDJA
{{ r.label }}{{ r.value }}
Total due {{ payslip.gross }}
SENDJA by RHS · coach payment record
{{ toast }}
Your credits
{{ credits }} credits left
Good until {{ expiryDate }}
{{ expiringNote }}
Your next class
{{ nextClass.type }}
{{ nextClass.when }}
{{ nextClass.coach }} · {{ nextClass.level }} · {{ nextClass.spotText }}
{{ nextClass.cancelNote }}
Nothing booked yet. The schedule is one tap away.
Also booked
{{ c.when }} {{ c.type }} {{ c.coach }}
Just the one for now.
How you like to train
{{ prefSavedNote }}

Keep this current and the studio books you into classes you actually want — your coach sees it before the class, and the front desk uses it when a spot opens up.

{{ s.n }}
{{ s.label }}

Book a class

{{ bookingRuleLine }}

{{ d.short }}
{{ d.date }}
{{ c.time }} Booked
{{ c.type }}
{{ c.coachLine }} · {{ c.level }}
{{ c.spotText }}
Waitlisted · position {{ c.waitPos }}
Already run
{{ d.label }} {{ d.date }}
{{ c.time }} {{ c.type }} {{ c.coachLine }} · {{ c.level }} {{ c.spotText }} Waitlist #{{ c.waitPos }} Past

Credits & membership

Waiting on us
{{ pendingMine.label }}

{{ pendingMine.note }}

1 · Choose a pack
{{ p.name }}
{{ p.priceText }}

{{ p.creditsText }} · {{ p.expiryText }}

2 · How you will pay
{{ chosenPack.name }} {{ chosenPack.priceText }}
Bank transfer

BCA 1234567890, account name RHS Sendja. Upload the proof afterwards.

QRIS

Scan from GoPay, OVO, or any banking app.

3 · Pay, then upload the proof
Amount to send
{{ chosenPack.priceText }}
{{ payInstruction }}
Credits land once the front desk confirms it — usually inside the hour while we are open.
{{ payVisual }}

Credit history

DateDetailCreditsBalance {{ l.date }}{{ l.desc }}{{ l.delta }}{{ l.balance }}

Class history

{{ ratingPrompt }}

DateClassCoachStatusYour rating {{ h.date }} {{ h.type }} {{ h.coach }} {{ h.status }}
—
{{ s.n }}
{{ s.label }}

Dashboard

{{ dashboardDate }}

Today's classes

{{ c.time }} {{ c.type }} {{ c.coachLine }} At risk {{ c.fill }}

Needs you

{{ a.text }}

Client database

{{ clientCountLine }}

NameWhatsAppCreditsExpiresAttendedNo-showsTags {{ c.nama }} {{ c.wa }} {{ c.kredit }} {{ c.expiry }} {{ c.hadir }} {{ c.noShow }} {{ t.label }}
{{ openClient.nama }}
Client since {{ openClient.bergabung }} · found us via {{ openClient.sumber }}
{{ t.label }}

Contact
{{ openClient.wa }}
{{ openClient.email }}
Born {{ openClient.lahir }}
Status
{{ openClient.statusLine }}
Last visit {{ openClient.lastVisit }}
Emergency contact
{{ openClient.darurat }}
Health notes

{{ openClient.kesehatan }}

Preferences
{{ openClient.preferensi }}
Credits
{{ openClient.kredit }}
Expires {{ openClient.expiry }}
Waiver
{{ openClient.waiver }}
Attendance
{{ openClient.hadir }} classes attended
{{ openClient.noShow }} no-shows
{{ openClient.lateCancel }} late cancels

{{ adjustTitle }}
{{ adjustNote }}
{{ adjustQty }} {{ adjustUnit }}

Credit ledger
{{ l.date }}{{ l.desc }}{{ l.delta }}
Class history
{{ h.date }}{{ h.type }}{{ h.status }}
{{ clientFormTitle }}
{{ clientError }}

Coaches

{{ coachCountLine }}

CoachStatusContactApparatusFee / classActive {{ c.name }} {{ c.status }} {{ c.phone }}
{{ c.email }}
{{ c.apparatus }} {{ c.rateText }} {{ c.activeLabel }}
{{ coachFormTitle }}
{{ coachError }}

Schedule & attendance

{{ scheduleDateLabel }}
No classes scheduled for this day.
{{ roster.type }}
{{ roster.when }} · {{ roster.coach }}
{{ roster.fill }} · {{ roster.checkedText }}
{{ p.nama }}
{{ p.note }}
Here
Waitlist: {{ roster.waitText }}
Coach assignment
{{ rosterAssign.note }}
On the schedule · {{ rosterAssign.scheduled }}
Teaching it · {{ rosterAssign.teaching }}
Automatic swap. The on-call coach has been released and both have been messaged.
No coach is locked in below three bookings. Assignment settles when the third member books.
After class
Sign off the coach's hours for payroll.
{{ roster.coach }} · 1 class · {{ roster.rate }}
A class with fewer than four booked can be closed by the coach.
Self check-in
QR check-in code — print it, stick it by the door

Confirm payments

{{ payQueueLine }}

proof
{{ p.client }}
{{ p.pack }} · {{ p.amount }}
{{ p.meta }}
Receipts issued
{{ receiptCount }}
RefDateClientPackAmount {{ r.ref }} {{ r.date }} {{ r.client }} {{ r.pack }} {{ r.amount }}
Queue is clear. Nothing waiting on you.

Reports

{{ h.n }}
{{ h.label }}
{{ c.label }} {{ v.label }}

{{ repNote }}

Who is slipping away
Sorted by how long since their last class. Click a name to open the record.
{{ c.n }}
{{ c.label }}
Why they left
{{ l.n }}
{{ l.label }}
ClientJoinedLast visitSinceClassesCreditsStatusReason left {{ r.nama }} {{ r.bergabung }} {{ r.terakhir }} {{ r.daysText }} {{ r.hadir }} {{ r.kredit }} {{ r.status }} {{ r.reason }}
Close a month
Freezes that month's revenue, expenses and reports. It cannot be undone, and every payment for the month must already be approved or rejected.

{{ closeError }}

{{ r.label }}{{ r.value }}

Closures

Holidays and maintenance days. A closure blocks booking for those dates, returns credits on anything already booked, and keeps the empty classes out of your occupancy figures.

{{ closureCount }}

RefDatesReasonTypeFiled by {{ c.ref }} {{ c.span }} {{ c.reason }} {{ c.kind }} {{ c.filedBy }}
Add a closure

Every scheduled class inside these dates is cancelled and every booking is refunded, immediately.

{{ closureError }}

Expenses

Rent, coach pay, laundry, utilities. Without this the system can show you revenue but never profit — and revenue is not the number that decides whether a month worked.

{{ p.label }}
{{ p.value }}
RefDateCategoryVendorAmountNote {{ e.ref }} {{ e.date }} {{ e.cat }} {{ e.vendor }} {{ e.amount }} {{ e.note }}
Total logged {{ expenseTotal }}
{{ expenseFormTitle }}

{{ expenseError }}

Weekly schedule

The recurring weekly slots classes are generated from. Change a cap or switch a slot off and every class generated from it, from now on, follows.

SlotApparatusLevelLengthCapDefault coachStatus {{ t.name }}
{{ t.note }}
{{ t.apparatus }} {{ t.level }} {{ t.mins }}
{{ t.cap }}
{{ t.coach }} {{ t.status }}
{{ slotFormTitle }}

{{ slotError }}

Apparatus

Default capacity and how many bookings a coach needs to be locked in. Applies to classes generated from now on.

ApparatusCapacityMin · on callMin · in house {{ a.name }}

Price list

Every price carries the date it took effect. Raise a price and the old one is superseded, not overwritten — so last month's revenue still values last month's sales correctly.

RefPackageCreditsPriceValidEffective fromStatus {{ p.ref }} {{ p.pack }} {{ p.credits }} {{ p.price }} {{ p.validity }} {{ p.from }} {{ p.status }}
Edit price

{{ priceError }}

Audit trail

Every consequential action, in order, with who did it. Nothing here is typed by hand and nothing can be deleted. This is what settles a disagreement.

{{ auditCountLine }}

RefWhenWhoActionDetail {{ a.ref }} {{ a.when }} {{ a.who }} {{ a.action }} {{ a.detail }}
Nothing logged yet. Approve a payment or adjust someone's credits and it will appear here.

Staff accounts

Who can sign in to the front desk and admin app. Deactivating an account blocks its login without deleting the record.

NameEmailRoleStatus {{ m.name }} {{ m.email }} {{ m.roleLabel }} {{ m.statusLabel }}
Add staff
{{ staffError }}
The incident log is hidden on a front desk sign-in. Ask the manager if you need one.

Documents

{{ docsLead }} Anything in here can be found again by number.

{{ d.count }}
{{ d.name }}

{{ d.desc }}

{{ d.last }}

{{ archive.title }}

{{ archive.lead }}

{{ archive.countLine }}

Read-only on this sign-in
{{ c.label }} {{ v.label }}