{"ok":true,"data":{"orderSchema":{"knife":{"total":72,"current":70,"remaining":2},"generatedAt":"2026-07-08T06:06:41.089Z","domain":"global_order_system","product":"Matrix Order","description":"Global modular order system with a custom-only order kind. Appointments, consumption requests, votes, quotes, internal requests, and commercial candidates are represented as custom categories instead of separate commercial/internal order kinds.","orderKinds":[{"id":"custom_order","label":"Custom order","description":"Configurable merchant-owned orders such as appointments, quote requests, voting-style services, intake forms, commercial candidates, internal requests, and custom service calendars.","currentStatus":"active-default","futureApis":["/api/projects/:projectId/bookings","/api/custom-orders","/api/integrations/im-core/order","/api/ops/orders?orderKind=custom_order"]}],"customCategories":[{"id":"appointment","label":"Appointment","description":"Calendar-backed custom booking, service slot, consultation, demo, or onboarding session."},{"id":"consumption","label":"Consumption","description":"Priced custom service or package request without opening a payment/order transaction module."},{"id":"quote_request","label":"Quote request","description":"Custom inquiry that needs merchant review before service scope or amount is confirmed."},{"id":"voting","label":"Voting","description":"Custom poll, preference, RSVP, or group decision request from an IM or community surface."},{"id":"internal_request","label":"Internal request","description":"Staff or operations request represented as a custom order category, not a separate internal order kind."},{"id":"commercial_candidate","label":"Commercial candidate","description":"Custom order with amount/duration signals that could later move into a finance-approved commerce flow."},{"id":"support","label":"Support","description":"Customer support, handoff, or follow-up request that should remain in the custom workflow."}],"currentImplementation":{"defaultOrderKind":"custom_order","orderMode":"custom-only","customCategoryField":"customCategory","appointmentBookingRoute":"/api/projects/:projectId/bookings","customOrderWrite":"/api/custom-orders","globalAdminView":"/api/ops/orders","imCoreOrderBridge":"/api/integrations/im-core/order","imCoreOrderWrite":"/api/integrations/im-core/order","publicSchema":"/api/orders/schema","merchantAttribution":true,"idempotencyHeader":"Idempotency-Key","writeModel":"custom-order-idempotent-write / lifecycle-callbacks-later","readModel":"admin-global-order-view"},"merchantAttributes":["merchantId","merchantName","merchantRole","merchantEmailHash","projectId","projectSlug","projectTitle","projectKind","tenantId","tenantSlug","tenantTitle","tenantStatus","publicUrl","productSurface"],"permissions":[{"role":"admin","scope":"global","canViewAllMerchants":true,"route":"/api/ops/orders"},{"role":"owner","scope":"global-compat","canViewAllMerchants":true,"route":"/api/ops/orders"},{"role":"member","scope":"merchant-owned","canViewAllMerchants":false,"route":"/api/projects/:projectId/bookings"}],"guardrails":["Global order admin view remains owner/admin-only and read-focused; write requests go through /api/custom-orders or the IM Core bridge.","Custom order writes require Idempotency-Key so IM/OpenSDK retries do not create duplicate bookings or double-occupy a calendar slot.","Customer phone, raw email, customer token, private link hash, raw notes, intake answers, and provider payloads are not returned in global order rows.","Merchant email is represented as SHA-256 hash; merchant/project/tenant IDs remain available for internal reconciliation.","Commercial-like, internal, voting, and quote workflows remain custom categories until separate finance-approved modules are explicitly opened.","The im-core integration contract uses custom_order plus customCategory so IM mini apps can call one order surface.","No payment, card collection, checkout, or transfer execution is performed by this custom order write model."],"references":["Shopify Admin Orders: admin-scoped order list with merchant/store context.","Stripe reporting and PaymentIntents: payment lifecycles stay outside this custom-order read model.","Microsoft Bookings appointments: service booking records can still be represented as order-like operational rows.","Google Calendar Appointment Schedules: appointment slots and duration are scheduling dimensions, not payment execution."]}}}