Skip to content

Goodbay (goodbay.redbroomsoftware.com)

Vacation rental and short-term hospitality platform — property listings, guest bookings, a coin economy for incentivizing cleaning staff, and inventory verification at checkout.

URL: https://goodbay.redbroomsoftware.comStatus: LIVE Tier: T2 (vertical SaaS primitive)

T1 apps are indispensable horizontal primitives. T2 apps are vertical SaaS or single-domain primitives — primitive-like in their domain but not universal dependencies.

What you can integrate

  • Booking events — receive booking.completed when a guest reservation is confirmed; trigger downstream invoicing, CRM enrichment, or channel sync
  • Payment reconciliation — consume payment.received from Colectiva to mark bookings as paid and release the property calendar
  • Fiscal receiptscfdi.stamped from Constanza is consumed to attach the fiscal receipt to the booking record
  • Coin economy — cleaning staff earn coins on job completion; coins are redeemable via /api/coins for rewards
  • Inventory verification — inventory checklist is tied to check-out jobs; partners can read inventory state per property

Authentication

http
Authorization: Bearer <api_key>
Content-Type: application/json

User identity flows through Camino SSO via /auth/rbs. Per-property API keys are issued from the Goodbay admin console. Guest-facing flows use session tokens.

Endpoints

MethodPath
GET, POST/api/bookings
PATCH/api/bookings/:id
POST/api/bookings/:id/checkout
GET, POST/api/coins
POST/api/ecosystem/register
GET, POST/api/ecosystem/upsell
GET, POST/api/ecosystem/webhooks
GET, POST, PATCH/api/inventory
GET, POST, PATCH/api/jobs
POST/api/leads

21 total — 3 admin/cron/internal (hidden) — +8 more primary endpoints not shown. Source: src/routes/api/**/+server.{ts,js} in the goodbay repo.

Events emitted

EventReceiversDescription
booking.cancelledcolectivaA booking has been cancelled. PD-115 (S178-inverse fingerprint): goodbay added as sender — Colectiva's handleBookingCancelled handler at /api/ecosystem/webhooks/+server.js:960 was wired end-to-end but no goodbay producer fired the event, surfacing as a dormant emitter in the S327 audit. Goodbay emits from /api/bookings/[id]/+server.ts after the cancel batch commits.
booking.completedcaminoA stay/booking has been completed at checkout — settlement signal (owner payout, RBS commission). PD-073 Slice 2 (S317): goodbay re-added as sender, now firing from /api/bookings/[id]/checkout. Camino receiver retains the Plenura-shape handler with source_app discriminator (S317 logistics.ts:20 guard — non-Plenura sourceApp ignored).
booking.createdcolectivaA new booking was created in a hospitality or pet-care app — Colectiva records it for revenue tracking and occupancy analytics.
booking.reservedcolectivaA booking has been reserved/created (coins/funds deducted, status='pending'). PD-073 Slice 1 (S317) — semantic-corrected rename of the previous goodbay booking.completed-at-creation emit. Settlement signal moves to the new booking.completed once Slice 2 lands. Colectiva wired as receiver in Slice 3.

Events consumed

EventSendersDescription
cfdi.stampedconstanzaA CFDI invoice has been stamped by the SAT via Constanza — receiver apps attach the UUID to their local invoice record and update status.
payment.receivedcolectiva, constanzaA payment has been processed via Colectiva

Webhook signature

Standard ecosystem HMAC-SHA256 over the raw body with a 5-minute timestamp window. See Webhooks.

OpenAPI

Coming in the OpenAPI generator phase — see /reference/openapi.

SDK

See /sdk/ for @r-bsoftware/ecosystem-sdk helpers.

Gotchas

  • Goodbay emits only booking.completed and consumes only two events — a deliberately narrow integration surface. Richer financial and CRM events flow through Colectiva and Camino after booking.completed is processed.
  • Coin balance is local to the Goodbay platform. Coins are not a Colectiva wallet — do not treat them as redeemable currency in external systems without checking the coin redemption rules first.
  • Inventory verification is tied to cleaning jobs, not bookings. Query /api/inventory after a job is marked complete, not at booking confirmation time.

Red Broom Software Ecosystem