Skip to content

Activation matrix ​

Project Management (PM) view: which ENVs turn a screen or function on, what is already shipped, the winner URL, and which Core metadata is touched.

Hosts in the winner column are dev. Swap per environments. Name lists: ENV / Metadata Catalog.

Drift: Middleware winners below are live. The Next app still posts Core smart-meta-manager for some property/booking writes — Frontend should switch.

Screens / Pages ​

FlowStatusWinnerENVs to activateCore metadataApps
Marketplace authenticationimplementedPOST .../user/register and .../user/login (screen)NEXT_PUBLIC_API_BASE_URL, NEXT_PUBLIC_API_KEY; Core JWT secretUser rowFrontend — Marketplace, Core
Marketplace and Searchimplemented UI · partial wiringGET .../nellalink/properties; POST .../availability/check (screen)NEXT_PUBLIC_MIDDLEWARE_API_URL, NEXT_PUBLIC_API_KEY; Middleware Core base URL + keyproperty_category / city / amenity_{slug} tags (indexes)Frontend — Marketplace, Middleware, Core
Booking (checkout)implemented UI · partial wiringPOST .../nellalink/bookings; POST .../payments/initialize (screen)Same Middleware URL; PAYSTACK_SECRET_KEY on Middlewarebooking extra_data dates/amounts; payment referenceFrontend — Marketplace, Middleware, Core
Booking Managementimplemented UI · partial wiringGET/PUT/DELETE .../nellalink/bookings (screen)Middleware JWT NELLALINK_USER_JWT_SECRET_KEYbooking statusFrontend — Marketplace, Middleware, Core
Marketplace Servicesto implement (lodging winners)none—Do not add nll_car tablesFrontend — Marketplace
Direct Bookingimplemented UIsame as search + checkout (screen)same as Marketplacesame as bookingFrontend — Marketplace, Middleware, Core
Extranet authenticationimplementedsame Core auth (screen)plus NEXT_PUBLIC_PARTNER_SESSION_COOKIE_NAMEUser rowFrontend — Extranet, Core
Onboardingimplemented UI · partial wiringPOST .../nellalink/properties (screen)Middleware Core URL/key; file-manager ROUTE_FILE_MANAGER_AWS_*extra_data address / amenity slugs (tick list) / gallery_urls, status draftFrontend — Extranet, Middleware, Core
DashboardimplementedGET .../properties/mine (screen)Middleware JWTproperty owned_byFrontend — Extranet, Middleware, Core
Property Managementimplemented UI · partial wiringPUT/DELETE .../nellalink/properties/{id} (screen)same as onboardingstatus active/inactiveFrontend — Extranet, Middleware, Core
Rooms and Ratesimplemented UI · partial wiringPOST .../rates-packages/property/{propertyId} (screen)same Middleware Core URL/keyrate_plan extra_data price/occupancy/totalUnitsFrontend — Extranet, Middleware, Core
Reservations and Inventoryimplemented UIGET/PATCH .../nellalink/reservations/... (screen)Middleware JWTbooking statusFrontend — Extranet, Middleware, Core
Payments and Distributionpartialpayments initialize / wallet; refunds and ARI to implement (screen)PAYSTACK_SECRET_KEYpayment extra_dataFrontend — Extranet, Middleware, Core
Partner Administrationto implementCore GET/PATCH .../user/{uuid} onlyCore URL/keyuser rowFrontend — Extranet, Core

Logic / Functions ​

FunctionStatusWinnerENVs to activateCore metadata
PropertiesimplementedPOST/GET/PUT/DELETE https://middleware-dev.bookdirect.live/api/v1/nellalink/propertiesROUTE_FILE_MANAGER_BACKEND_BASEURL, ROUTE_FILE_MANAGER_X_API_KEY_CORE_BACKEND, NELLALINK_USER_JWT_SECRET_KEYextra_data + amenity_* / city indexes (queries)
Rates and packagesimplementedPOST .../nellalink/rates-packages/property/{propertyId}same Core URL/key + JWTrate_plan extra_data
BookingsimplementedPOST .../nellalink/bookingssamebooking extra_data; owned_by from JWT
AvailabilityimplementedPOST .../bookdirect/availability/checkCore URL/key (read rooms/bookings)read-only
PaymentsimplementedPOST .../bookdirect/payments/initializeplus PAYSTACK_SECRET_KEYpayment extra_data; booking confirmed after webhook
ReservationsimplementedGET/PATCH .../nellalink/reservations/...Core URL/key + JWTbooking status
File managerimplementedPOST .../file-manager/aws/upload-urlROUTE_FILE_MANAGER_AWS_*; Frontend NEXT_PUBLIC_DIRECT_S3_UPLOADgallery_urls / images
Refunds / emails / Google ARIto implementnot in routes.json—refund_reference, email_event_* later

Root Middleware process vars live in that catalog. See ENV / Metadata Catalog. Term lookup: Glossary.

API-first. Middleware Backend wins over Core Backend when both exist.