[{"data":1,"prerenderedAt":3671},["ShallowReactive",2],{"navigation_docs":3,"-docs-polyflight-native-wallet-contract":356,"-docs-polyflight-native-wallet-contract-surround":3666},[4,22,35,64,85,141,227,258,286,310,331],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[9,13,17],{"title":10,"path":11,"stem":12},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview",{"title":14,"path":15,"stem":16},"Integration checklist","\u002Fdocs\u002Fgetting-started\u002Fintegration-checklist","docs\u002F1.getting-started\u002F2.integration-checklist",{"title":18,"path":19,"stem":20},"Environments and base URLs","\u002Fdocs\u002Fgetting-started\u002Fenvironments-and-base-urls","docs\u002F1.getting-started\u002F3.environments-and-base-urls",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F10.troubleshooting",[27,31],{"title":28,"path":29,"stem":30},"Common errors","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-errors","docs\u002F10.troubleshooting\u002F1.common-errors",{"title":32,"path":33,"stem":34},"Support escalation","\u002Fdocs\u002Ftroubleshooting\u002Fsupport-escalation","docs\u002F10.troubleshooting\u002F2.support-escalation",{"title":36,"path":37,"stem":38,"children":39,"page":21},"Polyflight","\u002Fdocs\u002Fpolyflight","docs\u002F11.polyflight",[40,44,48,52,56,60],{"title":41,"path":42,"stem":43},"Polyflight overview and launch","\u002Fdocs\u002Fpolyflight\u002Foverview-and-launch","docs\u002F11.polyflight\u002F1.overview-and-launch",{"title":45,"path":46,"stem":47},"Native wallet contract","\u002Fdocs\u002Fpolyflight\u002Fnative-wallet-contract","docs\u002F11.polyflight\u002F2.native-wallet-contract",{"title":49,"path":50,"stem":51},"API, events, and proof","\u002Fdocs\u002Fpolyflight\u002Fapi-events-and-proof","docs\u002F11.polyflight\u002F3.api-events-and-proof",{"title":53,"path":54,"stem":55},"Terms, statements, and settlement","\u002Fdocs\u002Fpolyflight\u002Fterms-statements-and-settlement","docs\u002F11.polyflight\u002F4.terms-statements-and-settlement",{"title":57,"path":58,"stem":59},"Operations, reconciliation, and rollback","\u002Fdocs\u002Fpolyflight\u002Foperations-reconciliation-and-rollback","docs\u002F11.polyflight\u002F5.operations-reconciliation-and-rollback",{"title":61,"path":62,"stem":63},"Player experience","\u002Fdocs\u002Fpolyflight\u002Fplayer-experience","docs\u002F11.polyflight\u002F6.player-experience",{"title":65,"path":66,"stem":67,"children":68,"page":21},"Integration Flow","\u002Fdocs\u002Fintegration-flow","docs\u002F2.integration-flow",[69,73,77,81],{"title":70,"path":71,"stem":72},"Architecture","\u002Fdocs\u002Fintegration-flow\u002Farchitecture","docs\u002F2.integration-flow\u002F1.architecture",{"title":74,"path":75,"stem":76},"Launch session model","\u002Fdocs\u002Fintegration-flow\u002Flaunch-session-model","docs\u002F2.integration-flow\u002F2.launch-session-model",{"title":78,"path":79,"stem":80},"Order and wallet saga","\u002Fdocs\u002Fintegration-flow\u002Forder-and-wallet-saga","docs\u002F2.integration-flow\u002F3.order-and-wallet-saga",{"title":82,"path":83,"stem":84},"FX fees and rounding","\u002Fdocs\u002Fintegration-flow\u002Ffx-fees-and-rounding","docs\u002F2.integration-flow\u002F4.fx-fees-and-rounding",{"title":86,"path":87,"stem":88,"children":89,"page":21},"Dashboard","\u002Fdocs\u002Fdashboard","docs\u002F3.dashboard",[90,93,97,101,105,109,113,117,121,125,129,133,137],{"title":10,"path":91,"stem":92},"\u002Fdocs\u002Fdashboard\u002Foverview","docs\u002F3.dashboard\u002F1.overview",{"title":94,"path":95,"stem":96},"Webhook Deliveries","\u002Fdocs\u002Fdashboard\u002Fwebhook-deliveries","docs\u002F3.dashboard\u002F10.webhook-deliveries",{"title":98,"path":99,"stem":100},"Staffs","\u002Fdocs\u002Fdashboard\u002Fstaffs","docs\u002F3.dashboard\u002F11.staffs",{"title":102,"path":103,"stem":104},"Simulator","\u002Fdocs\u002Fdashboard\u002Fsimulator","docs\u002F3.dashboard\u002F12.simulator",{"title":106,"path":107,"stem":108},"API Playground","\u002Fdocs\u002Fdashboard\u002Fapi-playground","docs\u002F3.dashboard\u002F13.api-playground",{"title":110,"path":111,"stem":112},"API keys","\u002Fdocs\u002Fdashboard\u002Fapi-keys","docs\u002F3.dashboard\u002F2.api-keys",{"title":114,"path":115,"stem":116},"Wallet adapter settings","\u002Fdocs\u002Fdashboard\u002Fwallet-adapter-settings","docs\u002F3.dashboard\u002F3.wallet-adapter-settings",{"title":118,"path":119,"stem":120},"Webhook endpoints","\u002Fdocs\u002Fdashboard\u002Fwebhook-endpoints","docs\u002F3.dashboard\u002F4.webhook-endpoints",{"title":122,"path":123,"stem":124},"Markets and visibility","\u002Fdocs\u002Fdashboard\u002Fmarket-visibility","docs\u002F3.dashboard\u002F5.market-visibility",{"title":126,"path":127,"stem":128},"Users","\u002Fdocs\u002Fdashboard\u002Fusers","docs\u002F3.dashboard\u002F6.users",{"title":130,"path":131,"stem":132},"Trades","\u002Fdocs\u002Fdashboard\u002Ftrades","docs\u002F3.dashboard\u002F7.trades",{"title":134,"path":135,"stem":136},"Resolutions","\u002Fdocs\u002Fdashboard\u002Fresolutions","docs\u002F3.dashboard\u002F8.resolutions",{"title":138,"path":139,"stem":140},"Balance Operations","\u002Fdocs\u002Fdashboard\u002Fbalance-operations","docs\u002F3.dashboard\u002F9.balance-operations",{"title":142,"path":143,"stem":144,"children":145,"page":21},"Operator Api","\u002Fdocs\u002Foperator-api","docs\u002F4.operator-api",[146,150,153,157,160,164,167,171,175,179,183,187,190,194,198,202,206,210,213,217,220,223],{"title":147,"path":148,"stem":149},"Authentication","\u002Fdocs\u002Foperator-api\u002Fauthentication","docs\u002F4.operator-api\u002F1.authentication",{"title":118,"path":151,"stem":152},"\u002Fdocs\u002Foperator-api\u002Fwebhook-endpoints","docs\u002F4.operator-api\u002F10.webhook-endpoints",{"title":154,"path":155,"stem":156},"Webhook deliveries","\u002Fdocs\u002Foperator-api\u002Fwebhook-deliveries","docs\u002F4.operator-api\u002F11.webhook-deliveries",{"title":102,"path":158,"stem":159},"\u002Fdocs\u002Foperator-api\u002Fsimulator","docs\u002F4.operator-api\u002F12.simulator",{"title":161,"path":162,"stem":163},"Wallet adapter","\u002Fdocs\u002Foperator-api\u002Fwallet-adapter","docs\u002F4.operator-api\u002F13.wallet-adapter",{"title":98,"path":165,"stem":166},"\u002Fdocs\u002Foperator-api\u002Fstaffs","docs\u002F4.operator-api\u002F14.staffs",{"title":168,"path":169,"stem":170},"Error codes","\u002Fdocs\u002Foperator-api\u002Ferror-codes","docs\u002F4.operator-api\u002F15.error-codes",{"title":172,"path":173,"stem":174},"Redemptions","\u002Fdocs\u002Foperator-api\u002Fredemptions","docs\u002F4.operator-api\u002F16.redemptions",{"title":176,"path":177,"stem":178},"Polyflight overview","\u002Fdocs\u002Foperator-api\u002Fpolyflight","docs\u002F4.operator-api\u002F17.polyflight",{"title":180,"path":181,"stem":182},"Polyflight flights","\u002Fdocs\u002Foperator-api\u002Fpolyflight-flights","docs\u002F4.operator-api\u002F18.polyflight-flights",{"title":184,"path":185,"stem":186},"Polyflight tickets","\u002Fdocs\u002Foperator-api\u002Fpolyflight-tickets","docs\u002F4.operator-api\u002F19.polyflight-tickets",{"title":110,"path":188,"stem":189},"\u002Fdocs\u002Foperator-api\u002Fapi-keys","docs\u002F4.operator-api\u002F2.api-keys",{"title":191,"path":192,"stem":193},"Polyflight balance operations","\u002Fdocs\u002Foperator-api\u002Fpolyflight-balance-operations","docs\u002F4.operator-api\u002F20.polyflight-balance-operations",{"title":195,"path":196,"stem":197},"Polyflight terms","\u002Fdocs\u002Foperator-api\u002Fpolyflight-terms","docs\u002F4.operator-api\u002F21.polyflight-terms",{"title":199,"path":200,"stem":201},"Polyflight settlement reports","\u002Fdocs\u002Foperator-api\u002Fpolyflight-settlement-reports","docs\u002F4.operator-api\u002F22.polyflight-settlement-reports",{"title":203,"path":204,"stem":205},"Session","\u002Fdocs\u002Foperator-api\u002Fsession","docs\u002F4.operator-api\u002F3.session",{"title":207,"path":208,"stem":209},"Launch","\u002Fdocs\u002Foperator-api\u002Flaunch","docs\u002F4.operator-api\u002F4.launch",{"title":126,"path":211,"stem":212},"\u002Fdocs\u002Foperator-api\u002Fusers","docs\u002F4.operator-api\u002F5.users",{"title":214,"path":215,"stem":216},"Markets","\u002Fdocs\u002Foperator-api\u002Fmarkets","docs\u002F4.operator-api\u002F6.markets",{"title":130,"path":218,"stem":219},"\u002Fdocs\u002Foperator-api\u002Ftrades","docs\u002F4.operator-api\u002F7.trades",{"title":134,"path":221,"stem":222},"\u002Fdocs\u002Foperator-api\u002Fresolutions","docs\u002F4.operator-api\u002F8.resolutions",{"title":224,"path":225,"stem":226},"Balance operations","\u002Fdocs\u002Foperator-api\u002Fbalance-operations","docs\u002F4.operator-api\u002F9.balance-operations",{"title":228,"path":229,"stem":230,"children":231,"page":21},"Wallet Adapter","\u002Fdocs\u002Fwallet-adapter","docs\u002F5.wallet-adapter",[232,235,238,242,246,250,254],{"title":10,"path":233,"stem":234},"\u002Fdocs\u002Fwallet-adapter\u002Foverview","docs\u002F5.wallet-adapter\u002F1.overview",{"title":147,"path":236,"stem":237},"\u002Fdocs\u002Fwallet-adapter\u002Fauthentication","docs\u002F5.wallet-adapter\u002F2.authentication",{"title":239,"path":240,"stem":241},"Balance","\u002Fdocs\u002Fwallet-adapter\u002Fbalance","docs\u002F5.wallet-adapter\u002F3.balance",{"title":243,"path":244,"stem":245},"Debit","\u002Fdocs\u002Fwallet-adapter\u002Fdebit","docs\u002F5.wallet-adapter\u002F4.debit",{"title":247,"path":248,"stem":249},"Credit","\u002Fdocs\u002Fwallet-adapter\u002Fcredit","docs\u002F5.wallet-adapter\u002F5.credit",{"title":251,"path":252,"stem":253},"Debit reversal","\u002Fdocs\u002Fwallet-adapter\u002Fdebit-reversal","docs\u002F5.wallet-adapter\u002F6.debit-reversal",{"title":255,"path":256,"stem":257},"Idempotency","\u002Fdocs\u002Fwallet-adapter\u002Fidempotency","docs\u002F5.wallet-adapter\u002F7.idempotency",{"title":259,"path":260,"stem":261,"children":262,"page":21},"Webhooks","\u002Fdocs\u002Fwebhooks","docs\u002F6.webhooks",[263,266,270,274,278,282],{"title":10,"path":264,"stem":265},"\u002Fdocs\u002Fwebhooks\u002Foverview","docs\u002F6.webhooks\u002F1.overview",{"title":267,"path":268,"stem":269},"Signatures","\u002Fdocs\u002Fwebhooks\u002Fsignatures","docs\u002F6.webhooks\u002F2.signatures",{"title":271,"path":272,"stem":273},"Event envelope","\u002Fdocs\u002Fwebhooks\u002Fevent-envelope","docs\u002F6.webhooks\u002F3.event-envelope",{"title":275,"path":276,"stem":277},"Event types","\u002Fdocs\u002Fwebhooks\u002Fevent-types","docs\u002F6.webhooks\u002F4.event-types",{"title":279,"path":280,"stem":281},"Retry and replay","\u002Fdocs\u002Fwebhooks\u002Fretry-and-replay","docs\u002F6.webhooks\u002F5.retry-and-replay",{"title":283,"path":284,"stem":285},"Receiver examples","\u002Fdocs\u002Fwebhooks\u002Freceiver-examples","docs\u002F6.webhooks\u002F6.receiver-examples",{"title":287,"path":288,"stem":289,"children":290,"page":21},"Testing And Staging","\u002Fdocs\u002Ftesting-and-staging","docs\u002F7.testing-and-staging",[291,295,298,302,306],{"title":292,"path":293,"stem":294},"Staging overview","\u002Fdocs\u002Ftesting-and-staging\u002Fstaging-overview","docs\u002F7.testing-and-staging\u002F1.staging-overview",{"title":102,"path":296,"stem":297},"\u002Fdocs\u002Ftesting-and-staging\u002Fsimulator","docs\u002F7.testing-and-staging\u002F2.simulator",{"title":299,"path":300,"stem":301},"Wallet failure drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwallet-failure-drills","docs\u002F7.testing-and-staging\u002F3.wallet-failure-drills",{"title":303,"path":304,"stem":305},"Webhook drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwebhook-drills","docs\u002F7.testing-and-staging\u002F4.webhook-drills",{"title":307,"path":308,"stem":309},"Production cutover rehearsal","\u002Fdocs\u002Ftesting-and-staging\u002Fproduction-cutover-rehearsal","docs\u002F7.testing-and-staging\u002F5.production-cutover-rehearsal",{"title":311,"path":312,"stem":313,"children":314,"page":21},"Production Readiness","\u002Fdocs\u002Fproduction-readiness","docs\u002F8.production-readiness",[315,319,323,327],{"title":316,"path":317,"stem":318},"Checklist","\u002Fdocs\u002Fproduction-readiness\u002Fchecklist","docs\u002F8.production-readiness\u002F1.checklist",{"title":320,"path":321,"stem":322},"Operational runbook","\u002Fdocs\u002Fproduction-readiness\u002Foperational-runbook","docs\u002F8.production-readiness\u002F2.operational-runbook",{"title":324,"path":325,"stem":326},"Security","\u002Fdocs\u002Fproduction-readiness\u002Fsecurity","docs\u002F8.production-readiness\u002F3.security",{"title":328,"path":329,"stem":330},"Rollback","\u002Fdocs\u002Fproduction-readiness\u002Frollback","docs\u002F8.production-readiness\u002F4.rollback",{"title":332,"path":333,"stem":334,"children":335,"page":21},"Reference","\u002Fdocs\u002Freference","docs\u002F9.reference",[336,340,344,348,352],{"title":337,"path":338,"stem":339},"Statuses","\u002Fdocs\u002Freference\u002Fstatuses","docs\u002F9.reference\u002F1.statuses",{"title":341,"path":342,"stem":343},"Scopes","\u002Fdocs\u002Freference\u002Fscopes","docs\u002F9.reference\u002F2.scopes",{"title":345,"path":346,"stem":347},"Units and money","\u002Fdocs\u002Freference\u002Funits-and-money","docs\u002F9.reference\u002F3.units-and-money",{"title":349,"path":350,"stem":351},"Changelog","\u002Fdocs\u002Freference\u002Fchangelog","docs\u002F9.reference\u002F4.changelog",{"title":353,"path":354,"stem":355},"Virtual AMM","\u002Fdocs\u002Freference\u002Fvirtual-amm","docs\u002F9.reference\u002F5.virtual-amm",{"id":357,"title":45,"body":358,"description":3659,"extension":3660,"links":3661,"meta":3662,"navigation":3663,"path":46,"seo":3664,"stem":47,"__hash__":3665},"docs\u002Fdocs\u002F11.polyflight\u002F2.native-wallet-contract.md",{"type":359,"value":360,"toc":3645},"minimark",[361,365,369,374,504,511,515,551,1038,1042,1045,1201,1204,1642,1656,1661,1688,2128,2132,2146,2588,2592,2664,2715,2742,2745,2908,2930,2936,2940,2967,2970,2974,2988,3123,3146,3166,3297,3302,3432,3440,3448,3457,3461,3464,3524,3532,3536,3539,3569,3596,3610,3616,3622,3626,3635,3641],[362,363,45],"h1",{"id":364},"native-wallet-contract",[366,367,368],"p",{},"Polyflight uses the existing REST v1 wallet paths and response contract. Do not create separate credentials or Polyflight-only endpoints.",[370,371,373],"h2",{"id":372},"request-matrix","Request matrix",[375,376,377,402],"table",{},[378,379,380],"thead",{},[381,382,383,387,390,396],"tr",{},[384,385,386],"th",{},"Effect",[384,388,389],{},"Method and path",[384,391,392],{},[393,394,395],"code",{},"reason",[384,397,398,399],{},"Stable ",[393,400,401],{},"idempotency_key",[403,404,405,426,446,466,485],"tbody",{},[381,406,407,411,416,421],{},[408,409,410],"td",{},"Ticket purchase",[408,412,413],{},[393,414,415],{},"POST \u002Fdebit",[408,417,418],{},[393,419,420],{},"mini_app_polyflight_purchase",[408,422,423],{},[393,424,425],{},"mini_app_polyflight_purchase:{purchaseRequestId}:debit",[381,427,428,431,436,441],{},[408,429,430],{},"Debit applied but no ticket admitted",[408,432,433],{},[393,434,435],{},"POST \u002Fdebit-reversal",[408,437,438],{},[393,439,440],{},"mini_app_polyflight_purchase_compensation",[408,442,443],{},[393,444,445],{},"mini_app_polyflight_purchase:{purchaseRequestId}:debit_reversal",[381,447,448,451,456,461],{},[408,449,450],{},"Winning payout",[408,452,453],{},[393,454,455],{},"POST \u002Fcredit",[408,457,458],{},[393,459,460],{},"mini_app_polyflight_win",[408,462,463],{},[393,464,465],{},"mini_app_polyflight_ticket:{ticketId}:win",[381,467,468,471,475,480],{},[408,469,470],{},"Losing result delivery",[408,472,473],{},[393,474,455],{},[408,476,477],{},[393,478,479],{},"mini_app_polyflight_loss",[408,481,482],{},[393,483,484],{},"mini_app_polyflight_ticket:{ticketId}:loss",[381,486,487,490,494,499],{},[408,488,489],{},"Cancelled-ticket refund",[408,491,492],{},[393,493,455],{},[408,495,496],{},[393,497,498],{},"mini_app_polyflight_refund",[408,500,501],{},[393,502,503],{},"mini_app_polyflight_ticket:{ticketId}:refund",[366,505,506,507,510],{},"The endpoint determines direction; there is no ",[393,508,509],{},"direction"," field in the REST v1 mutation body. A newly settled losing ticket creates a durable zero-amount credit delivery. It records the final losing result in the operator wallet without changing the balance; it is not a payout or a second stake debit.",[370,512,514],{"id":513},"request-shape","Request shape",[366,516,517,518,522,523,526,527,530,531,534,535,538,539,542,543,546,547,550],{},"The purchase and compensation examples correlate with the distinct scenarios in ",[519,520,49],"a",{"href":521},"\u002Fdocs\u002Fpolyflight\u002Fapi-events-and-proof#example-economics-and-scenarios",". Both quote a gross stake of ",[393,524,525],{},"10000",", an included 5% fee of ",[393,528,529],{},"500",", net stake of ",[393,532,533],{},"9500",", and a potential payout of ",[393,536,537],{},"9500 × 4 = 38000",". Flight codes identify the opening slot: the example flight opens at ",[393,540,541],{},"10:00Z",", locks at ",[393,544,545],{},"10:55Z",", and lands at ",[393,548,549],{},"11:00Z",".",[552,553,558],"pre",{"className":554,"code":555,"language":556,"meta":557,"style":557},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"external_user_id\": \"operator-user-123\",\n  \"amount_minor\": 10000,\n  \"currency_code\": \"IDR\",\n  \"idempotency_key\": \"mini_app_polyflight_purchase:6f9f6d61-3ac7-47d2-aa42-6ab39e492931:debit\",\n  \"reason\": \"mini_app_polyflight_purchase\",\n  \"metadata\": {\n    \"product\": \"polyflight\",\n    \"operation\": \"purchase\",\n    \"walletTransport\": \"rest_v1\",\n    \"purchaseRequestId\": \"6f9f6d61-3ac7-47d2-aa42-6ab39e492931\",\n    \"flightId\": \"1df82a79-f8e2-4729-bced-07ca6387524f\",\n    \"flightCode\": \"PF-20260916-1000-A\",\n    \"choiceKind\": \"abcd\",\n    \"choiceIndex\": 2,\n    \"currencyCode\": \"IDR\",\n    \"stakeMinor\": 10000,\n    \"feeMinor\": 500,\n    \"netStakeMinor\": 9500,\n    \"potentialPayoutMinor\": 38000,\n    \"opensAt\": \"2026-09-16T10:00:00.000Z\",\n    \"locksAt\": \"2026-09-16T10:55:00.000Z\",\n    \"landsAt\": \"2026-09-16T11:00:00.000Z\",\n    \"economyVersion\": \"polyflight-economy-v1\"\n  }\n}\n","json","",[393,559,560,569,597,615,636,656,675,690,713,734,755,776,797,818,839,856,876,892,909,926,943,964,985,1006,1026,1032],{"__ignoreMap":557},[561,562,565],"span",{"class":563,"line":564},"line",1,[561,566,568],{"class":567},"sMK4o","{\n",[561,570,572,575,579,582,585,588,592,594],{"class":563,"line":571},2,[561,573,574],{"class":567},"  \"",[561,576,578],{"class":577},"spNyl","external_user_id",[561,580,581],{"class":567},"\"",[561,583,584],{"class":567},":",[561,586,587],{"class":567}," \"",[561,589,591],{"class":590},"sfazB","operator-user-123",[561,593,581],{"class":567},[561,595,596],{"class":567},",\n",[561,598,600,602,605,607,609,613],{"class":563,"line":599},3,[561,601,574],{"class":567},[561,603,604],{"class":577},"amount_minor",[561,606,581],{"class":567},[561,608,584],{"class":567},[561,610,612],{"class":611},"sbssI"," 10000",[561,614,596],{"class":567},[561,616,618,620,623,625,627,629,632,634],{"class":563,"line":617},4,[561,619,574],{"class":567},[561,621,622],{"class":577},"currency_code",[561,624,581],{"class":567},[561,626,584],{"class":567},[561,628,587],{"class":567},[561,630,631],{"class":590},"IDR",[561,633,581],{"class":567},[561,635,596],{"class":567},[561,637,639,641,643,645,647,649,652,654],{"class":563,"line":638},5,[561,640,574],{"class":567},[561,642,401],{"class":577},[561,644,581],{"class":567},[561,646,584],{"class":567},[561,648,587],{"class":567},[561,650,651],{"class":590},"mini_app_polyflight_purchase:6f9f6d61-3ac7-47d2-aa42-6ab39e492931:debit",[561,653,581],{"class":567},[561,655,596],{"class":567},[561,657,659,661,663,665,667,669,671,673],{"class":563,"line":658},6,[561,660,574],{"class":567},[561,662,395],{"class":577},[561,664,581],{"class":567},[561,666,584],{"class":567},[561,668,587],{"class":567},[561,670,420],{"class":590},[561,672,581],{"class":567},[561,674,596],{"class":567},[561,676,678,680,683,685,687],{"class":563,"line":677},7,[561,679,574],{"class":567},[561,681,682],{"class":577},"metadata",[561,684,581],{"class":567},[561,686,584],{"class":567},[561,688,689],{"class":567}," {\n",[561,691,693,696,700,702,704,706,709,711],{"class":563,"line":692},8,[561,694,695],{"class":567},"    \"",[561,697,699],{"class":698},"sBMFI","product",[561,701,581],{"class":567},[561,703,584],{"class":567},[561,705,587],{"class":567},[561,707,708],{"class":590},"polyflight",[561,710,581],{"class":567},[561,712,596],{"class":567},[561,714,716,718,721,723,725,727,730,732],{"class":563,"line":715},9,[561,717,695],{"class":567},[561,719,720],{"class":698},"operation",[561,722,581],{"class":567},[561,724,584],{"class":567},[561,726,587],{"class":567},[561,728,729],{"class":590},"purchase",[561,731,581],{"class":567},[561,733,596],{"class":567},[561,735,737,739,742,744,746,748,751,753],{"class":563,"line":736},10,[561,738,695],{"class":567},[561,740,741],{"class":698},"walletTransport",[561,743,581],{"class":567},[561,745,584],{"class":567},[561,747,587],{"class":567},[561,749,750],{"class":590},"rest_v1",[561,752,581],{"class":567},[561,754,596],{"class":567},[561,756,758,760,763,765,767,769,772,774],{"class":563,"line":757},11,[561,759,695],{"class":567},[561,761,762],{"class":698},"purchaseRequestId",[561,764,581],{"class":567},[561,766,584],{"class":567},[561,768,587],{"class":567},[561,770,771],{"class":590},"6f9f6d61-3ac7-47d2-aa42-6ab39e492931",[561,773,581],{"class":567},[561,775,596],{"class":567},[561,777,779,781,784,786,788,790,793,795],{"class":563,"line":778},12,[561,780,695],{"class":567},[561,782,783],{"class":698},"flightId",[561,785,581],{"class":567},[561,787,584],{"class":567},[561,789,587],{"class":567},[561,791,792],{"class":590},"1df82a79-f8e2-4729-bced-07ca6387524f",[561,794,581],{"class":567},[561,796,596],{"class":567},[561,798,800,802,805,807,809,811,814,816],{"class":563,"line":799},13,[561,801,695],{"class":567},[561,803,804],{"class":698},"flightCode",[561,806,581],{"class":567},[561,808,584],{"class":567},[561,810,587],{"class":567},[561,812,813],{"class":590},"PF-20260916-1000-A",[561,815,581],{"class":567},[561,817,596],{"class":567},[561,819,821,823,826,828,830,832,835,837],{"class":563,"line":820},14,[561,822,695],{"class":567},[561,824,825],{"class":698},"choiceKind",[561,827,581],{"class":567},[561,829,584],{"class":567},[561,831,587],{"class":567},[561,833,834],{"class":590},"abcd",[561,836,581],{"class":567},[561,838,596],{"class":567},[561,840,842,844,847,849,851,854],{"class":563,"line":841},15,[561,843,695],{"class":567},[561,845,846],{"class":698},"choiceIndex",[561,848,581],{"class":567},[561,850,584],{"class":567},[561,852,853],{"class":611}," 2",[561,855,596],{"class":567},[561,857,859,861,864,866,868,870,872,874],{"class":563,"line":858},16,[561,860,695],{"class":567},[561,862,863],{"class":698},"currencyCode",[561,865,581],{"class":567},[561,867,584],{"class":567},[561,869,587],{"class":567},[561,871,631],{"class":590},[561,873,581],{"class":567},[561,875,596],{"class":567},[561,877,879,881,884,886,888,890],{"class":563,"line":878},17,[561,880,695],{"class":567},[561,882,883],{"class":698},"stakeMinor",[561,885,581],{"class":567},[561,887,584],{"class":567},[561,889,612],{"class":611},[561,891,596],{"class":567},[561,893,895,897,900,902,904,907],{"class":563,"line":894},18,[561,896,695],{"class":567},[561,898,899],{"class":698},"feeMinor",[561,901,581],{"class":567},[561,903,584],{"class":567},[561,905,906],{"class":611}," 500",[561,908,596],{"class":567},[561,910,912,914,917,919,921,924],{"class":563,"line":911},19,[561,913,695],{"class":567},[561,915,916],{"class":698},"netStakeMinor",[561,918,581],{"class":567},[561,920,584],{"class":567},[561,922,923],{"class":611}," 9500",[561,925,596],{"class":567},[561,927,929,931,934,936,938,941],{"class":563,"line":928},20,[561,930,695],{"class":567},[561,932,933],{"class":698},"potentialPayoutMinor",[561,935,581],{"class":567},[561,937,584],{"class":567},[561,939,940],{"class":611}," 38000",[561,942,596],{"class":567},[561,944,946,948,951,953,955,957,960,962],{"class":563,"line":945},21,[561,947,695],{"class":567},[561,949,950],{"class":698},"opensAt",[561,952,581],{"class":567},[561,954,584],{"class":567},[561,956,587],{"class":567},[561,958,959],{"class":590},"2026-09-16T10:00:00.000Z",[561,961,581],{"class":567},[561,963,596],{"class":567},[561,965,967,969,972,974,976,978,981,983],{"class":563,"line":966},22,[561,968,695],{"class":567},[561,970,971],{"class":698},"locksAt",[561,973,581],{"class":567},[561,975,584],{"class":567},[561,977,587],{"class":567},[561,979,980],{"class":590},"2026-09-16T10:55:00.000Z",[561,982,581],{"class":567},[561,984,596],{"class":567},[561,986,988,990,993,995,997,999,1002,1004],{"class":563,"line":987},23,[561,989,695],{"class":567},[561,991,992],{"class":698},"landsAt",[561,994,581],{"class":567},[561,996,584],{"class":567},[561,998,587],{"class":567},[561,1000,1001],{"class":590},"2026-09-16T11:00:00.000Z",[561,1003,581],{"class":567},[561,1005,596],{"class":567},[561,1007,1009,1011,1014,1016,1018,1020,1023],{"class":563,"line":1008},24,[561,1010,695],{"class":567},[561,1012,1013],{"class":698},"economyVersion",[561,1015,581],{"class":567},[561,1017,584],{"class":567},[561,1019,587],{"class":567},[561,1021,1022],{"class":590},"polyflight-economy-v1",[561,1024,1025],{"class":567},"\"\n",[561,1027,1029],{"class":563,"line":1028},25,[561,1030,1031],{"class":567},"  }\n",[561,1033,1035],{"class":563,"line":1034},26,[561,1036,1037],{"class":567},"}\n",[370,1039,1041],{"id":1040},"effect-specific-request-values","Effect-specific request values",[366,1043,1044],{},"The purchase example above is the full debit shape. The other effects use the same top-level fields and common metadata, with these exact variations:",[375,1046,1047,1067],{},[378,1048,1049],{},[381,1050,1051,1053,1056,1061,1064],{},[384,1052,386],{},[384,1054,1055],{},"Path",[384,1057,1059],{"align":1058},"right",[393,1060,604],{},[384,1062,1063],{},"Key and reason",[384,1065,1066],{},"Metadata changes from purchase",[403,1068,1069,1108,1139,1170],{},[381,1070,1071,1074,1078,1083,1090],{},[408,1072,1073],{},"Compensation",[408,1075,1076],{},[393,1077,435],{},[408,1079,1080,1081],{"align":1058},"Original ",[393,1082,883],{},[408,1084,1085,1087,1088],{},[393,1086,445],{},"; ",[393,1089,440],{},[408,1091,1092,1095,1096,1099,1100,1103,1104,1107],{},[393,1093,1094],{},"operation = \"compensation\"","; add ",[393,1097,1098],{},"originalDebitOperationId"," and ",[393,1101,1102],{},"originalDebitIdempotencyKey","; no ",[393,1105,1106],{},"ticketId"," because no ticket was admitted.",[381,1109,1110,1113,1117,1122,1128],{},[408,1111,1112],{},"Win",[408,1114,1115],{},[393,1116,455],{},[408,1118,1119,1120],{"align":1058},"Stored ",[393,1121,933],{},[408,1123,1124,1087,1126],{},[393,1125,465],{},[393,1127,460],{},[408,1129,1130,1087,1133,1095,1136,1138],{},[393,1131,1132],{},"operation = \"win\"",[393,1134,1135],{},"result = \"won\"",[393,1137,1106],{},". There are no original-debit fields.",[381,1140,1141,1144,1148,1154,1160],{},[408,1142,1143],{},"Loss",[408,1145,1146],{},[393,1147,455],{},[408,1149,1150,1151],{"align":1058},"Exactly ",[393,1152,1153],{},"0",[408,1155,1156,1087,1158],{},[393,1157,484],{},[393,1159,479],{},[408,1161,1162,1087,1165,1095,1168,1138],{},[393,1163,1164],{},"operation = \"loss\"",[393,1166,1167],{},"result = \"lost\"",[393,1169,1106],{},[381,1171,1172,1174,1178,1182,1188],{},[408,1173,489],{},[408,1175,1176],{},[393,1177,455],{},[408,1179,1080,1180],{"align":1058},[393,1181,883],{},[408,1183,1184,1087,1186],{},[393,1185,503],{},[393,1187,498],{},[408,1189,1190,1095,1193,1195,1196,1198,1199,550],{},[393,1191,1192],{},"operation = \"refund\"",[393,1194,1106],{},", ",[393,1197,1098],{},", and ",[393,1200,1102],{},[366,1202,1203],{},"For example, the wallet receives this compensation reversal after a confirmed debit could not become a ticket:",[552,1205,1207],{"className":554,"code":1206,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"amount_minor\": 10000,\n  \"currency_code\": \"IDR\",\n  \"idempotency_key\": \"mini_app_polyflight_purchase:91bdce37-82f8-4d8d-9615-2b73ce6a4003:debit_reversal\",\n  \"reason\": \"mini_app_polyflight_purchase_compensation\",\n  \"metadata\": {\n    \"product\": \"polyflight\",\n    \"operation\": \"compensation\",\n    \"walletTransport\": \"rest_v1\",\n    \"purchaseRequestId\": \"91bdce37-82f8-4d8d-9615-2b73ce6a4003\",\n    \"flightId\": \"1df82a79-f8e2-4729-bced-07ca6387524f\",\n    \"flightCode\": \"PF-20260916-1000-A\",\n    \"choiceKind\": \"abcd\",\n    \"choiceIndex\": 2,\n    \"currencyCode\": \"IDR\",\n    \"stakeMinor\": 10000,\n    \"feeMinor\": 500,\n    \"netStakeMinor\": 9500,\n    \"potentialPayoutMinor\": 38000,\n    \"opensAt\": \"2026-09-16T10:00:00.000Z\",\n    \"locksAt\": \"2026-09-16T10:55:00.000Z\",\n    \"landsAt\": \"2026-09-16T11:00:00.000Z\",\n    \"economyVersion\": \"polyflight-economy-v1\",\n    \"originalDebitOperationId\": 9124,\n    \"originalDebitIdempotencyKey\": \"mini_app_polyflight_purchase:91bdce37-82f8-4d8d-9615-2b73ce6a4003:debit\"\n  }\n}\n",[393,1208,1209,1213,1231,1245,1263,1282,1300,1312,1330,1349,1367,1386,1404,1422,1440,1454,1472,1486,1500,1514,1528,1546,1564,1582,1600,1615,1632,1637],{"__ignoreMap":557},[561,1210,1211],{"class":563,"line":564},[561,1212,568],{"class":567},[561,1214,1215,1217,1219,1221,1223,1225,1227,1229],{"class":563,"line":571},[561,1216,574],{"class":567},[561,1218,578],{"class":577},[561,1220,581],{"class":567},[561,1222,584],{"class":567},[561,1224,587],{"class":567},[561,1226,591],{"class":590},[561,1228,581],{"class":567},[561,1230,596],{"class":567},[561,1232,1233,1235,1237,1239,1241,1243],{"class":563,"line":599},[561,1234,574],{"class":567},[561,1236,604],{"class":577},[561,1238,581],{"class":567},[561,1240,584],{"class":567},[561,1242,612],{"class":611},[561,1244,596],{"class":567},[561,1246,1247,1249,1251,1253,1255,1257,1259,1261],{"class":563,"line":617},[561,1248,574],{"class":567},[561,1250,622],{"class":577},[561,1252,581],{"class":567},[561,1254,584],{"class":567},[561,1256,587],{"class":567},[561,1258,631],{"class":590},[561,1260,581],{"class":567},[561,1262,596],{"class":567},[561,1264,1265,1267,1269,1271,1273,1275,1278,1280],{"class":563,"line":638},[561,1266,574],{"class":567},[561,1268,401],{"class":577},[561,1270,581],{"class":567},[561,1272,584],{"class":567},[561,1274,587],{"class":567},[561,1276,1277],{"class":590},"mini_app_polyflight_purchase:91bdce37-82f8-4d8d-9615-2b73ce6a4003:debit_reversal",[561,1279,581],{"class":567},[561,1281,596],{"class":567},[561,1283,1284,1286,1288,1290,1292,1294,1296,1298],{"class":563,"line":658},[561,1285,574],{"class":567},[561,1287,395],{"class":577},[561,1289,581],{"class":567},[561,1291,584],{"class":567},[561,1293,587],{"class":567},[561,1295,440],{"class":590},[561,1297,581],{"class":567},[561,1299,596],{"class":567},[561,1301,1302,1304,1306,1308,1310],{"class":563,"line":677},[561,1303,574],{"class":567},[561,1305,682],{"class":577},[561,1307,581],{"class":567},[561,1309,584],{"class":567},[561,1311,689],{"class":567},[561,1313,1314,1316,1318,1320,1322,1324,1326,1328],{"class":563,"line":692},[561,1315,695],{"class":567},[561,1317,699],{"class":698},[561,1319,581],{"class":567},[561,1321,584],{"class":567},[561,1323,587],{"class":567},[561,1325,708],{"class":590},[561,1327,581],{"class":567},[561,1329,596],{"class":567},[561,1331,1332,1334,1336,1338,1340,1342,1345,1347],{"class":563,"line":715},[561,1333,695],{"class":567},[561,1335,720],{"class":698},[561,1337,581],{"class":567},[561,1339,584],{"class":567},[561,1341,587],{"class":567},[561,1343,1344],{"class":590},"compensation",[561,1346,581],{"class":567},[561,1348,596],{"class":567},[561,1350,1351,1353,1355,1357,1359,1361,1363,1365],{"class":563,"line":736},[561,1352,695],{"class":567},[561,1354,741],{"class":698},[561,1356,581],{"class":567},[561,1358,584],{"class":567},[561,1360,587],{"class":567},[561,1362,750],{"class":590},[561,1364,581],{"class":567},[561,1366,596],{"class":567},[561,1368,1369,1371,1373,1375,1377,1379,1382,1384],{"class":563,"line":757},[561,1370,695],{"class":567},[561,1372,762],{"class":698},[561,1374,581],{"class":567},[561,1376,584],{"class":567},[561,1378,587],{"class":567},[561,1380,1381],{"class":590},"91bdce37-82f8-4d8d-9615-2b73ce6a4003",[561,1383,581],{"class":567},[561,1385,596],{"class":567},[561,1387,1388,1390,1392,1394,1396,1398,1400,1402],{"class":563,"line":778},[561,1389,695],{"class":567},[561,1391,783],{"class":698},[561,1393,581],{"class":567},[561,1395,584],{"class":567},[561,1397,587],{"class":567},[561,1399,792],{"class":590},[561,1401,581],{"class":567},[561,1403,596],{"class":567},[561,1405,1406,1408,1410,1412,1414,1416,1418,1420],{"class":563,"line":799},[561,1407,695],{"class":567},[561,1409,804],{"class":698},[561,1411,581],{"class":567},[561,1413,584],{"class":567},[561,1415,587],{"class":567},[561,1417,813],{"class":590},[561,1419,581],{"class":567},[561,1421,596],{"class":567},[561,1423,1424,1426,1428,1430,1432,1434,1436,1438],{"class":563,"line":820},[561,1425,695],{"class":567},[561,1427,825],{"class":698},[561,1429,581],{"class":567},[561,1431,584],{"class":567},[561,1433,587],{"class":567},[561,1435,834],{"class":590},[561,1437,581],{"class":567},[561,1439,596],{"class":567},[561,1441,1442,1444,1446,1448,1450,1452],{"class":563,"line":841},[561,1443,695],{"class":567},[561,1445,846],{"class":698},[561,1447,581],{"class":567},[561,1449,584],{"class":567},[561,1451,853],{"class":611},[561,1453,596],{"class":567},[561,1455,1456,1458,1460,1462,1464,1466,1468,1470],{"class":563,"line":858},[561,1457,695],{"class":567},[561,1459,863],{"class":698},[561,1461,581],{"class":567},[561,1463,584],{"class":567},[561,1465,587],{"class":567},[561,1467,631],{"class":590},[561,1469,581],{"class":567},[561,1471,596],{"class":567},[561,1473,1474,1476,1478,1480,1482,1484],{"class":563,"line":878},[561,1475,695],{"class":567},[561,1477,883],{"class":698},[561,1479,581],{"class":567},[561,1481,584],{"class":567},[561,1483,612],{"class":611},[561,1485,596],{"class":567},[561,1487,1488,1490,1492,1494,1496,1498],{"class":563,"line":894},[561,1489,695],{"class":567},[561,1491,899],{"class":698},[561,1493,581],{"class":567},[561,1495,584],{"class":567},[561,1497,906],{"class":611},[561,1499,596],{"class":567},[561,1501,1502,1504,1506,1508,1510,1512],{"class":563,"line":911},[561,1503,695],{"class":567},[561,1505,916],{"class":698},[561,1507,581],{"class":567},[561,1509,584],{"class":567},[561,1511,923],{"class":611},[561,1513,596],{"class":567},[561,1515,1516,1518,1520,1522,1524,1526],{"class":563,"line":928},[561,1517,695],{"class":567},[561,1519,933],{"class":698},[561,1521,581],{"class":567},[561,1523,584],{"class":567},[561,1525,940],{"class":611},[561,1527,596],{"class":567},[561,1529,1530,1532,1534,1536,1538,1540,1542,1544],{"class":563,"line":945},[561,1531,695],{"class":567},[561,1533,950],{"class":698},[561,1535,581],{"class":567},[561,1537,584],{"class":567},[561,1539,587],{"class":567},[561,1541,959],{"class":590},[561,1543,581],{"class":567},[561,1545,596],{"class":567},[561,1547,1548,1550,1552,1554,1556,1558,1560,1562],{"class":563,"line":966},[561,1549,695],{"class":567},[561,1551,971],{"class":698},[561,1553,581],{"class":567},[561,1555,584],{"class":567},[561,1557,587],{"class":567},[561,1559,980],{"class":590},[561,1561,581],{"class":567},[561,1563,596],{"class":567},[561,1565,1566,1568,1570,1572,1574,1576,1578,1580],{"class":563,"line":987},[561,1567,695],{"class":567},[561,1569,992],{"class":698},[561,1571,581],{"class":567},[561,1573,584],{"class":567},[561,1575,587],{"class":567},[561,1577,1001],{"class":590},[561,1579,581],{"class":567},[561,1581,596],{"class":567},[561,1583,1584,1586,1588,1590,1592,1594,1596,1598],{"class":563,"line":1008},[561,1585,695],{"class":567},[561,1587,1013],{"class":698},[561,1589,581],{"class":567},[561,1591,584],{"class":567},[561,1593,587],{"class":567},[561,1595,1022],{"class":590},[561,1597,581],{"class":567},[561,1599,596],{"class":567},[561,1601,1602,1604,1606,1608,1610,1613],{"class":563,"line":1028},[561,1603,695],{"class":567},[561,1605,1098],{"class":698},[561,1607,581],{"class":567},[561,1609,584],{"class":567},[561,1611,1612],{"class":611}," 9124",[561,1614,596],{"class":567},[561,1616,1617,1619,1621,1623,1625,1627,1630],{"class":563,"line":1034},[561,1618,695],{"class":567},[561,1620,1102],{"class":698},[561,1622,581],{"class":567},[561,1624,584],{"class":567},[561,1626,587],{"class":567},[561,1628,1629],{"class":590},"mini_app_polyflight_purchase:91bdce37-82f8-4d8d-9615-2b73ce6a4003:debit",[561,1631,1025],{"class":567},[561,1633,1635],{"class":563,"line":1634},27,[561,1636,1031],{"class":567},[561,1638,1640],{"class":563,"line":1639},28,[561,1641,1037],{"class":567},[366,1643,1644,1645,1648,1649,1651,1652,1099,1654,550],{},"A refund credit uses ",[393,1646,1647],{},"\"operation\": \"refund\"",", includes the ticket and original-debit fields, and sends ",[393,1650,525],{}," with ",[393,1653,503],{},[393,1655,498],{},[1657,1658,1660],"h3",{"id":1659},"winning-payout-request","Winning-payout request",[366,1662,1663,1666,1667,1670,1671,1673,1674,1676,1677,1680,1681,1683,1684,1687],{},[1664,1665,1112],"strong",{}," is encoded as ",[393,1668,1669],{},"\"result\": \"won\"","; the value is case-sensitive. This complete ",[393,1672,455],{}," body matches the winning-ticket scenario in ",[519,1675,49],{"href":521},". The user receives the stored ",[393,1678,1679],{},"38000"," payout: ",[393,1682,533],{}," net stake × ",[393,1685,1686],{},"4",", with no second fee or extra stake return.",[552,1689,1691],{"className":554,"code":1690,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"amount_minor\": 38000,\n  \"currency_code\": \"IDR\",\n  \"idempotency_key\": \"mini_app_polyflight_ticket:4a81cb9d-778b-4e9c-a482-5f880e435f19:win\",\n  \"reason\": \"mini_app_polyflight_win\",\n  \"metadata\": {\n    \"product\": \"polyflight\",\n    \"operation\": \"win\",\n    \"result\": \"won\",\n    \"walletTransport\": \"rest_v1\",\n    \"purchaseRequestId\": \"6f9f6d61-3ac7-47d2-aa42-6ab39e492931\",\n    \"ticketId\": \"4a81cb9d-778b-4e9c-a482-5f880e435f19\",\n    \"flightId\": \"1df82a79-f8e2-4729-bced-07ca6387524f\",\n    \"flightCode\": \"PF-20260916-1000-A\",\n    \"choiceKind\": \"abcd\",\n    \"choiceIndex\": 2,\n    \"currencyCode\": \"IDR\",\n    \"stakeMinor\": 10000,\n    \"feeMinor\": 500,\n    \"netStakeMinor\": 9500,\n    \"potentialPayoutMinor\": 38000,\n    \"opensAt\": \"2026-09-16T10:00:00.000Z\",\n    \"locksAt\": \"2026-09-16T10:55:00.000Z\",\n    \"landsAt\": \"2026-09-16T11:00:00.000Z\",\n    \"economyVersion\": \"polyflight-economy-v1\"\n  }\n}\n",[393,1692,1693,1697,1715,1729,1747,1766,1784,1796,1814,1833,1853,1871,1889,1908,1926,1944,1962,1976,1994,2008,2022,2036,2050,2068,2086,2104,2120,2124],{"__ignoreMap":557},[561,1694,1695],{"class":563,"line":564},[561,1696,568],{"class":567},[561,1698,1699,1701,1703,1705,1707,1709,1711,1713],{"class":563,"line":571},[561,1700,574],{"class":567},[561,1702,578],{"class":577},[561,1704,581],{"class":567},[561,1706,584],{"class":567},[561,1708,587],{"class":567},[561,1710,591],{"class":590},[561,1712,581],{"class":567},[561,1714,596],{"class":567},[561,1716,1717,1719,1721,1723,1725,1727],{"class":563,"line":599},[561,1718,574],{"class":567},[561,1720,604],{"class":577},[561,1722,581],{"class":567},[561,1724,584],{"class":567},[561,1726,940],{"class":611},[561,1728,596],{"class":567},[561,1730,1731,1733,1735,1737,1739,1741,1743,1745],{"class":563,"line":617},[561,1732,574],{"class":567},[561,1734,622],{"class":577},[561,1736,581],{"class":567},[561,1738,584],{"class":567},[561,1740,587],{"class":567},[561,1742,631],{"class":590},[561,1744,581],{"class":567},[561,1746,596],{"class":567},[561,1748,1749,1751,1753,1755,1757,1759,1762,1764],{"class":563,"line":638},[561,1750,574],{"class":567},[561,1752,401],{"class":577},[561,1754,581],{"class":567},[561,1756,584],{"class":567},[561,1758,587],{"class":567},[561,1760,1761],{"class":590},"mini_app_polyflight_ticket:4a81cb9d-778b-4e9c-a482-5f880e435f19:win",[561,1763,581],{"class":567},[561,1765,596],{"class":567},[561,1767,1768,1770,1772,1774,1776,1778,1780,1782],{"class":563,"line":658},[561,1769,574],{"class":567},[561,1771,395],{"class":577},[561,1773,581],{"class":567},[561,1775,584],{"class":567},[561,1777,587],{"class":567},[561,1779,460],{"class":590},[561,1781,581],{"class":567},[561,1783,596],{"class":567},[561,1785,1786,1788,1790,1792,1794],{"class":563,"line":677},[561,1787,574],{"class":567},[561,1789,682],{"class":577},[561,1791,581],{"class":567},[561,1793,584],{"class":567},[561,1795,689],{"class":567},[561,1797,1798,1800,1802,1804,1806,1808,1810,1812],{"class":563,"line":692},[561,1799,695],{"class":567},[561,1801,699],{"class":698},[561,1803,581],{"class":567},[561,1805,584],{"class":567},[561,1807,587],{"class":567},[561,1809,708],{"class":590},[561,1811,581],{"class":567},[561,1813,596],{"class":567},[561,1815,1816,1818,1820,1822,1824,1826,1829,1831],{"class":563,"line":715},[561,1817,695],{"class":567},[561,1819,720],{"class":698},[561,1821,581],{"class":567},[561,1823,584],{"class":567},[561,1825,587],{"class":567},[561,1827,1828],{"class":590},"win",[561,1830,581],{"class":567},[561,1832,596],{"class":567},[561,1834,1835,1837,1840,1842,1844,1846,1849,1851],{"class":563,"line":736},[561,1836,695],{"class":567},[561,1838,1839],{"class":698},"result",[561,1841,581],{"class":567},[561,1843,584],{"class":567},[561,1845,587],{"class":567},[561,1847,1848],{"class":590},"won",[561,1850,581],{"class":567},[561,1852,596],{"class":567},[561,1854,1855,1857,1859,1861,1863,1865,1867,1869],{"class":563,"line":757},[561,1856,695],{"class":567},[561,1858,741],{"class":698},[561,1860,581],{"class":567},[561,1862,584],{"class":567},[561,1864,587],{"class":567},[561,1866,750],{"class":590},[561,1868,581],{"class":567},[561,1870,596],{"class":567},[561,1872,1873,1875,1877,1879,1881,1883,1885,1887],{"class":563,"line":778},[561,1874,695],{"class":567},[561,1876,762],{"class":698},[561,1878,581],{"class":567},[561,1880,584],{"class":567},[561,1882,587],{"class":567},[561,1884,771],{"class":590},[561,1886,581],{"class":567},[561,1888,596],{"class":567},[561,1890,1891,1893,1895,1897,1899,1901,1904,1906],{"class":563,"line":799},[561,1892,695],{"class":567},[561,1894,1106],{"class":698},[561,1896,581],{"class":567},[561,1898,584],{"class":567},[561,1900,587],{"class":567},[561,1902,1903],{"class":590},"4a81cb9d-778b-4e9c-a482-5f880e435f19",[561,1905,581],{"class":567},[561,1907,596],{"class":567},[561,1909,1910,1912,1914,1916,1918,1920,1922,1924],{"class":563,"line":820},[561,1911,695],{"class":567},[561,1913,783],{"class":698},[561,1915,581],{"class":567},[561,1917,584],{"class":567},[561,1919,587],{"class":567},[561,1921,792],{"class":590},[561,1923,581],{"class":567},[561,1925,596],{"class":567},[561,1927,1928,1930,1932,1934,1936,1938,1940,1942],{"class":563,"line":841},[561,1929,695],{"class":567},[561,1931,804],{"class":698},[561,1933,581],{"class":567},[561,1935,584],{"class":567},[561,1937,587],{"class":567},[561,1939,813],{"class":590},[561,1941,581],{"class":567},[561,1943,596],{"class":567},[561,1945,1946,1948,1950,1952,1954,1956,1958,1960],{"class":563,"line":858},[561,1947,695],{"class":567},[561,1949,825],{"class":698},[561,1951,581],{"class":567},[561,1953,584],{"class":567},[561,1955,587],{"class":567},[561,1957,834],{"class":590},[561,1959,581],{"class":567},[561,1961,596],{"class":567},[561,1963,1964,1966,1968,1970,1972,1974],{"class":563,"line":878},[561,1965,695],{"class":567},[561,1967,846],{"class":698},[561,1969,581],{"class":567},[561,1971,584],{"class":567},[561,1973,853],{"class":611},[561,1975,596],{"class":567},[561,1977,1978,1980,1982,1984,1986,1988,1990,1992],{"class":563,"line":894},[561,1979,695],{"class":567},[561,1981,863],{"class":698},[561,1983,581],{"class":567},[561,1985,584],{"class":567},[561,1987,587],{"class":567},[561,1989,631],{"class":590},[561,1991,581],{"class":567},[561,1993,596],{"class":567},[561,1995,1996,1998,2000,2002,2004,2006],{"class":563,"line":911},[561,1997,695],{"class":567},[561,1999,883],{"class":698},[561,2001,581],{"class":567},[561,2003,584],{"class":567},[561,2005,612],{"class":611},[561,2007,596],{"class":567},[561,2009,2010,2012,2014,2016,2018,2020],{"class":563,"line":928},[561,2011,695],{"class":567},[561,2013,899],{"class":698},[561,2015,581],{"class":567},[561,2017,584],{"class":567},[561,2019,906],{"class":611},[561,2021,596],{"class":567},[561,2023,2024,2026,2028,2030,2032,2034],{"class":563,"line":945},[561,2025,695],{"class":567},[561,2027,916],{"class":698},[561,2029,581],{"class":567},[561,2031,584],{"class":567},[561,2033,923],{"class":611},[561,2035,596],{"class":567},[561,2037,2038,2040,2042,2044,2046,2048],{"class":563,"line":966},[561,2039,695],{"class":567},[561,2041,933],{"class":698},[561,2043,581],{"class":567},[561,2045,584],{"class":567},[561,2047,940],{"class":611},[561,2049,596],{"class":567},[561,2051,2052,2054,2056,2058,2060,2062,2064,2066],{"class":563,"line":987},[561,2053,695],{"class":567},[561,2055,950],{"class":698},[561,2057,581],{"class":567},[561,2059,584],{"class":567},[561,2061,587],{"class":567},[561,2063,959],{"class":590},[561,2065,581],{"class":567},[561,2067,596],{"class":567},[561,2069,2070,2072,2074,2076,2078,2080,2082,2084],{"class":563,"line":1008},[561,2071,695],{"class":567},[561,2073,971],{"class":698},[561,2075,581],{"class":567},[561,2077,584],{"class":567},[561,2079,587],{"class":567},[561,2081,980],{"class":590},[561,2083,581],{"class":567},[561,2085,596],{"class":567},[561,2087,2088,2090,2092,2094,2096,2098,2100,2102],{"class":563,"line":1028},[561,2089,695],{"class":567},[561,2091,992],{"class":698},[561,2093,581],{"class":567},[561,2095,584],{"class":567},[561,2097,587],{"class":567},[561,2099,1001],{"class":590},[561,2101,581],{"class":567},[561,2103,596],{"class":567},[561,2105,2106,2108,2110,2112,2114,2116,2118],{"class":563,"line":1034},[561,2107,695],{"class":567},[561,2109,1013],{"class":698},[561,2111,581],{"class":567},[561,2113,584],{"class":567},[561,2115,587],{"class":567},[561,2117,1022],{"class":590},[561,2119,1025],{"class":567},[561,2121,2122],{"class":563,"line":1634},[561,2123,1031],{"class":567},[561,2125,2126],{"class":563,"line":1639},[561,2127,1037],{"class":567},[1657,2129,2131],{"id":2130},"losing-result-request","Losing-result request",[366,2133,2134,1666,2137,1670,2140,2142,2143,2145],{},[1664,2135,2136],{},"Lost",[393,2138,2139],{},"\"result\": \"lost\"",[393,2141,455],{}," body matches the independent losing-ticket scenario in ",[519,2144,49],{"href":521},". The original quote stays intact even though the delivery amount is zero:",[552,2147,2149],{"className":554,"code":2148,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"amount_minor\": 0,\n  \"currency_code\": \"IDR\",\n  \"idempotency_key\": \"mini_app_polyflight_ticket:71c2eb08-6b19-4270-b910-12f48c3d5004:loss\",\n  \"reason\": \"mini_app_polyflight_loss\",\n  \"metadata\": {\n    \"product\": \"polyflight\",\n    \"operation\": \"loss\",\n    \"result\": \"lost\",\n    \"walletTransport\": \"rest_v1\",\n    \"purchaseRequestId\": \"aaf3c617-486d-42e9-8d50-92c6f8135004\",\n    \"ticketId\": \"71c2eb08-6b19-4270-b910-12f48c3d5004\",\n    \"flightId\": \"1df82a79-f8e2-4729-bced-07ca6387524f\",\n    \"flightCode\": \"PF-20260916-1000-A\",\n    \"choiceKind\": \"abcd\",\n    \"choiceIndex\": 1,\n    \"currencyCode\": \"IDR\",\n    \"stakeMinor\": 10000,\n    \"feeMinor\": 500,\n    \"netStakeMinor\": 9500,\n    \"potentialPayoutMinor\": 38000,\n    \"opensAt\": \"2026-09-16T10:00:00.000Z\",\n    \"locksAt\": \"2026-09-16T10:55:00.000Z\",\n    \"landsAt\": \"2026-09-16T11:00:00.000Z\",\n    \"economyVersion\": \"polyflight-economy-v1\"\n  }\n}\n",[393,2150,2151,2155,2173,2188,2206,2225,2243,2255,2273,2292,2311,2329,2348,2367,2385,2403,2421,2436,2454,2468,2482,2496,2510,2528,2546,2564,2580,2584],{"__ignoreMap":557},[561,2152,2153],{"class":563,"line":564},[561,2154,568],{"class":567},[561,2156,2157,2159,2161,2163,2165,2167,2169,2171],{"class":563,"line":571},[561,2158,574],{"class":567},[561,2160,578],{"class":577},[561,2162,581],{"class":567},[561,2164,584],{"class":567},[561,2166,587],{"class":567},[561,2168,591],{"class":590},[561,2170,581],{"class":567},[561,2172,596],{"class":567},[561,2174,2175,2177,2179,2181,2183,2186],{"class":563,"line":599},[561,2176,574],{"class":567},[561,2178,604],{"class":577},[561,2180,581],{"class":567},[561,2182,584],{"class":567},[561,2184,2185],{"class":611}," 0",[561,2187,596],{"class":567},[561,2189,2190,2192,2194,2196,2198,2200,2202,2204],{"class":563,"line":617},[561,2191,574],{"class":567},[561,2193,622],{"class":577},[561,2195,581],{"class":567},[561,2197,584],{"class":567},[561,2199,587],{"class":567},[561,2201,631],{"class":590},[561,2203,581],{"class":567},[561,2205,596],{"class":567},[561,2207,2208,2210,2212,2214,2216,2218,2221,2223],{"class":563,"line":638},[561,2209,574],{"class":567},[561,2211,401],{"class":577},[561,2213,581],{"class":567},[561,2215,584],{"class":567},[561,2217,587],{"class":567},[561,2219,2220],{"class":590},"mini_app_polyflight_ticket:71c2eb08-6b19-4270-b910-12f48c3d5004:loss",[561,2222,581],{"class":567},[561,2224,596],{"class":567},[561,2226,2227,2229,2231,2233,2235,2237,2239,2241],{"class":563,"line":658},[561,2228,574],{"class":567},[561,2230,395],{"class":577},[561,2232,581],{"class":567},[561,2234,584],{"class":567},[561,2236,587],{"class":567},[561,2238,479],{"class":590},[561,2240,581],{"class":567},[561,2242,596],{"class":567},[561,2244,2245,2247,2249,2251,2253],{"class":563,"line":677},[561,2246,574],{"class":567},[561,2248,682],{"class":577},[561,2250,581],{"class":567},[561,2252,584],{"class":567},[561,2254,689],{"class":567},[561,2256,2257,2259,2261,2263,2265,2267,2269,2271],{"class":563,"line":692},[561,2258,695],{"class":567},[561,2260,699],{"class":698},[561,2262,581],{"class":567},[561,2264,584],{"class":567},[561,2266,587],{"class":567},[561,2268,708],{"class":590},[561,2270,581],{"class":567},[561,2272,596],{"class":567},[561,2274,2275,2277,2279,2281,2283,2285,2288,2290],{"class":563,"line":715},[561,2276,695],{"class":567},[561,2278,720],{"class":698},[561,2280,581],{"class":567},[561,2282,584],{"class":567},[561,2284,587],{"class":567},[561,2286,2287],{"class":590},"loss",[561,2289,581],{"class":567},[561,2291,596],{"class":567},[561,2293,2294,2296,2298,2300,2302,2304,2307,2309],{"class":563,"line":736},[561,2295,695],{"class":567},[561,2297,1839],{"class":698},[561,2299,581],{"class":567},[561,2301,584],{"class":567},[561,2303,587],{"class":567},[561,2305,2306],{"class":590},"lost",[561,2308,581],{"class":567},[561,2310,596],{"class":567},[561,2312,2313,2315,2317,2319,2321,2323,2325,2327],{"class":563,"line":757},[561,2314,695],{"class":567},[561,2316,741],{"class":698},[561,2318,581],{"class":567},[561,2320,584],{"class":567},[561,2322,587],{"class":567},[561,2324,750],{"class":590},[561,2326,581],{"class":567},[561,2328,596],{"class":567},[561,2330,2331,2333,2335,2337,2339,2341,2344,2346],{"class":563,"line":778},[561,2332,695],{"class":567},[561,2334,762],{"class":698},[561,2336,581],{"class":567},[561,2338,584],{"class":567},[561,2340,587],{"class":567},[561,2342,2343],{"class":590},"aaf3c617-486d-42e9-8d50-92c6f8135004",[561,2345,581],{"class":567},[561,2347,596],{"class":567},[561,2349,2350,2352,2354,2356,2358,2360,2363,2365],{"class":563,"line":799},[561,2351,695],{"class":567},[561,2353,1106],{"class":698},[561,2355,581],{"class":567},[561,2357,584],{"class":567},[561,2359,587],{"class":567},[561,2361,2362],{"class":590},"71c2eb08-6b19-4270-b910-12f48c3d5004",[561,2364,581],{"class":567},[561,2366,596],{"class":567},[561,2368,2369,2371,2373,2375,2377,2379,2381,2383],{"class":563,"line":820},[561,2370,695],{"class":567},[561,2372,783],{"class":698},[561,2374,581],{"class":567},[561,2376,584],{"class":567},[561,2378,587],{"class":567},[561,2380,792],{"class":590},[561,2382,581],{"class":567},[561,2384,596],{"class":567},[561,2386,2387,2389,2391,2393,2395,2397,2399,2401],{"class":563,"line":841},[561,2388,695],{"class":567},[561,2390,804],{"class":698},[561,2392,581],{"class":567},[561,2394,584],{"class":567},[561,2396,587],{"class":567},[561,2398,813],{"class":590},[561,2400,581],{"class":567},[561,2402,596],{"class":567},[561,2404,2405,2407,2409,2411,2413,2415,2417,2419],{"class":563,"line":858},[561,2406,695],{"class":567},[561,2408,825],{"class":698},[561,2410,581],{"class":567},[561,2412,584],{"class":567},[561,2414,587],{"class":567},[561,2416,834],{"class":590},[561,2418,581],{"class":567},[561,2420,596],{"class":567},[561,2422,2423,2425,2427,2429,2431,2434],{"class":563,"line":878},[561,2424,695],{"class":567},[561,2426,846],{"class":698},[561,2428,581],{"class":567},[561,2430,584],{"class":567},[561,2432,2433],{"class":611}," 1",[561,2435,596],{"class":567},[561,2437,2438,2440,2442,2444,2446,2448,2450,2452],{"class":563,"line":894},[561,2439,695],{"class":567},[561,2441,863],{"class":698},[561,2443,581],{"class":567},[561,2445,584],{"class":567},[561,2447,587],{"class":567},[561,2449,631],{"class":590},[561,2451,581],{"class":567},[561,2453,596],{"class":567},[561,2455,2456,2458,2460,2462,2464,2466],{"class":563,"line":911},[561,2457,695],{"class":567},[561,2459,883],{"class":698},[561,2461,581],{"class":567},[561,2463,584],{"class":567},[561,2465,612],{"class":611},[561,2467,596],{"class":567},[561,2469,2470,2472,2474,2476,2478,2480],{"class":563,"line":928},[561,2471,695],{"class":567},[561,2473,899],{"class":698},[561,2475,581],{"class":567},[561,2477,584],{"class":567},[561,2479,906],{"class":611},[561,2481,596],{"class":567},[561,2483,2484,2486,2488,2490,2492,2494],{"class":563,"line":945},[561,2485,695],{"class":567},[561,2487,916],{"class":698},[561,2489,581],{"class":567},[561,2491,584],{"class":567},[561,2493,923],{"class":611},[561,2495,596],{"class":567},[561,2497,2498,2500,2502,2504,2506,2508],{"class":563,"line":966},[561,2499,695],{"class":567},[561,2501,933],{"class":698},[561,2503,581],{"class":567},[561,2505,584],{"class":567},[561,2507,940],{"class":611},[561,2509,596],{"class":567},[561,2511,2512,2514,2516,2518,2520,2522,2524,2526],{"class":563,"line":987},[561,2513,695],{"class":567},[561,2515,950],{"class":698},[561,2517,581],{"class":567},[561,2519,584],{"class":567},[561,2521,587],{"class":567},[561,2523,959],{"class":590},[561,2525,581],{"class":567},[561,2527,596],{"class":567},[561,2529,2530,2532,2534,2536,2538,2540,2542,2544],{"class":563,"line":1008},[561,2531,695],{"class":567},[561,2533,971],{"class":698},[561,2535,581],{"class":567},[561,2537,584],{"class":567},[561,2539,587],{"class":567},[561,2541,980],{"class":590},[561,2543,581],{"class":567},[561,2545,596],{"class":567},[561,2547,2548,2550,2552,2554,2556,2558,2560,2562],{"class":563,"line":1028},[561,2549,695],{"class":567},[561,2551,992],{"class":698},[561,2553,581],{"class":567},[561,2555,584],{"class":567},[561,2557,587],{"class":567},[561,2559,1001],{"class":590},[561,2561,581],{"class":567},[561,2563,596],{"class":567},[561,2565,2566,2568,2570,2572,2574,2576,2578],{"class":563,"line":1034},[561,2567,695],{"class":567},[561,2569,1013],{"class":698},[561,2571,581],{"class":567},[561,2573,584],{"class":567},[561,2575,587],{"class":567},[561,2577,1022],{"class":590},[561,2579,1025],{"class":567},[561,2581,2582],{"class":563,"line":1634},[561,2583,1031],{"class":567},[561,2585,2586],{"class":563,"line":1639},[561,2587,1037],{"class":567},[1657,2589,2591],{"id":2590},"parsing-the-two-result-requests","Parsing the two result requests",[375,2593,2594,2619],{},[378,2595,2596],{},[381,2597,2598,2601,2605,2610,2615],{},[384,2599,2600],{},"Display outcome",[384,2602,2603],{},[393,2604,395],{},[384,2606,2607],{},[393,2608,2609],{},"metadata.operation",[384,2611,2612],{},[393,2613,2614],{},"metadata.result",[384,2616,2617],{"align":1058},[393,2618,604],{},[403,2620,2621,2644],{},[381,2622,2623,2625,2629,2633,2637],{},[408,2624,1112],{},[408,2626,2627],{},[393,2628,460],{},[408,2630,2631],{},[393,2632,1828],{},[408,2634,2635],{},[393,2636,1848],{},[408,2638,1119,2639,1087,2641,2643],{"align":1058},[393,2640,933],{},[393,2642,1679],{}," in the example",[381,2645,2646,2648,2652,2656,2660],{},[408,2647,2136],{},[408,2649,2650],{},[393,2651,479],{},[408,2653,2654],{},[393,2655,2287],{},[408,2657,2658],{},[393,2659,2306],{},[408,2661,1150,2662],{"align":1058},[393,2663,1153],{},[2665,2666,2667,2684,2694,2703,2709],"ul",{},[2668,2669,2670,2671,2673,2674,2676,2677,2680,2681,550],"li",{},"Both examples use the same endpoint and JSON field names. Use the reason and operation to identify the effect, then map the exact ",[393,2672,1848],{}," \u002F ",[393,2675,2306],{}," result value to your display label; the body does not send ",[393,2678,2679],{},"\"Win\""," or ",[393,2682,2683],{},"\"Lost\"",[2668,2685,2686,2687,2689,2690,2693],{},"Read ",[393,2688,604],{}," as an integer, including zero. A truthiness check such as ",[393,2691,2692],{},"if (!amount_minor)"," would incorrectly reject a valid loss acknowledgement.",[2668,2695,2696,2697,2699,2700,2702],{},"Preserve the quoted ",[393,2698,933],{}," on loss. It is a possible winning amount, not the actual credit amount; apply only top-level ",[393,2701,604],{}," to the wallet.",[2668,2704,2705,2706,2708],{},"Win and loss requests include ",[393,2707,1106],{}," but no original-debit fields. Refunds and compensation retain their separate reasons, operations, and keys.",[2668,2710,2711,2712,2714],{},"These result fields apply to newly planned requests. An older immutable win request may omit ",[393,2713,1839],{},"; keep its original request evidence and use its existing win reason\u002Foperation rather than rejecting or rewriting a replay.",[366,2716,2717,2718,2721,2722,1195,2725,2727,2728,2731,2732,1195,2735,1195,2738,2741],{},"Accept zero ",[1664,2719,2720],{},"only"," for this valid Polyflight loss-credit contract: ",[393,2723,2724],{},"\u002Fcredit",[393,2726,479],{},", the ticket's ",[393,2729,2730],{},":loss"," key, ",[393,2733,2734],{},"product: \"polyflight\"",[393,2736,2737],{},"operation: \"loss\"",[393,2739,2740],{},"result: \"lost\"",", and the immutable ticket context. Purchase, win, refund, compensation, Opinion, and generic wallet-test amounts remain positive. Do not relax validation for arbitrary zero wallet mutations.",[366,2743,2744],{},"Every Polyflight request carries the common native-ticket context below. Treat metadata fields as additive; do not reject an otherwise valid request because a later version adds a field.",[375,2746,2747,2757],{},[378,2748,2749],{},[381,2750,2751,2754],{},[384,2752,2753],{},"Metadata field",[384,2755,2756],{},"Meaning",[403,2758,2759,2770,2790,2806,2821,2830,2839,2850,2861,2871,2886,2899],{},[381,2760,2761,2765],{},[408,2762,2763],{},[393,2764,699],{},[408,2766,2767,2768,550],{},"Always ",[393,2769,708],{},[381,2771,2772,2776],{},[408,2773,2774],{},[393,2775,720],{},[408,2777,2778,1195,2780,1195,2782,1195,2784,2786,2787,550],{},[393,2779,729],{},[393,2781,1344],{},[393,2783,1828],{},[393,2785,2287],{},", or ",[393,2788,2789],{},"refund",[381,2791,2792,2796],{},[408,2793,2794],{},[393,2795,1839],{},[408,2797,2798,2800,2801,2803,2804,550],{},[393,2799,1848],{}," on newly planned win credits; ",[393,2802,2306],{}," on loss credits. Not a replacement for ",[393,2805,720],{},[381,2807,2808,2812],{},[408,2809,2810],{},[393,2811,741],{},[408,2813,2814,2815,2680,2818,2820],{},"Immutable ",[393,2816,2817],{},"simulator",[393,2819,750],{}," transport pinned under the live purchase claim before the debit is sent.",[381,2822,2823,2827],{},[408,2824,2825],{},[393,2826,762],{},[408,2828,2829],{},"Stable purchase intent UUID.",[381,2831,2832,2836],{},[408,2833,2834],{},[393,2835,1106],{},[408,2837,2838],{},"Ticket UUID; present for admitted-ticket effects and absent when compensation occurs before admission.",[381,2840,2841,2847],{},[408,2842,2843,1195,2845],{},[393,2844,783],{},[393,2846,804],{},[408,2848,2849],{},"Flight identifiers.",[381,2851,2852,2858],{},[408,2853,2854,1195,2856],{},[393,2855,825],{},[393,2857,846],{},[408,2859,2860],{},"Selected option group and index.",[381,2862,2863,2867],{},[408,2864,2865],{},[393,2866,863],{},[408,2868,2869,550],{},[393,2870,631],{},[381,2872,2873,2883],{},[408,2874,2875,1195,2877,1195,2879,1195,2881],{},[393,2876,883],{},[393,2878,899],{},[393,2880,916],{},[393,2882,933],{},[408,2884,2885],{},"Immutable ticket quote amounts.",[381,2887,2888,2896],{},[408,2889,2890,1195,2892,1195,2894],{},[393,2891,950],{},[393,2893,971],{},[393,2895,992],{},[408,2897,2898],{},"ISO-8601 flight times.",[381,2900,2901,2905],{},[408,2902,2903],{},[393,2904,1013],{},[408,2906,2907],{},"Economy version committed to the ticket.",[366,2909,2910,2911,1099,2913,2915,2916,2919,2920,2680,2923,2926,2927,550],{},"Refund and compensation metadata both include ",[393,2912,1098],{},[393,2914,1102],{},"; win and loss metadata do not. Polyflight metadata does ",[1664,2917,2918],{},"not"," contain fake ",[393,2921,2922],{},"marketId",[393,2924,2925],{},"orderId"," values, an operator Credits balance, or a purchase ",[393,2928,2929],{},"fxRateSnapshotId",[366,2931,2932,2933,2935],{},"The admitted ticket and every later win, loss, refund, or compensation inherit the purchase's pinned ",[393,2934,741],{},". Lease renewal or recovery cannot overwrite it with a different transport. This prevents an existing real-wallet obligation from being redirected through the simulator, or the reverse.",[370,2937,2939],{"id":2938},"amount-by-effect","Amount by effect",[2665,2941,2942,2947,2952,2958,2964],{},[2668,2943,2944,2945,550],{},"Purchase debit: exact ",[393,2946,883],{},[2668,2948,2949,2950,550],{},"Win credit: exact stored ",[393,2951,933],{},[2668,2953,2954,2955,2957],{},"Loss credit: exactly ",[393,2956,1153],{},"; retain the original stake, fee, net stake, and potential payout in metadata.",[2668,2959,2960,2961,2963],{},"Cancelled-ticket refund credit: exact original ",[393,2962,883],{},", including the ticket fee.",[2668,2965,2966],{},"Unadmitted-purchase debit reversal: exact original purchase debit.",[366,2968,2969],{},"No request recalculates an amount from a current FX rate or current commercial terms.",[370,2971,2973],{"id":2972},"existing-response-contract","Existing response contract",[366,2975,2976,2977,2980,2981,2984,2985,2987],{},"The response is unchanged from the existing debit\u002Fcredit\u002Freversal adapter. For the purchase example, a wallet starting at ",[393,2978,2979],{},"100000"," returns ",[393,2982,2983],{},"balance_minor: 90000"," after the single ",[393,2986,525],{}," debit:",[552,2989,2991],{"className":554,"code":2990,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"status\": \"succeeded\",\n  \"currency_code\": \"IDR\",\n  \"amount_minor\": 10000,\n  \"idempotency_key\": \"mini_app_polyflight_purchase:6f9f6d61-3ac7-47d2-aa42-6ab39e492931:debit\",\n  \"remote_reference\": \"wallet-op-123\",\n  \"balance_minor\": 90000\n}\n",[393,2992,2993,2997,3015,3035,3053,3067,3085,3105,3119],{"__ignoreMap":557},[561,2994,2995],{"class":563,"line":564},[561,2996,568],{"class":567},[561,2998,2999,3001,3003,3005,3007,3009,3011,3013],{"class":563,"line":571},[561,3000,574],{"class":567},[561,3002,578],{"class":577},[561,3004,581],{"class":567},[561,3006,584],{"class":567},[561,3008,587],{"class":567},[561,3010,591],{"class":590},[561,3012,581],{"class":567},[561,3014,596],{"class":567},[561,3016,3017,3019,3022,3024,3026,3028,3031,3033],{"class":563,"line":599},[561,3018,574],{"class":567},[561,3020,3021],{"class":577},"status",[561,3023,581],{"class":567},[561,3025,584],{"class":567},[561,3027,587],{"class":567},[561,3029,3030],{"class":590},"succeeded",[561,3032,581],{"class":567},[561,3034,596],{"class":567},[561,3036,3037,3039,3041,3043,3045,3047,3049,3051],{"class":563,"line":617},[561,3038,574],{"class":567},[561,3040,622],{"class":577},[561,3042,581],{"class":567},[561,3044,584],{"class":567},[561,3046,587],{"class":567},[561,3048,631],{"class":590},[561,3050,581],{"class":567},[561,3052,596],{"class":567},[561,3054,3055,3057,3059,3061,3063,3065],{"class":563,"line":638},[561,3056,574],{"class":567},[561,3058,604],{"class":577},[561,3060,581],{"class":567},[561,3062,584],{"class":567},[561,3064,612],{"class":611},[561,3066,596],{"class":567},[561,3068,3069,3071,3073,3075,3077,3079,3081,3083],{"class":563,"line":658},[561,3070,574],{"class":567},[561,3072,401],{"class":577},[561,3074,581],{"class":567},[561,3076,584],{"class":567},[561,3078,587],{"class":567},[561,3080,651],{"class":590},[561,3082,581],{"class":567},[561,3084,596],{"class":567},[561,3086,3087,3089,3092,3094,3096,3098,3101,3103],{"class":563,"line":677},[561,3088,574],{"class":567},[561,3090,3091],{"class":577},"remote_reference",[561,3093,581],{"class":567},[561,3095,584],{"class":567},[561,3097,587],{"class":567},[561,3099,3100],{"class":590},"wallet-op-123",[561,3102,581],{"class":567},[561,3104,596],{"class":567},[561,3106,3107,3109,3112,3114,3116],{"class":563,"line":692},[561,3108,574],{"class":567},[561,3110,3111],{"class":577},"balance_minor",[561,3113,581],{"class":567},[561,3115,584],{"class":567},[561,3117,3118],{"class":611}," 90000\n",[561,3120,3121],{"class":563,"line":715},[561,3122,1037],{"class":567},[366,3124,3125,3127,3128,1195,3130,2786,3133,3136,3137,1195,3139,3141,3142,3145],{},[393,3126,3021],{}," is required and must be ",[393,3129,3030],{},[393,3131,3132],{},"failed",[393,3134,3135],{},"pending",". ",[393,3138,3091],{},[393,3140,3111],{},", echoed identity\u002Fkey fields, and ",[393,3143,3144],{},"failure_reason"," are optional under the existing adapter contract. OpenPoly preserves the immutable request amount and currency; response echoes do not replace them.",[366,3147,3148,3149,3151,3152,3154,3155,3158,3159,3161,3162,3165],{},"For the winning-payout request above, an independently purchased ",[393,3150,525],{}," ticket leaves a starting wallet of ",[393,3153,2979],{}," at ",[393,3156,3157],{},"90000","; the ",[393,3160,1679],{}," credit raises it to ",[393,3163,3164],{},"128000"," (assuming no other activity):",[552,3167,3169],{"className":554,"code":3168,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"status\": \"succeeded\",\n  \"currency_code\": \"IDR\",\n  \"amount_minor\": 38000,\n  \"idempotency_key\": \"mini_app_polyflight_ticket:4a81cb9d-778b-4e9c-a482-5f880e435f19:win\",\n  \"remote_reference\": \"wallet-win-123\",\n  \"balance_minor\": 128000\n}\n",[393,3170,3171,3175,3193,3211,3229,3243,3261,3280,3293],{"__ignoreMap":557},[561,3172,3173],{"class":563,"line":564},[561,3174,568],{"class":567},[561,3176,3177,3179,3181,3183,3185,3187,3189,3191],{"class":563,"line":571},[561,3178,574],{"class":567},[561,3180,578],{"class":577},[561,3182,581],{"class":567},[561,3184,584],{"class":567},[561,3186,587],{"class":567},[561,3188,591],{"class":590},[561,3190,581],{"class":567},[561,3192,596],{"class":567},[561,3194,3195,3197,3199,3201,3203,3205,3207,3209],{"class":563,"line":599},[561,3196,574],{"class":567},[561,3198,3021],{"class":577},[561,3200,581],{"class":567},[561,3202,584],{"class":567},[561,3204,587],{"class":567},[561,3206,3030],{"class":590},[561,3208,581],{"class":567},[561,3210,596],{"class":567},[561,3212,3213,3215,3217,3219,3221,3223,3225,3227],{"class":563,"line":617},[561,3214,574],{"class":567},[561,3216,622],{"class":577},[561,3218,581],{"class":567},[561,3220,584],{"class":567},[561,3222,587],{"class":567},[561,3224,631],{"class":590},[561,3226,581],{"class":567},[561,3228,596],{"class":567},[561,3230,3231,3233,3235,3237,3239,3241],{"class":563,"line":638},[561,3232,574],{"class":567},[561,3234,604],{"class":577},[561,3236,581],{"class":567},[561,3238,584],{"class":567},[561,3240,940],{"class":611},[561,3242,596],{"class":567},[561,3244,3245,3247,3249,3251,3253,3255,3257,3259],{"class":563,"line":658},[561,3246,574],{"class":567},[561,3248,401],{"class":577},[561,3250,581],{"class":567},[561,3252,584],{"class":567},[561,3254,587],{"class":567},[561,3256,1761],{"class":590},[561,3258,581],{"class":567},[561,3260,596],{"class":567},[561,3262,3263,3265,3267,3269,3271,3273,3276,3278],{"class":563,"line":677},[561,3264,574],{"class":567},[561,3266,3091],{"class":577},[561,3268,581],{"class":567},[561,3270,584],{"class":567},[561,3272,587],{"class":567},[561,3274,3275],{"class":590},"wallet-win-123",[561,3277,581],{"class":567},[561,3279,596],{"class":567},[561,3281,3282,3284,3286,3288,3290],{"class":563,"line":692},[561,3283,574],{"class":567},[561,3285,3111],{"class":577},[561,3287,581],{"class":567},[561,3289,584],{"class":567},[561,3291,3292],{"class":611}," 128000\n",[561,3294,3295],{"class":563,"line":715},[561,3296,1037],{"class":567},[366,3298,3299,3300,3165],{},"For the losing-result request above, the wallet durably records acknowledgement under the loss key and leaves the post-debit balance at ",[393,3301,3157],{},[552,3303,3305],{"className":554,"code":3304,"language":556,"meta":557,"style":557},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"status\": \"succeeded\",\n  \"currency_code\": \"IDR\",\n  \"amount_minor\": 0,\n  \"idempotency_key\": \"mini_app_polyflight_ticket:71c2eb08-6b19-4270-b910-12f48c3d5004:loss\",\n  \"remote_reference\": \"wallet-loss-5004\",\n  \"balance_minor\": 90000\n}\n",[393,3306,3307,3311,3329,3347,3365,3379,3397,3416,3428],{"__ignoreMap":557},[561,3308,3309],{"class":563,"line":564},[561,3310,568],{"class":567},[561,3312,3313,3315,3317,3319,3321,3323,3325,3327],{"class":563,"line":571},[561,3314,574],{"class":567},[561,3316,578],{"class":577},[561,3318,581],{"class":567},[561,3320,584],{"class":567},[561,3322,587],{"class":567},[561,3324,591],{"class":590},[561,3326,581],{"class":567},[561,3328,596],{"class":567},[561,3330,3331,3333,3335,3337,3339,3341,3343,3345],{"class":563,"line":599},[561,3332,574],{"class":567},[561,3334,3021],{"class":577},[561,3336,581],{"class":567},[561,3338,584],{"class":567},[561,3340,587],{"class":567},[561,3342,3030],{"class":590},[561,3344,581],{"class":567},[561,3346,596],{"class":567},[561,3348,3349,3351,3353,3355,3357,3359,3361,3363],{"class":563,"line":617},[561,3350,574],{"class":567},[561,3352,622],{"class":577},[561,3354,581],{"class":567},[561,3356,584],{"class":567},[561,3358,587],{"class":567},[561,3360,631],{"class":590},[561,3362,581],{"class":567},[561,3364,596],{"class":567},[561,3366,3367,3369,3371,3373,3375,3377],{"class":563,"line":638},[561,3368,574],{"class":567},[561,3370,604],{"class":577},[561,3372,581],{"class":567},[561,3374,584],{"class":567},[561,3376,2185],{"class":611},[561,3378,596],{"class":567},[561,3380,3381,3383,3385,3387,3389,3391,3393,3395],{"class":563,"line":658},[561,3382,574],{"class":567},[561,3384,401],{"class":577},[561,3386,581],{"class":567},[561,3388,584],{"class":567},[561,3390,587],{"class":567},[561,3392,2220],{"class":590},[561,3394,581],{"class":567},[561,3396,596],{"class":567},[561,3398,3399,3401,3403,3405,3407,3409,3412,3414],{"class":563,"line":677},[561,3400,574],{"class":567},[561,3402,3091],{"class":577},[561,3404,581],{"class":567},[561,3406,584],{"class":567},[561,3408,587],{"class":567},[561,3410,3411],{"class":590},"wallet-loss-5004",[561,3413,581],{"class":567},[561,3415,596],{"class":567},[561,3417,3418,3420,3422,3424,3426],{"class":563,"line":692},[561,3419,574],{"class":567},[561,3421,3111],{"class":577},[561,3423,581],{"class":567},[561,3425,584],{"class":567},[561,3427,3118],{"class":611},[561,3429,3430],{"class":563,"line":715},[561,3431,1037],{"class":567},[366,3433,3434,3436,3437,3439],{},[393,3435,3091],{}," remains optional, including for a zero-amount acknowledgement. If returned, ",[393,3438,3111],{}," is the current unchanged balance, not a fabricated payout balance. A successful acknowledgement means the wallet recorded the result, not that any money was paid.",[366,3441,3442,3443,2680,3445,3447],{},"If ",[393,3444,578],{},[393,3446,401],{}," is echoed, it must match the request. A mismatch is treated as an unknown wallet outcome and requires reconciliation.",[366,3449,3450,3453,3454,3456],{},[393,3451,3452],{},"X-Polynion-Request-Id"," identifies one HTTP attempt for tracing. It is ",[1664,3455,2918],{}," the financial idempotency key.",[370,3458,3460],{"id":3459},"idempotency-and-ambiguous-outcomes","Idempotency and ambiguous outcomes",[366,3462,3463],{},"The operator wallet must enforce all of these rules:",[2665,3465,3466,3469,3472,3479,3496,3510,3515,3518,3521],{},[2668,3467,3468],{},"The same idempotency key and same parameters return the same effective result without applying money twice or recording a zero-amount loss twice.",[2668,3470,3471],{},"Reusing a key with different user, amount, currency, reason, or material metadata is a conflict.",[2668,3473,3474,3475,3478],{},"Timeout, network failure, or an HTTP ",[393,3476,3477],{},"2xx"," response that cannot be parsed as the REST v1 contract is ambiguous.",[2668,3480,3481,3482,1195,3485,1198,3488,3491,3492,3495],{},"Without a valid response body, HTTP ",[393,3483,3484],{},"408",[393,3486,3487],{},"429",[393,3489,3490],{},"5xx"," are ambiguous; other HTTP ",[393,3493,3494],{},"4xx"," are failed mutations.",[2668,3497,3498,3499,1195,3502,2786,3504,3506,3507,3509],{},"A response body with valid ",[393,3500,3501],{},"status = succeeded",[393,3503,3132],{},[393,3505,3135],{}," is honored even when the HTTP status is non-",[393,3508,3477],{},". Return a status\u002Fbody combination that expresses one outcome unambiguously.",[2668,3511,3512,3514],{},[393,3513,3135],{}," is an ambiguous business outcome. OpenPoly does not blindly resend an ambiguous primary debit or credit.",[2668,3516,3517],{},"An ambiguous purchase is not admitted as a ticket until authenticated operator-ledger evidence proves the debit applied.",[2668,3519,3520],{},"A known applied debit that can no longer be admitted is returned through the dedicated debit-reversal key.",[2668,3522,3523],{},"A known non-applied debit can be closed without inventing a compensating money movement.",[366,3525,3526,3527,3136,3529,3531],{},"Operators must retain ledger evidence keyed by ",[393,3528,401],{},[393,3530,3091],{}," is useful when returned but remains optional. Manual resolution requires authenticated operator-ledger evidence even when no remote reference was returned.",[370,3533,3535],{"id":3534},"durable-lifecycle-values","Durable lifecycle values",[366,3537,3538],{},"The purchase wallet lifecycle is separate from purchase\u002Fadmission status:",[366,3540,3541,3542,1195,3545,1195,3548,1195,3550,1195,3552,1195,3555,1198,3558,3561,3562,1099,3565,3568],{},"The durable balance-operation states are ",[393,3543,3544],{},"planned",[393,3546,3547],{},"sent",[393,3549,3030],{},[393,3551,3132],{},[393,3553,3554],{},"unknown",[393,3556,3557],{},"retrying",[393,3559,3560],{},"manual_review",". For Polyflight, an ambiguous primary debit or payment is surfaced for manual review rather than automatically replayed. Purchase state separately records ",[393,3563,3564],{},"compensation_pending",[393,3566,3567],{},"compensated"," when an applied debit cannot produce a ticket.",[366,3570,3571,3572,1195,3575,1195,3578,2786,3581,3583,3584,3586,3587,3589,3590,3592,3593,3595],{},"Winning, loss-delivery, refund, and compensation obligations use ",[393,3573,3574],{},"owed",[393,3576,3577],{},"in_flight",[393,3579,3580],{},"paid",[393,3582,3560],{},". For a loss, these values track delivery only: ",[393,3585,3574],{}," means acknowledgement is outstanding and ",[393,3588,3580],{}," means acknowledgement is confirmed, not money owed or paid. An explicit wallet ",[393,3591,3132],{}," result leaves the existing obligation in ",[393,3594,3560],{},"; it does not erase an owed payout or an outstanding loss delivery. Do not infer ticket outcome from payment state.",[366,3597,3598,3599,3602,3603,2680,3606,3609],{},"Loss delivery creates no monetary accounting entry, clearing outflow, or liability, and an unresolved loss acknowledgement does not block flight financial settlement. The existing eight-event webhook catalogue is unchanged: ",[393,3600,3601],{},"ticket.resolved"," remains authoritative; no loss ",[393,3604,3605],{},"payout.pending",[393,3607,3608],{},"payout.processed"," callback is emitted.",[366,3611,3612,3613,3615],{},"This applies to newly settled losses only. Historical losses are not replayed or backfilled. Already-planned or dispatched requests retain their original amount, key, metadata, pinned transport, and request evidence; do not rewrite older win requests to add ",[393,3614,1839],{}," or replay them under a changed fingerprint.",[366,3617,3618,3619,3621],{},"Use ",[519,3620,57],{"href":58}," to resolve these states from operator-ledger evidence. Never manufacture a new wallet key to clear a pending or manual-review row.",[370,3623,3625],{"id":3624},"purchase-result-and-cancellation-boundaries","Purchase, result, and cancellation boundaries",[366,3627,3628,3629,3631,3632,550],{},"A successful remote debit and an admitted ticket are two separate durable steps. If debit succeeds after the flight gate closes, OpenPoly schedules exact compensation rather than forcing a late ticket. If the ticket was admitted and the flight is later cancelled, OpenPoly uses ",[393,3630,2724],{}," with the refund key instead of ",[393,3633,3634],{},"\u002Fdebit-reversal",[366,3636,3637,3638,3640],{},"A resolved winning ticket can show payout pending or manual review while the public result remains final. A lost ticket likewise stays ",[393,3639,2306],{}," irrespective of zero-amount delivery status; delayed acknowledgement never creates a payout. External wallet delay does not change the winner. A cancelled ticket can show refund owed before the wallet credit completes. Operator or user suspension blocks new admission but does not block existing owed money or loss delivery.",[3642,3643,3644],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":557,"searchDepth":571,"depth":571,"links":3646},[3647,3648,3649,3654,3655,3656,3657,3658],{"id":372,"depth":571,"text":373},{"id":513,"depth":571,"text":514},{"id":1040,"depth":571,"text":1041,"children":3650},[3651,3652,3653],{"id":1659,"depth":599,"text":1660},{"id":2130,"depth":599,"text":2131},{"id":2590,"depth":599,"text":2591},{"id":2938,"depth":571,"text":2939},{"id":2972,"depth":571,"text":2973},{"id":3459,"depth":571,"text":3460},{"id":3534,"depth":571,"text":3535},{"id":3624,"depth":571,"text":3625},"Polyflight debit, payout, zero-amount loss delivery, refund, and compensation requests on the existing REST v1 adapter.","md",null,{},true,{"title":45,"description":3659},"jA-t9Sa2m3s2bVjNMMNL_t_s5XGddWPlkepP6e3_IBc",[3667,3669],{"title":41,"path":42,"stem":43,"description":3668,"children":-1},"Enable and launch the native-IDR Polyflight product without changing the existing Opinion default.",{"title":49,"path":50,"stem":51,"description":3670,"children":-1},"Polyflight operator resources, webhook catalogue, and public v5 mixed-money verification.",1791200238061]