# ============================================================================= # COMPETENCY RECORD - Cedric Ancellin's demonstrated engineering skills and # experience. Third-party technologies and vendors are named as the concrete # skill surface. Professional background / track record. # ============================================================================= # ============================================================ # INTEGRATIONS & ETL - COMPETENCY RECORD # ============================================================ # Core Purpose: # Demonstrated experience integrating a broad third-party # ecosystem - reservation systems, POS, PMS, messaging, # marketing, support, dev-tooling, and guest-engagement # vendors - via a multi-stage two-way sync and a large set of # direct API integrations. # ============================================================ summary: > Designed and built a broad integration layer connecting the platform to reservation, POS, PMS, messaging, marketing, support, developer-tooling, and guest-engagement vendors. The core is a three-stage bidirectional sync (raw ingest → normalization → reconciliation) with high-watermark incremental loads, surrounded by dozens of direct vendor API integrations. # ================================================================== # 1. THREE-STAGE TWO-WAY SYNC PIPELINE # ================================================================== pipeline: description: > Architected the sync as three decoupled stages so each vendor plugs in at a well-defined boundary. stages: raw_ingest: "Vendor API → per-vendor raw staging schema; faithful capture, no transformation." normalize: "Raw schema → canonical booking schema via vendor-specific normalizers mapping external fields, statuses, and guest records." party_sync: "Canonical schema → internal party/booking/seating records, matched on an external reference key." incremental: "Per-venue, per-vendor high-watermark (CDC-style) tracking; upsert on external reference; canonical datasource labeling." reconciliation: matching_chain: "Direct party match → order-item match → create new party." cancellations: "External cancellations proxy into the internal cancel/refund decision tree." writers_registry: "A canonical registry of every subsystem that creates/mutates booking records, for cross-domain impact analysis." # ================================================================== # 2. RESERVATION, POS & PMS INTEGRATIONS # ================================================================== hospitality_systems: reservation: opentable: "Reservation create/edit, availability, table/lock management, experiences, special requests; raw ingest + two-way sync." book4time: "Raw ingest + normalization, item-time availability, reservation cancellation, tender mapping, two-way sync." sevenrooms: "Raw ingest + normalization, reservation status transitions, cancellation with email suppression." pos: infogenesis: > InfoGenesis (Agilysys) POS integration, raw ingest of POS data, then normalization that maps checks, tenders, check types, and tender types (by type id) and reconciles venue configs into a canonical check model, with high-watermark incremental loads (last-id tracking) and transactional writes. micros_simphony: > Micros Simphony POS check-ingestion + reconciliation pipeline, ingests Simphony guest-check exports (check + check-detail tables, revenue centers, workstations, employee/cashier, tender media, check versions) over its posting-interface XML, normalizes them into a canonical check/tender model (deduplication, business-date derivation, tendered computation), matches POS checks to bookings/owners (including by QR), and runs tender and deposit-variance reconciliation back to platform transactions. pos_data_model: "Multi-property POS schemas holding checks, revenue centers, tenders, taxes/tips/gratuities/service-charges/comps, feeding open-check tracking and check-level revenue reconciliation (see COMP-13)." pms: - "Property-management-system reservation/identity linkage via a live data share; auto-generated linkage records with dedup." - "A PMS tunnel (API proxy/bridge) providing port-routed connectivity to property systems." - "A hospitality data-connectivity platform (HAPI) integration for reservations + inbound webhooks." # ================================================================== # 3. MESSAGING, MARKETING & SUPPORT INTEGRATIONS # ================================================================== engagement_integrations: messaging: twilio_sms: "SMS send/receive with a delivery block-list." whatsapp: "Templated WhatsApp messaging via Twilio (e.g., invitation, booking templates)." email_marketing: transactional_email: "Transactional email delivery with metrics + webhook ingestion." mailchimp: "Marketing list management, lists, merge fields, custom subscriber fields." support: intercom: "Support-widget identity verification via HMAC user-hash generation." crm: external_crm_sync: "Party/booking export to external CRMs; multiple partner-CRM connections." # ================================================================== # 4. MULTI-PROPERTY NETWORKING & CROSS-BOOKING # ================================================================== networking: description: > Built the layer that lets independent properties operate as a network and cross-sell each other's inventory. capabilities: - "Partner/account/venue network model with account types (affiliate, reseller, management, vendor) and commission structures." - "Cross-booking, aggregating inventory across managed properties for reseller cross-sales across business/event types, zones, and pricing tiers." - "Connection-status/health monitoring and server/deployment bridging." # ================================================================== # 5. DEVELOPER-TOOLING INTEGRATIONS # ================================================================== dev_tooling: description: > Integrated engineering and delivery tooling into the platform. capabilities: - "GitHub, inbound webhooks (repository events) and frontend-deployment triggers; repository/branch metadata for multi-repo deploy workflows." - "A project-management/CRM tool integration (company/contact/deal/activity/note creation)." # ================================================================== # 6. LOCALIZATION, GEO & GUEST-ENGAGEMENT VENDORS # ================================================================== platform_services: localization: - "Translation API (ISO 639-1) backed by a self-hosted LLM (see COMP-16)." - "Country reference data and phone-country-code mappings; self-registering realtime i18n store (see COMP-06)." geo_weather: - "Market-area / GIS metadata and imagery." - "Weather integration (sunrise/sunset, solar/lunar calculations, imperial/metric) with local caching." guest_engagement: - "Location/mobile engagement vendor integration (beacons, events, media albums)." - "Captive-portal guest WiFi onboarding (email + property capture)." - "URL shortening for booking/reservation links." cross_reference: $ref: "https://zc8.com/competencies/17_realtime_notifications" # ================================================================== # 7. GAMING / STREAMING DATA SYNC (SEPARATE PLATFORM) # ================================================================== gaming_streaming_sync: description: > On a separate platform (see COMP-21), built scheduled sync pipelines against the games/streaming ecosystem, the same ingest-and-reconcile discipline applied to a new domain. integrations: - "IGDB, game-catalog sync (bulk + delta) over its Apicalypse query language, authenticated by Twitch client-credentials OAuth2." - "Twitch Helix, stream-popularity sync (viewer counts) driving discovery/ranking, same client-credentials auth." patterns: - "Client-credentials OAuth2 token acquisition and refresh for machine-to-machine access (no user in the loop)." - "Cron-driven bulk + incremental (delta) syncs decoupled from the request path (@nestjs/schedule)." - "External reference keys reconciled into local catalog entities under the platform's state-machine conventions."