# Sub Dictionary: `tbl_{X}Actions`

> Pattern template - applies to **15 tables** (programs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17)
> Representative table: `tbl_1Actions` (program 1)

## Table Info

| Property | Value |
|----------|-------|
| Pattern | `tbl_{X}Actions` |
| Database | quitsure |
| Connection | `mysql` |
| Engine | InnoDB |
| Laravel Model | `Action` (app/Models/Action.php) |
| Table Resolution | `Action::forProgram($programId)` |

### Actual Tables

| Program | Table Name |
|---------|------------|
| 1 | `tbl_1Actions` |
| 2 | `tbl_2Actions` |
| 3 | `tbl_3Actions` |
| 4 | `tbl_4Actions` |
| 5 | `tbl_5Actions` |
| 6 | `tbl_6Actions` |
| 7 | `tbl_7Actions` |
| 8 | `tbl_8Actions` |
| 9 | `tbl_9Actions` |
| 10 | `tbl_10Actions` |
| 11 | `tbl_11Actions` |
| 12 | `tbl_12Actions` |
| 13 | `tbl_13Actions` |
| 14 | `tbl_14Actions` |
| 17 | `tbl_17Actions` |

## Columns

| # | Column | Type | Nullable | Default | Key | Extra | Description |
|---|--------|------|----------|---------|-----|-------|-------------|
| 1 | `iActionID` | `int unsigned` | NO | - | PRI | auto_increment | Integer: Action ID (likely FK) |
| 2 | `iDayID` | `int unsigned` | NO | - | - | - | Integer: Day ID (likely FK) |
| 3 | `iNum` | `int unsigned` | NO | `1` | - | - | Integer: Num |
| 4 | `vTitle` | `varchar(255)` | NO | - | - | - | Varchar: Title |
| 5 | `tDescription` | `text` | YES | NULL | - | - | Text: Description |
| 6 | `setActionCards` | `json` | YES | NULL | - | - | Set/Comma-separated: Action Cards |
| 7 | `tGoal` | `text` | YES | NULL | - | - | Text: Goal |
| 8 | `bActive` | `tinyint(1)` | NO | `1` | - | - | Boolean/Flag: Active |
| 9 | `bDeleted` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Deleted |
| 10 | `dDateCreated` | `datetime` | NO | `CURRENT_TIMESTAMP` | - | DEFAULT_GENERATED | Datetime: Date Created |
| 11 | `dDateUpdated` | `datetime` | NO | - | - | - | Datetime: Date Updated |
| 12 | `bFree` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Free |
| 13 | `iABTest` | `int` | NO | `0` | - | - | Integer: AB Test |
| 14 | `bOptional` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Optional |
| 15 | `bTool` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Tool |
| 16 | `bOnlyTool` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Only Tool |
| 17 | `bStoreRating` | `tinyint(1)` | NO | `0` | - | - | Boolean/Flag: Store Rating |
| 18 | `vBackgroundImg` | `varchar(255)` | YES | NULL | - | - | Varchar: Background Img |
| 19 | `iImgWidth` | `smallint unsigned` | YES | NULL | - | - | Integer: Img Width |
| 20 | `iImgHeight` | `smallint unsigned` | YES | NULL | - | - | Integer: Img Height |

## Indexes

| Name | Columns | Unique | Type |
|------|---------|--------|------|
| `PRIMARY` | `iActionID` | YES | BTREE |

## Foreign Keys

### Formal Foreign Keys

None defined.

### Implicit Relationships (from column naming)

| Column | Likely References |
|--------|------------------|
| `iDayID` | `tbl_{X}Days.iDayID (program-specific)` |

## Laravel Eloquent Relationships

| Method | Type | Related Model | Foreign Key |
|--------|------|--------------|-------------|
| `day()` | belongsTo | `Day` | `iDayID` |
