# OrderDiscount

object type

One pre-tax discount — amount XOR percent per kind; the audit reason is REQUIRED. Engine emissions (source coupon/promo) carry their ref and an engine-stamped reason; they are ABSOLUTE amount entries computed to replay verbatim in the pipeline.

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `kind` | [SaleDiscountKind](/types/SaleDiscountKind/) `SaleDiscountKind!` | No further notes. |
| `source` | [SaleDiscountSource](/types/SaleDiscountSource/) `SaleDiscountSource!` | No further notes. |
| `amountMinor` | [Int](/types/#scalars) | The absolute reduction in minor units (present ⟺ kind amount). |
| `percentPpm` | [Int](/types/#scalars) | The percentage in integer ppm (present ⟺ kind percent). |
| `reason` | [String](/types/#scalars) `String!` | No further notes. |
| `promotionId` | [ID](/types/#scalars) | The emitting Promotion — present ⟺ source promo (engine-stamped, NEVER caller input). |
| `couponId` | [ID](/types/#scalars) | The carrying Coupon — present ⟺ source coupon (engine-stamped; NEVER caller input). |
| `loyaltyMemberId` | [ID](/types/#scalars) | The redeeming LoyaltyMember — present ⟺ source loyalty (engine-stamped, NEVER caller input). |
| `employeeUserId` | [ID](/types/#scalars) | The verified employee User — present ⟺ source employee (engine-stamped, NEVER caller input). |
