<!-- https://unlockos.io/manual/go-history -->

# Usage & Payment History

## Overview

The History tab (`go.unlockos.io/{slug}/history`) shows a unified, paginated record of your activity at this facility — **both settled payments and free, membership quota-covered check-ins**. The page title reads **"Usage & Payment History"** and the subtitle reads **"A record of your usage and payments, including free membership usage."**

## Key Features

- Payments and free usage together in one newest-first timeline
- Filter by time period: **3 months**, **6 months**, **1 year** (default), or **All time**
- Status badge on every entry: Paid, Free, Pending, Failed, or Refunded
- Stripe receipt link on paid entries
- **Load More** button to page through older records

---

## What Appears in History — Complete List

History merges two data sources and displays them sorted newest-first.

### Source 1: Settled payments (from `user_transactions`)

These are Stripe-settled charges and refunds. Every row from this source has an amount.

| Entry type | Icon | Status badge | Amount shown | Receipt link |
|-----------|------|--------------|--------------|--------------|
| Membership | 👤 | **Paid** (green) | Yes | Yes |
| Check-in charge | 🔑 | **Paid** (green) | Yes | Yes |
| Reservation | 🏨 | **Paid** (green) | Yes | Yes |
| Locker booking | 🔒 | **Paid** (green) | Yes | Yes |
| Delivery locker | 📦 | **Paid** (green) | Yes | Yes |
| Any of the above — refund | same icon | **Refunded** (orange) | Yes, with − prefix | Yes |
| Any of the above — processing | same icon | **Pending** (yellow) | Yes | No |
| Any of the above — failed | same icon | **Failed** (red) | Yes | No |

### Source 2: Free check-ins (quota-covered)

Check-ins where `total_fee` is zero or null (covered entirely by your membership quota) are pulled directly from the check-in record. They never produce a Stripe charge, so they have no payment row — they are surfaced here so your history reflects all activity.

| Entry type | Icon | Status badge | Amount shown | Receipt link |
|-----------|------|--------------|--------------|--------------|
| Free check-in | 🔑 | **Free** (blue) | **None** — the badge conveys no charge | No |

The description for a free check-in shows the check-in configuration name (e.g. the space or access point). The date shown is when the check-in session ended (check-out time).

---

## What Does NOT Appear in History

**Pay-per-use or overage charges that have accrued but have not yet been invoiced or charged by Stripe do not appear.** They will appear once the payment settles and a `user_transactions` row is created. This is the current behavior: History is a record of settled activity, not a real-time meter of accrued fees.

---

## Period Filter

Four filter buttons narrow the date range. The default is **1 year**.

| Button label | Range |
|-----|-------|
| 3 months | Last 3 months |
| 6 months | Last 6 months |
| 1 year | Last 12 months **(default)** |
| All time | All available history |

---

## Entry Card Details

Each entry is displayed as a card containing:

- **Icon + source label** — the category (Membership 👤, Check-in 🔑, Reservation 🏨, Locker Booking 🔒, Delivery Locker 📦)
- **Amount** — formatted in the facility's currency (e.g. ¥1,000; −¥500 for a refund). **Free check-ins display no amount** — the **Free** badge indicates the visit cost nothing.
- **Date** — check-out date for free check-ins; transaction date for payments
- **Status badge** (see table above)
- **Description** — the configuration name or additional notes, when available
- **View Receipt** link — opens the Stripe receipt PDF in a new tab. Shown on **Paid** entries only; not shown for Free, Pending, or Failed entries.

---

## Load More

History loads 20 entries at a time, newest first. Tap **Load More** at the bottom of the list to fetch the next page.

---

## Login Required

The History tab requires you to be logged in. If you are not authenticated, a login prompt is shown. Enter your email address to receive a one-time passcode (OTP).

---

## FAQ

### Q: My recent check-in shows as "Free" — is that right?
A: Yes. A check-in covered by your membership quota incurs no charge, so it appears with a **Free** badge and no monetary amount. This is consistent with what Key Hub shows under past usage.

### Q: A pay-per-use check-in I did is not showing in History yet
A: History shows entries only after the corresponding payment has settled with Stripe. A charge that has been accrued but not yet invoiced or billed will not appear until it settles. This is by design — History records confirmed activity, not pending meters.

### Q: I see a "Pending" charge — is something wrong?
A: Pending means the payment is still being processed. It typically resolves within a few minutes to a few business days. If it remains pending for more than a week, contact facility staff.

### Q: The "View Receipt" link is not available on an entry
A: Receipt links are generated by Stripe only after a payment is confirmed. They are not available for Free, Pending, or Failed entries.

### Q: I want to dispute a charge
A: Contact facility staff directly, referencing the date and amount shown in History.

---

## Related Pages

- [Go Portal / Key Hub](go-portal.md) - Overview of the Go portal and Key Hub
- [Membership Plans](membership-plans.md) - How membership subscriptions and quotas work

Last updated: 2026-06-22
