Skip to content

Reviews

A review you did not earn is rejected before it is written.

Most platforms check who is reviewing in application code, which means the check is only ever as good as the last deploy. Triprant puts it in a row-level security policy on the ratings table itself — so an unearned review is not hidden or moderated away, it is refused by Postgres.

The rule

Six refusals, all of them one layer below the app.

Every line below is a clause in the write policy on the ratings table or an index sitting next to it. None of them is a setting, and none of them can be switched off for one agency.

  • You were on it, or you do not get a say. The database accepts a review by exactly two routes: a membership row on a completed trip your agency ran, or an accepted application on a completed offer. There is no third route and no manual override.
  • The trip has to have finished. The check reads the trip’s own status. A departure that is still upcoming or running cannot be rated yet — so nobody can post a glowing review of a trip that has not happened.
  • Leaving early still counts. A member who dropped out mid-trip keeps the right to review it. The policy accepts both active and departed members deliberately: the person whose trip went wrong is precisely the one a filter like this must not quietly silence.
  • One review per departure. Enforced by a unique index, not by a disabled button. A second attempt on the same trip updates the review you already left rather than adding another — so a rating cannot be padded by repetition.
  • Your own staff are not your reviewers. Staff run the office side of a departure without holding a traveller membership row on it, and it is the membership row the policy asks for. There is no seat on your own roster that also buys a review of yourself.
  • A deleted trip is not a reviewable one. If the agency removed the trip, the route through it closes with it. You cannot delete the record of a departure and keep the rating it earned.

What follows from it

What that buys you, and what it costs you.

The number is a count of real departures
Because every row behind it required a completed trip, an agency rating is a lower bound on how many groups you have actually taken somewhere. It cannot be inflated without running more trips.
A new agency looks new, honestly
There is no way to arrive with a reputation. That is a cost on your first month and an asset for every month after it, because it is also true of everyone you are listed beside.
A bad trip is answerable, not deletable
You cannot remove a review. What you can do is see it against the departure it came from, and the private staff log and incident trail from that trip are still there to tell you what happened.
It is the same rule for everyone
The policy has no exception for a large agency, a paying one, or a favour. It is one clause applied to every insert, which is what makes it worth citing to a customer.

Why the distinction is real

Moderated is not the same as impossible.

Checked in the app

A form decides whether you are allowed to post. The rule holds for as long as every path to the table goes through that form — until a second client, an internal tool, a support script or a bug goes around it. Enforcement is a thing somebody has to keep being careful about.

Checked in the database

The condition is attached to the table. Every insert is evaluated against it, whichever client sent it — the web app, the phone, or anything else holding a session. A row that does not satisfy it is not written, so there is nothing to moderate after the fact.

Let the departures do the talking.

Run your trips on Triprant and the rating on your page is the arithmetic of them — not a budget line.

An agency is created from an ordinary Triprant account, and reviewed before it goes live.