{"slate_id":"nhl-showdown-draftkings-2026-10-29","sport":"nhl","site":"draftkings","slate_date":"2026-10-29","slate_type":"showdown","slate_subtype":null,"tour":null,"competition":null,"league_label":null,"is_draft":false,"config":{"$comment":"DK NHL Showdown Captain Mode — 6 players, $50,000 cap: 1 CPT (1.5x points AND 1.5x salary charged against the cap) + 5 UTIL. Authored 2026-07-30 alongside nhl/draftkings/main.json (SPORT_COVERAGE_REMEDIATION_PLAN.md §A1). Follows the same captain-slot pattern as nba/draftkings/showdown.json and nfl/draftkings/showdown.json. Unlike the Classic UTIL slot, showdown UTIL DOES accept goalies — a single-game DK NHL showdown pool includes both starting goalies and they are rosterable in any slot including captain. Position vocabulary matches main.json (C/W/LW/RW/F/D/G) for the same export-inconsistency reason documented there. min_teams=2 encodes DK's requirement that a showdown roster include players from both teams in the game; min_games=1 because a showdown slate IS one game. max_per_team=5 follows from that: 6 slots minus at least 1 from the other team. OPERATOR VERIFICATION REQUIRED: confirm the captain multiplier, the $50k cap and the both-teams rule against the live DK NHL Showdown rulebook page and one real single-game DKSalaries NHL export. || SCORING COMPLETED 2026-07-30 against DraftKings' published NHL scoring: the roster shape verified correct (2 C, 3 W, 2 D, UTIL, G at $50,000 with a 3-team minimum), but four bonus categories were missing entirely — 5+ Shots +3, 3+ Blocked Shots +3, 3+ Points +3 and goalie 35+ Saves +3. Added. Note these tables are currently METADATA ONLY: `config.scoring` has no consumer in either sim engine (players arrive with projections already computed), so the omission had no runtime effect today — but it would the moment a scoring-driven feature such as backtesting or actuals reconciliation reads them. || CAPTAIN-MODE TOKENS ADDED 2026-07-30. DraftKings captain-mode exports carry Roster Position = CPT / FLEX (tennis also A-CPT), and the importer reads Roster Position FIRST for DraftKings. Each player appears once per slot label and finalize_import unions positions on dedupe, so a player reaches the optimizer as e.g. ['CPT','F'] rather than just ['F']. Accepting CPT/FLEX/A-CPT alongside the sport tokens is both necessary (a partial export, or one whose labels are purely CPT/FLEX, otherwise matches nothing) and semantically right for captain mode, where any player may occupy any slot and the captain premium lives in the slot's multipliers rather than in eligibility.","site":"draftkings","sport":"nhl","slate_type":"showdown","salary_cap":50000,"roster_slots":[{"name":"CPT","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"],"salary_multiplier":1.5,"score_multiplier":1.5},{"name":"UTIL1","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"]},{"name":"UTIL2","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"]},{"name":"UTIL3","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"]},{"name":"UTIL4","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"]},{"name":"UTIL5","eligible":["C","W","LW","RW","F","D","G","CPT","FLEX","A-CPT"]}],"max_per_team":5,"min_teams":2,"min_games":1,"scoring":{"goal":8.5,"assist":5.0,"shot_on_goal":1.5,"blocked_shot":1.3,"short_handed_pt":2.0,"shootout_goal":1.5,"hat_trick":3.0,"goalie_win":6.0,"goalie_save":0.7,"goalie_goal_allowed":-3.5,"goalie_shutout":4.0,"goalie_ot_loss":2.0,"shots_5plus_bonus":3.0,"blocks_3plus_bonus":3.0,"points_3plus_bonus":3.0,"goalie_saves_35plus_bonus":3.0},"export_format":{"header":["CPT","UTIL","UTIL","UTIL","UTIL","UTIL"],"id_format":"{name} ({site_player_id})"}},"locked_at":null,"first_game_start":"2026-10-30T02:00:00Z","last_game_start":"2026-10-30T02:00:00Z","late_swap_enabled":true,"display_name":null,"is_free":false,"group_key":"e9fae66c20e0f3e3","group_slate_type":"showdown","projection_window":null}