Finance Event
Finance events are returned nested within the Booking show response (GET /api/f1/sync/bookings/:external_id) in the finance_events array, ordered by created_at ascending (ties broken by id).
Finance events track changes to a booking's entitlements and credits over time. They are not directly accessible via their own endpoint.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
id |
bigint | Yes | Internal database ID |
event_type |
string | Yes | Type of event (see Event Types below) |
video_entitlement |
string | Yes | Which video the customer is entitled to (see Video Entitlement below) |
camera_requirement |
string | No | Which camera the entitled video must come from (see Camera Requirement below) |
photos |
boolean | Yes | Entitled to photos |
has_4k |
boolean | Yes | Entitled to 4K footage |
raw_footage |
boolean | Yes | Entitled to raw footage |
centi_credit_change |
integer | Yes | Credit change in centi-credits (100 = 1 credit) |
centi_total_credits |
integer | Yes | Running total credits in centi-credits for this booking |
comment |
string | No | Optional comment |
booking_id |
bigint | No | Associated booking ID |
product_id |
bigint | No | Associated product ID (if applicable) |
upgrade_payment |
object | No | Nested upgrade payment (if applicable) |
created_at |
datetime | Yes | When the event was created |
updated_at |
datetime | Yes | When the event was last updated |
Deprecated Fields
These boolean fields are still returned for backwards compatibility but are deprecated. They are derived from video_entitlement and camera_requirement — use those fields instead.
| Field | Type | Required | Description |
|---|---|---|---|
selfie |
boolean | Yes | Entitled to selfie video. Derived from camera_requirement/video_entitlement |
videographer |
boolean | Yes | Entitled to videographer footage. Derived from camera_requirement/video_entitlement |
either_video |
boolean | Yes | Entitled to either video type. Derived from camera_requirement/video_entitlement |
socials |
boolean | Yes | Entitled to social media clips. Derived from video_entitlement |
Video Entitlement
video_entitlement describes which video(s) the customer is entitled to. It supersedes the deprecated socials boolean (socials is true only when video_entitlement is all).
| Value | Description |
|---|---|
none |
No video entitlement |
all |
All video formats, including social media clips |
main |
Main edit only |
highlights |
Highlights edit only |
insta |
Instagram clip only |
freefall |
Freefall edit only |
Camera Requirement
camera_requirement describes which camera the entitled video must come from. It supersedes the deprecated selfie, videographer and either_video booleans. It is null when no camera requirement applies (e.g. a photos-only or none video entitlement).
| Value | Description |
|---|---|
either |
Either camera is acceptable (maps to deprecated either_video) |
selfie |
Selfie camera (maps to deprecated selfie) |
videographer |
Videographer camera (maps to deprecated videographer) |
both |
Both cameras required — combo/VIP (maps to deprecated selfie and videographer) |
Event Types
Event types are for internal use. There is complex internal logic that determines the event type for internal reporting. They are provided for information and may be useful, but should not be considered definitive.
The entitlement fields drive behaviour directly and can be relied upon.
| Type | Description |
|---|---|
unspecified |
Default/fallback when no specific type is matched (e.g. a product change with no credit or entitlement change) |
regular |
Standard paid delivery — the first delivery of paid content for a directly-booked customer |
preview |
Prospect delivery — a free preview/watermarked delivery to a customer who hasn't purchased yet (always 0 credits) |
preview_converted |
Legacy type (pre-October 2025) — recorded when a prospect converted to a paying customer online. Superseded by reception_conversion |
reception_conversion |
A prospect customer was converted to a paying customer at reception (staff assigned a paid product after a free preview) |
reception_upgrade |
A product upgrade performed at reception by staff that resulted in a credit change or new entitlements |
upgrade |
Customer purchased an upgrade online via Stripe — the only event type with an actual payment |
manual_credit |
A manual credit adjustment made by an administrator (refunds, goodwill credits, etc) |
Example
{
"id": 456,
"event_type": "upgrade",
"video_entitlement": "all",
"camera_requirement": "videographer",
"photos": true,
"selfie": false,
"videographer": true,
"either_video": false,
"socials": true,
"has_4k": false,
"raw_footage": false,
"centi_credit_change": 150,
"centi_total_credits": 250,
"comment": null,
"booking_id": 789,
"product_id": 12,
"upgrade_payment": {
"id": 34,
"ammount": 2500,
"currency": "USD",
"processor_id": "pi_abc123",
"upgrade_id": 5,
"booking_id": 789,
"created_at": "2024-02-15T15:00:00Z",
"updated_at": "2024-02-15T15:00:00Z"
},
"created_at": "2024-02-15T15:00:00Z",
"updated_at": "2024-02-15T15:00:00Z"
}