knownReaderProfiles top-level constant

List<ReaderProfile> const knownReaderProfiles

Static registry of reader profiles the contract recognizes today.

This list is descriptive, not prescriptive: the SDK does not say "only these readers are supported." Unknown readers are surfaced with vendor: ReaderVendor.unknown and POS code can decide whether to attempt a generic flow.

Capability flags below are conservative starting values. The follow-up vendor-SDK integration PRs are responsible for confirming each capability against the vendor's specification and adjusting these defaults. This branch is contract / capability modeling only - no vendor SDK is linked, so the flags here are a contract intent not a runtime guarantee.

Implementation

const List<ReaderProfile> knownReaderProfiles = [
  ReaderProfile(
    vendor: ReaderVendor.magtek,
    modelName: 'MagTek DynaFlex II Go',
    modelCode: 'dynaflex_ii_go',
    driverId: 'magtek.dynaflex_ii_go.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      battery: true,
      firmware: true,
      serialNumber: true,
      displayMessages: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.magtek,
    modelName: 'MagTek iDynamo 6',
    modelCode: 'idynamo_6',
    driverId: 'magtek.idynamo_6.lightning',
    supportedTransports: [ReaderTransport.lightning, ReaderTransport.usb],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      firmware: true,
      serialNumber: true,
      displayMessages: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.idTech,
    modelName: 'ID TECH VP3300',
    modelCode: 'vp3300',
    driverId: 'idtech.vp3300.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe, ReaderTransport.usb],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      battery: true,
      firmware: true,
      serialNumber: true,
      fallback: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.idTech,
    modelName: 'ID TECH VP3350',
    modelCode: 'vp3350',
    driverId: 'idtech.vp3350.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      battery: true,
      firmware: true,
      serialNumber: true,
      displayMessages: true,
      fallback: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.ingenico,
    modelName: 'Ingenico Link/2500',
    modelCode: 'link_2500',
    driverId: 'ingenico.link_2500.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      pin: true,
      signature: true,
      battery: true,
      firmware: true,
      serialNumber: true,
      displayMessages: true,
      refunds: true,
      voids: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.ingenico,
    modelName: 'Ingenico Moby/5500',
    modelCode: 'moby_5500',
    driverId: 'ingenico.moby_5500.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      pin: true,
      battery: true,
      firmware: true,
      serialNumber: true,
      displayMessages: true,
      refunds: true,
      voids: true,
    ),
  ),
  ReaderProfile(
    vendor: ReaderVendor.bbpos,
    modelName: 'BBPOS Chipper 3X BT',
    modelCode: 'chipper_3x_bt',
    driverId: 'bbpos.chipper_3x_bt.bluetooth_le',
    supportedTransports: [ReaderTransport.bluetoothLe],
    supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
    capabilities: ReaderCapability(
      swipe: true,
      chip: true,
      tap: true,
      contactless: true,
      battery: true,
      firmware: true,
      serialNumber: true,
    ),
  ),
];