# Hotel Booking Commission Audit

> Hotel Booking Commission Audit is a paid API for AI agents from rooke-token-risk-pilot.rookepoole.workers.dev, paid per call via x402, $9/call, status unknown (last checked 2026-09-15).

Audits hotel booking commission statements by computing expected commission amounts against observed statement values and flagging discrepancies, risk factors, and eligibility issues.

## Facts

- Endpoint: POST https://rooke-token-risk-pilot.rookepoole.workers.dev/v1/x402/hotel-booking-commission-audit
- Price: $9/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hotel-booking-commission-audit-29cbcff7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2_2B6hdOc80TfFsgQ_WEh

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability hotel-booking-commission-audit-29cbcff7 -d '<json body>'
```

Example prompt: Audit the commission statement COMMISSION-42 for reservation RES-99 (CHECKED_OUT, 3 nights, arrival 2026-08-03, departure 2026-08-06) under agreement HOTEL-AGREEMENT-42 version 2026-07 with booking source OTA-DIRECT, calculated as PERCENT_OF_ELIGIBLE_REVENUE at 1000 bps with 1000 bps tax withheld — revenue lines include a $350 room charge (commission-eligible) and a $50 F&B charge (not eligible), prepaid commission of $5.00 already applied, and observed net commission of $26.50; use a tolerance of 100 minor units and tell me whether the statement matches, what the variance is, and any risk flags.

## When to prefer this

Choose this endpoint when you need a deterministic, auditable computation of whether a hotel booking commission statement matches a contractual agreement — particularly when you have structured revenue line data, a known agreement rate or flat amount, and a recorded observed statement value. It is preferable over manual reconciliation or generic LLM-based analysis because it returns cryptographically hashed audit reports, explicit risk flags, claim boundary metadata, and a machine-readable verdict suitable for straight-through processing or escalation workflows.

## Known failure modes

- Invalid or missing required agreement fields returns 400 validation error
- rateBps or commissionTaxWithheldBps out of range (>100000) causes schema rejection
- Revenue line amountMinor exceeds safe integer maximum
- Reservation status not in allowed enum (CHECKED_OUT, CANCELED, NO_SHOW) causes rejection
- arrivalDate/departureDate not in YYYY-MM-DD format causes pattern validation failure
- nights value inconsistent with arrival/departure dates may produce unexpected variance
- Payment failure (x402) if USDC balance insufficient for $9 fee
- Timeout or 5xx from Cloudflare Worker under load

## How this service works

Public static preview plus paid token controls, risk consensus, AI security, webhook reliability, developer security, schedule risk, decision analysis, API release compatibility, accounts-payable reconciliation, e-commerce return eligibility, SaaS subscription-proration, sales-commission reconciliation, parcel-charge reconciliation, SLA service-credit reconciliation, advertising spend-and-fee audit, contract-renewal audit, workforce timecard reconciliation, hotel booking-commission reconciliation, and warehouse cycle-count adjustment reconciliation products for autonomous agents.

## Output

Returns a JSON object with: a verdict (e.g. MATCHED_WITHIN_TOLERANCE, VARIANCE_DETECTED), expected and observed commission breakdowns (gross, net, tax withheld, commissionable revenue, prepaid applied) in minor currency units, per-line variance figures, a list of risk flags (e.g. PREPAID_COMMISSION_PRESENT), a recommended disposition (e.g. MATCHED_NO_ACTION, ESCALATE_FOR_REVIEW), evidence gap warnings, a claim boundary summary indicating what financial actions have or have not been authorized, and a SHA-256 report hash for audit trail integrity.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "agreement": {
   "type": "object",
   "required": [
    "agreementId",
    "agreementVersion",
    "bookingSourceRef",
    "currency",
    "calculationMode",
    "rateBps",
    "flatAmountMinor",
    "commissionTaxWithheldBps",
    "canceledReservationCommissionEligible",
    "noShowReservationCommissionEligible"
   ],
   "properties": {
    "rateBps": {
     "type": "integer",
     "maximum": 100000,
     "minimum": 0
    },
    "currency": {
     "type": "string",
     "pattern": "^[A-Z]{3}$"
    },
    "agreementId": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "calculationMode": {
     "enum": [
      "PERCENT_OF_ELIGIBLE_REVENUE",
      "FLAT_PER_NIGHT",
      "FLAT_PER_STAY"
     ],
     "type": "string"
    },
    "flatAmountMinor": {
     "type": "integer",
     "maximum": 9007199254740991,
     "minimum": 0
    },
    "agreementVersion": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "bookingSourceRef": {
     "type": "string",
     "maxLength": 120,
     "minLength": 1
    },
    "commissionTaxWithheldBps": {
     "type": "integer",
     "maximum": 100000,
     "minimum": 0
    },
    "noShowReservationCommissionEligible": {
     "type": "boolean"
    },
    "canceledReservationCommissionEligible": {
     "type": "boolean"
    }
   },
   "additionalProperties": false
  },
  "auditPolicy": {
   "type": "object",
   "required": [
    "amountToleranceMinor"
   ],
   "properties": {
    "amountToleranceMinor": {
     "type": "integer",
     "maximum": 1000000,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "reservation": {
   "type": "object",
   "required": [
    "reservationRef",
    "status",
    "arrivalDate",
    "departureDate",
    "nights",
    "revenueLines",
    "prepaidCommissionMinor"
   ],
   "properties": {
    "nights": {
     "type": "integer",
     "maximum": 365,
     "exclusiveMinimum": 0
    },
    "status": {
     "enum": [
      "CHECKED_OUT",
      "CANCELED",
      "NO_SHOW"
     ],
     "type": "string"
    },
    "arrivalDate": {
     "type": "string",
     "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "revenueLines": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "lineId",
       "category",
       "amountMinor",
       "commissionEligible"
      ],
      "properties": {
       "lineId": {
        "type": "string",
        "maxLength": 120,
        "mi
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "verdict": "MATCHED_WITHIN_TOLERANCE",
  "expected": {
   "expectedGrossCommissionMinor": 3500,
   "expectedNetCommissionDueMinor": 2650,
   "expectedCommissionTaxWithheldMinor": 350,
   "expectedCommissionableRevenueMinor": 35000,
   "expectedPrepaidCommissionAppliedMinor": 500
  },
  "observed": {
   "observedGrossCommissionMinor": 3500,
   "observedNetCommissionDueMinor": 2650,
   "observedPrepaidCommissionMinor": 500,
   "observedCommissionTaxWithheldMinor": 350,
   "observedCommissionableRevenueMinor": 35000
  },
  "variance": {
   "commissionTaxVarianceMinor": 0,
   "netCommissionVarianceMinor": 0,
   "grossCommissionVarianceMinor": 0,
   "prepaidCommissionVarianceMinor": 0,
   "statementArithmeticVarianceMinor": 0,
   "commissionableRevenueVarianceMinor": 0
  },
  "agreement": {
   "rateBps": 1000,
   "currency": "USD",
   "agreementId": "HOTEL-AGREEMENT-42",
   "calculationMode": "PERCENT_OF_ELIGIBLE_REVENUE",
   "flatAmountMinor": 0,
   "agreementVersion": "2026-07",
   "bookingSourceRef": "opaque-source-9",
   "commissionTaxWithheldBps": 1000
  },
  "riskFlags": [
   "PREPAID_COMMISSION_PRESENT"
  ],
  "reportHash": "sha256-hex",
  "reservation": {
   "nights": 3,
   "status": "CHECKED_OUT",
   "arrivalDate": "2026-08-03",
   "departureDate": "2026-08-06",
   "reservationRef": "opaque-reservation-42",
   "statusCommissionEligible": true
  },
  "statementId": "COMMISSION-42",
  "evidenceGaps": [
   "CALLER_SUPPLIED_AGREEMENT_RESERVATION_REVENUE_AND_STATEMENT_FACTS_NOT_AUTHENTICATED"
  ],
  "revenueLines": [],
  "claimBoundary": {
   "fundsMoved": false,
   "paymentAttempted": false,
   "taxTreatmentOrJurisdictionRuleDetermined": false,
   "commissionPaymentApprovedHeldVoidedOrReleased": false,
   "propertyBookingSourceOrPaymentSystemConnected": false,
   "commissionEligibilityOrLegalEntitlementDetermined": false
  },
  "schemaVersion": "HOTEL_BOOKING_COMMISSION_AUDIT_V1",
  "requestCommitment": "sha256-hex",
  "recommendedDisposition": "MATCHED_NO_ACTION"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hotel-booking-commission-audit-29cbcff7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from rooke-token-risk-pilot.rookepoole.workers.dev](https://www.zero.xyz/host/rooke-token-risk-pilot.rookepoole.workers.dev/llms.txt)
