AlmondTill/G3N API

On this page

acceptOrder

mutation · in the family Order

What it does

Accept a draft or quote order so it becomes a real order to fulfil.

Accept a sent draft/quote — THE CONVERSION: within the validity window (past validUntil refuses CONFLICT/EXPIRED — the policy:within_validity gate reads LIVE while the scheduled expire edges sleep), ONE transaction mints a NEW sale Order BORN-PLACED from the doc VERBATIM (captured prices — no re-price; the pipeline runs: REAL tax at the origin + the ecom reserve arm per stockful line + the composed budget) AND flips this doc accepted with convertedOrderId ↔ sourceDocumentId refs. An empty doc refuses VALIDATION/INVALID (the place empty-cart law). Requires the unrestricted capability + the record's CURRENT revision.

What happens

Moves the order forward in its lifecycle; stock and money flows follow the order from here.

Careful

Acceptance starts real work — reservations and fulfilment follow. Cancel properly rather than abandoning it.

Who may call it

Capability area: Selling — Ringing sales, serving customers and issuing invoices.

Arguments

NameTypeRequiredNotes
idID ID!yesThe id of the record.
revisionID ID!yesThe revision id you read on the record; the change is refused if an edit landed in the meantime.
reasonStringnoNo further notes.

Returns

Order Order! — A selling Order — the cart IS the open state (no Cart construct); orderType selects the FSM profile; lines embed with captured prices in integer minor units; the tax slots are pipeline-written at place over the master data; ecom place reserves stock, POS place does not — a layaway place reserves BOTH channels for the term; a special_order place NEVER reserves (goods are not on-hand — arrival reserves the claim).

Example request

mutation ExampleAcceptOrder($id: ID!, $revision: ID!, $reason: String) {
  acceptOrder(id: $id, revision: $revision, reason: $reason) {
    id
    sysId
    type
    caption
    status
    parentId
    rootId
    createdAt
    updatedAt
    revisionNum
    revision
    organizationId
    channel
    orderType
    validUntil
    termEndsAt
    convertedOrderId
    sourceDocumentId
    reorderOfOrderId
    logicalFacilityId
    currency
    exemptionCertificateId
    paymentState
    fulfillmentState
    recognitionState
    taxJurisdictionId
    subtotalMinor
    discountTotalMinor
    taxTotalMinor
    totalMinor
    fulfillmentFeeMinor
    fulfillmentFeeTaxMinor
    tenderedNetMinor
    tipTotalMinor
    paymentIds
    refundIds
    disputeIds
    invoiceIds
    couponIds
    sourcingSagaId
    commissionAgentUserIds
    affiliateId
  }
}

Variables:

{
  "id": "01900000-0000-7000-8000-37386ae00000",
  "revision": "01900000-0000-7000-8000-b7960e180000",
  "reason": "Correcting a miscount."
}

Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.

Example response

{
  "data": {
    "acceptOrder": {
      "id": "01900000-0000-7000-8000-37386ae00000",
      "sysId": "SO-EXMP-0000-000F",
      "type": "Order",
      "caption": "Blue jeans",
      "status": "open",
      "parentId": "01900000-0000-7000-8000-065235280000",
      "rootId": "01900000-0000-7000-8000-a093dd800000",
      "createdAt": "2027-01-31T00:00:00.000Z",
      "updatedAt": "2027-01-31T00:00:00.000Z",
      "revisionNum": 1,
      "revision": "01900000-0000-7000-8000-b7960e180000",
      "organizationId": "01900000-0000-7000-8000-44b781470000",
      "channel": "pos",
      "orderType": "sale",
      "validUntil": "<valid until>",
      "termEndsAt": "2027-01-31T00:00:00.000Z",
      "convertedOrderId": "01900000-0000-7000-8000-b1563ac60000",
      "sourceDocumentId": "01900000-0000-7000-8000-8fd6a7c40000",
      "reorderOfOrderId": "01900000-0000-7000-8000-5533d5a60000",
      "logicalFacilityId": "01900000-0000-7000-8000-8026f71c0000",
      "currency": "USD",
      "exemptionCertificateId": "01900000-0000-7000-8000-6c082e160000",
      "paymentState": "<payment state>",
      "fulfillmentState": "<fulfillment state>",
      "recognitionState": "<recognition state>",
      "taxJurisdictionId": "01900000-0000-7000-8000-3a64e3820000",
      "subtotalMinor": 1,
      "discountTotalMinor": 1,
      "taxTotalMinor": 1,
      "totalMinor": 1,
      "fulfillmentFeeMinor": 1,
      "fulfillmentFeeTaxMinor": 1,
      "tenderedNetMinor": 1,
      "tipTotalMinor": 1,
      "paymentIds": [
        "01900000-0000-7000-8000-f1636a750000"
      ],
      "refundIds": [
        "01900000-0000-7000-8000-a5d2e2d30000"
      ],
      "disputeIds": [
        "01900000-0000-7000-8000-d72df27f0000"
      ],
      "invoiceIds": [
        "01900000-0000-7000-8000-0a4b14ba0000"
      ],
      "couponIds": [
        "01900000-0000-7000-8000-6a9b05ef0000"
      ],
      "sourcingSagaId": "01900000-0000-7000-8000-2dfe37aa0000",
      "commissionAgentUserIds": [
        "01900000-0000-7000-8000-7aaf99300000"
      ],
      "affiliateId": "01900000-0000-7000-8000-ab1bc9b90000"
    }
  },
  "extensions": {
    "at": {
      "callId": "01EXAMPLE-CALL-ID",
      "version": {
        "requested": {
          "name": "genesis",
          "number": 0
        },
        "serviced": {
          "name": "genesis",
          "number": 0
        }
      }
    }
  }
}

Errors this call can answer