56 KiB
56 KiB
| 1 | Event Category | Event Name | Event Description | Component Location | Parameter Name | Parameter Type | Parameter Description | Allowed Values | Example Value | Required/Optional | Business Purpose | Validation Rules |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | job_type | String | Type of agricultural job being performed | spraying, seeding, fertilizing, harvesting, soil_testing | spraying | Required | Categorize jobs for operational insights | Must be from predefined list |
| 3 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | field_size_acres | Number | Size of the field in acres | Positive numbers up to 10000 | 150.5 | Required | Track job scale and pricing | Must be > 0 and <= 10000 |
| 4 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | crop_type | String | Type of crop being worked on | corn, soybeans, wheat, cotton, alfalfa, other | corn | Required | Analyze crop-specific patterns | Required for all job events |
| 5 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | client_id | String | Unique identifier for the client | Alphanumeric string | CLIENT_12345 | Required | Track client relationships and revenue | Must be valid client ID |
| 6 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | priority | String | Job priority level | low, medium, high, urgent | high | Required | Optimize job scheduling | Must be from predefined list |
| 7 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | equipment_type | String | Type of equipment used | drone, ground_rig, aerial, manual, tractor | drone | Optional | Track equipment utilization | Must be from equipment catalog |
| 8 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | weather_dependency | Boolean | Whether job depends on weather conditions | true or false | true | Optional | Plan weather-sensitive operations | Boolean validation |
| 9 | Job Management | job_created | User creates a new agricultural job | job.effects.ts | estimated_duration_hours | Number | Expected job duration in hours | Positive numbers | 4.5 | Optional | Resource planning and scheduling | Must be > 0 and <= 24 |
| 10 | Job Management | job_updated | User modifies an existing job | job.effects.ts | job_id | String | Unique job identifier | Alphanumeric string | JOB_001 | Required | Track individual job lifecycle | Must be valid job ID |
| 11 | Job Management | job_updated | User modifies an existing job | job.effects.ts | fields_modified | Array | List of fields changed in update | Array of strings | ["priority", "crop_type"] | Required | Monitor update patterns | Must be valid field names |
| 12 | Job Management | job_updated | User modifies an existing job | job.effects.ts | change_magnitude | String | Magnitude of the changes made | minor, major | minor | Optional | Track update impact | Must be from predefined levels |
| 13 | Job Management | job_updated | User modifies an existing job | job.effects.ts | edit_session_duration | Number | Time spent editing in minutes | Positive numbers | 15.5 | Optional | Monitor user efficiency | Must be > 0 |
| 14 | Job Management | job_updated | User modifies an existing job | job.effects.ts | save_method | String | How the update was saved | manual, auto_save | manual | Optional | Track save behavior | Must be from valid save methods |
| 15 | Job Management | job_deleted | User removes a job from system | job.effects.ts | job_id | String | Unique job identifier | Alphanumeric string | JOB_001 | Required | Track individual job lifecycle | Must be valid job ID |
| 16 | Job Management | job_deleted | User removes a job from system | job.effects.ts | job_type | String | Type of agricultural job being performed | spraying, seeding, fertilizing, harvesting, soil_testing | spraying | Required | Categorize jobs for operational insights | Must be from predefined list |
| 17 | Job Management | job_deleted | User removes a job from system | job.effects.ts | job_status | String | Current status of the job | new, ready, downloaded, sprayed, invoiced | new | Required | Track job lifecycle states | Must be from valid status list |
| 18 | Job Management | job_deleted | User removes a job from system | job.effects.ts | deletion_reason | String | Reason for job deletion | cancelled, duplicate, error, user_action | user_action | Optional | Track deletion patterns and causes | Must be from predefined reasons |
| 19 | Job Management | job_deleted | User removes a job from system | job.effects.ts | time_since_creation | Number | Time between creation and deletion in hours | Non-negative numbers | 48.5 | Optional | Monitor job lifecycle timing | Must be >= 0 |
| 20 | Job Management | job_deleted | User removes a job from system | job.effects.ts | deletion_method | String | How job deletion was triggered | button_click, bulk_action, api_call | button_click | Optional | Optimize deletion workflows | Must be from valid methods |
| 21 | Job Management | job_assigned | Job assigned to pilot or operator | job.effects.ts | job_id | String | Unique job identifier | Alphanumeric string | JOB_001 | Required | Track individual job lifecycle | Must be valid job ID |
| 22 | Job Management | job_assigned | Job assigned to pilot or operator | job.effects.ts | assignee_id | String | ID of person assigned to job | Alphanumeric string | USER_456 | Required | Track assignment patterns | Must be valid user ID |
| 23 | Job Management | job_assigned | Job assigned to pilot or operator | job.effects.ts | assignee_role | String | Role of assigned person | pilot, operator, supervisor, manager | pilot | Required | Optimize role assignments | Must be from predefined roles |
| 24 | Job Management | job_assigned | Job assigned to pilot or operator | job.effects.ts | assignment_method | String | How assignment was made | manual, auto, bulk | manual | Required | Track assignment efficiency | Must be from predefined methods |
| 25 | Job Management | job_assigned | Job assigned to pilot or operator | job.effects.ts | assignment_lead_time_hours | Number | Hours between assignment and scheduled start | Non-negative numbers | 24.0 | Optional | Track planning efficiency | Must be >= 0 |
| 26 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | job_id | String | Unique job identifier | Alphanumeric string | JOB_001 | Required | Track individual job lifecycle | Must be valid job ID |
| 27 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | old_status | String | Previous status before change | new, ready, downloaded, sprayed, invoiced | new | Required | Track status transition patterns | Must be from valid status list |
| 28 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | new_status | String | New status after change | new, ready, downloaded, sprayed, invoiced | sprayed | Required | Track status transition patterns | Must be from valid status list |
| 29 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | status_change_reason | String | Reason for status change | user_action, system_update, api_call, automation | user_action | Required | Understand status change drivers | Must be from valid reason types |
| 30 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | completion_time | Number | Time to complete job in hours | Positive numbers | 4.2 | Optional | Track job completion efficiency | Must be > 0 when status changed to completed |
| 31 | Job Management | job_status_changed | Job status transitions | job-edit.component.ts | efficiency_score | Number | Calculated efficiency percentage | Number 0-100 | 85.5 | Optional | Monitor operational efficiency | Must be between 0 and 100 |
| 32 | Job List Operations | job_list_viewed | User accesses the jobs list interface | job-list.component.ts | view_type | String | Type of list view used | table, grid, map, calendar | table | Required | Optimize UI preferences | Must be from available views |
| 33 | Job List Operations | job_list_viewed | User accesses the jobs list interface | job-list.component.ts | total_jobs | Number | Total jobs available in system | Non-negative integer | 45 | Required | Monitor system usage | Must be >= 0 |
| 34 | Job List Operations | job_list_viewed | User accesses the jobs list interface | job-list.component.ts | displayed_jobs | Number | Number of jobs shown to user | Non-negative integer | 20 | Required | Track filtering effectiveness | Must be >= 0 and <= total_jobs |
| 35 | Job List Operations | job_list_viewed | User accesses the jobs list interface | job-list.component.ts | client_filter_applied | Boolean | Whether client filter is active | true or false | true | Optional | Track client-specific viewing patterns | Boolean validation |
| 36 | Job List Operations | job_list_viewed | User accesses the jobs list interface | job-list.component.ts | reload_interval | Number | Auto-reload interval in minutes | Non-negative integer | 5 | Optional | Track user preference for data freshness | Must be >= 0 |
| 37 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | filter_type | String | Type of filter applied | status, date_range, client, crop_type, priority | status | Required | Improve filter functionality | Must be valid filter type |
| 38 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | results_before | Number | Results count before filter | Non-negative integer | 45 | Required | Measure filter effectiveness | Must be >= 0 |
| 39 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | results_after | Number | Results count after filter | Non-negative integer | 12 | Required | Measure filter effectiveness | Must be >= 0 and <= results_before |
| 40 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | filter_value | String | Value of the applied filter | String | new | Optional | Track specific filter usage | Must be valid for filter type |
| 41 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | date_filter_type | String | Type of date filter applied | today, week, month, quarter, custom | month | Optional | Track temporal filtering patterns | Must be from valid date types |
| 42 | Job List Operations | job_list_filtered | User applies filters to narrow job results | job-list.component.ts | custom_date_range | Array | Custom date range selected | Array of dates | ["2024-01-01", "2024-01-31"] | Optional | Track custom date usage | Must be valid date range |
| 43 | Job List Operations | job_selected | User clicks/selects a specific job | job-list.component.ts | job_id | String | Unique job identifier | Alphanumeric string | JOB_001 | Required | Track individual job lifecycle | Must be valid job ID |
| 44 | Job List Operations | job_selected | User clicks/selects a specific job | job-list.component.ts | selection_method | String | Method used to select job | row_click, search_result, link_navigation | row_click | Required | Optimize selection UX | Must be from valid selection methods |
| 45 | Job List Operations | job_selected | User clicks/selects a specific job | job-list.component.ts | position_in_list | Number | Position of job in list when selected | Positive integer | 3 | Optional | Track selection patterns | Must be > 0 |
| 46 | Job List Operations | job_selected | User clicks/selects a specific job | job-list.component.ts | job_type | String | Type of agricultural job being performed | spraying, seeding, fertilizing, harvesting, soil_testing | spraying | Optional | Categorize jobs for operational insights | Must be from predefined list |
| 47 | Job List Operations | job_selected | User clicks/selects a specific job | job-list.component.ts | job_status | String | Current status of the job | new, ready, downloaded, sprayed, invoiced | new | Optional | Track job lifecycle states | Must be from valid status list |
| 48 | Job List Operations | job_bulk_action | User performs action on multiple jobs | job-list.component.ts | action_type | String | Type of bulk action performed | duplicate, delete, assign, status_change, export | duplicate | Required | Track bulk operation patterns | Must be from valid action types |
| 49 | Job List Operations | job_bulk_action | User performs action on multiple jobs | job-list.component.ts | job_count | Number | Number of jobs affected by bulk action | Positive integer | 1 | Required | Monitor bulk operation scale | Must be > 0 |
| 50 | Job List Operations | job_bulk_action | User performs action on multiple jobs | job-list.component.ts | job_ids | Array | List of job IDs affected by action | Array of strings | ["JOB_001"] | Required | Track specific jobs in bulk operations | Must be valid job IDs |
| 51 | Job List Operations | job_bulk_action | User performs action on multiple jobs | job-list.component.ts | execution_time | Number | Time taken to complete bulk action in seconds | Positive numbers | 2.5 | Optional | Monitor bulk operation performance | Must be > 0 |
| 52 | Job List Operations | job_bulk_action | User performs action on multiple jobs | job-list.component.ts | success_rate | Number | Percentage of successful operations in bulk action | Number 0-100 | 100 | Optional | Track bulk operation reliability | Must be between 0 and 100 |
| 53 | File Upload Operations | file_upload_started | User initiates file upload process | upload.component.ts, job-edit.component.ts | file_type | String | Type of file being uploaded | field_boundary, prescription_map, application_report, soil_map, shape, geojson, kml, other | field_boundary | Required | Track file usage patterns | Must be from supported file types |
| 54 | File Upload Operations | file_upload_started | User initiates file upload process | upload.component.ts, job-edit.component.ts | file_size_mb | Number | File size in megabytes | Positive numbers | 2.3 | Required | Monitor upload performance | Must be > 0 and <= 100 |
| 55 | File Upload Operations | file_upload_started | User initiates file upload process | upload.component.ts, job-edit.component.ts | related_job_id | String | Job ID associated with file upload | Alphanumeric string | JOB_001 | Optional | Track file-job relationships | Must be valid job ID when provided |
| 56 | File Upload Operations | file_upload_started | User initiates file upload process | upload.component.ts, job-edit.component.ts | upload_source | String | Source of file upload | drag_drop, file_picker, api | drag_drop | Optional | Track upload method preferences | Must be from valid upload sources |
| 57 | File Upload Operations | file_upload_completed | File upload finishes successfully | upload.component.ts, job-edit.component.ts, areas.component.ts | file_type | String | Type of file being uploaded | field_boundary, prescription_map, application_report, soil_map, shape, geojson, kml, other | field_boundary | Required | Track file usage patterns | Must be from supported file types |
| 58 | File Upload Operations | file_upload_completed | File upload finishes successfully | upload.component.ts, job-edit.component.ts, areas.component.ts | processing_time_seconds | Number | Time to process file in seconds | Positive numbers | 15.2 | Required | Optimize processing performance | Must be > 0 |
| 59 | File Upload Operations | file_upload_completed | File upload finishes successfully | upload.component.ts, job-edit.component.ts, areas.component.ts | validation_status | String | File validation result | passed, failed, warning | passed | Required | Monitor file quality | Must be from validation states |
| 60 | File Upload Operations | file_upload_completed | File upload finishes successfully | upload.component.ts, job-edit.component.ts, areas.component.ts | data_quality_score | Number | Quality score of uploaded file data | Number 0-100 | 87.5 | Optional | Monitor data quality trends | Must be between 0 and 100 |
| 61 | File Upload Operations | file_upload_completed | File upload finishes successfully | upload.component.ts, job-edit.component.ts, areas.component.ts | automation_enabled | Boolean | Whether automated processing was used | true or false | true | Optional | Track automation usage | Boolean validation |
| 62 | File Upload Operations | file_upload_failed | File upload encounters error | upload.component.ts, job-edit.component.ts | file_type | String | Type of file being uploaded | field_boundary, prescription_map, application_report, soil_map, shape, geojson, kml, other | field_boundary | Required | Track file usage patterns | Must be from supported file types |
| 63 | File Upload Operations | file_upload_failed | File upload encounters error | upload.component.ts, job-edit.component.ts | error_type | String | Type of upload error | network_error, file_too_large, invalid_format, timeout, server_error | invalid_format | Required | Improve error handling | Must be from error catalog |
| 64 | File Upload Operations | file_upload_failed | File upload encounters error | upload.component.ts, job-edit.component.ts | file_size_mb | Number | File size in megabytes | Positive numbers | 2.3 | Required | Monitor upload performance | Must be > 0 and <= 100 |
| 65 | File Upload Operations | file_upload_failed | File upload encounters error | upload.component.ts, job-edit.component.ts | retry_attempted | Boolean | Whether user attempted to retry upload | true or false | true | Optional | Monitor retry patterns | Boolean validation |
| 66 | File Upload Operations | file_validation_error | File validation fails with specific errors | upload.component.ts, job-edit.component.ts | validation_error_type | String | Type of file validation error | missing_coordinates, invalid_geometry, unsupported_format, file_corruption, size_limit_exceeded | missing_coordinates | Required | Categorize validation failures | Must be from validation error types |
| 67 | File Upload Operations | file_validation_error | File validation fails with specific errors | upload.component.ts, job-edit.component.ts | error_details | String | Detailed error information | String | Invalid coordinate system detected | Required | Improve error messaging | Required for validation errors |
| 68 | File Upload Operations | file_validation_error | File validation fails with specific errors | upload.component.ts, job-edit.component.ts | user_action | String | User action after validation error | retry, cancel, ignore, edit | retry | Required | Track user response to errors | Must be from valid actions |
| 69 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | file_type | String | Type of file being uploaded | field_boundary, prescription_map, application_report, soil_map, shape, geojson, kml, other | field_boundary | Required | Track file usage patterns | Must be from supported file types |
| 70 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | file_size_mb | Number | File size in megabytes | Positive numbers | 2.3 | Required | Monitor upload performance | Must be > 0 and <= 100 |
| 71 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | deletion_reason | String | Reason for file deletion | user_action, cleanup, replacement, error_correction | user_action | Required | Track file management patterns | Must be from predefined reasons |
| 72 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | confirmation_required | Boolean | Whether deletion required user confirmation | true or false | true | Required | Track UX patterns for file operations | Boolean validation |
| 73 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | related_job_id | String | Job ID associated with file upload | Alphanumeric string | JOB_001 | Optional | Track file-job relationships | Must be valid job ID when provided |
| 74 | File Management Operations | file_deleted | User deletes an uploaded file | job-edit.component.ts | file_age_days | Number | Age of file in days when deleted | Non-negative integer | 7 | Optional | Monitor file lifecycle patterns | Must be >= 0 |
| 75 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | file_type | String | Type of file being uploaded | field_boundary, prescription_map, application_report, soil_map, shape, geojson, kml, other | field_boundary | Required | Track file usage patterns | Must be from supported file types |
| 76 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | file_size_mb | Number | File size in megabytes | Positive numbers | 2.3 | Required | Monitor upload performance | Must be > 0 and <= 100 |
| 77 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | download_method | String | Method used to download file | direct_link, button_click, bulk_export | button_click | Required | Optimize download UX | Must be from valid download methods |
| 78 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | download_source | String | Source location of download action | job_edit, file_manager, report_export | job_edit | Required | Track download context | Must be from valid source locations |
| 79 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | related_job_id | String | Job ID associated with file upload | Alphanumeric string | JOB_001 | Optional | Track file-job relationships | Must be valid job ID when provided |
| 80 | File Management Operations | file_downloaded | User downloads a file | job-edit.component.ts | file_format | String | Format of downloaded file | original, converted | original | Optional | Track format preferences | Must be valid format type |
| 81 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | upload_type | String | Type of library upload | field_areas, tracked_areas | field_areas | Required | Track library content additions | Must be from valid upload types |
| 82 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | file_count | Number | Number of files uploaded | Positive integer | 3 | Required | Monitor upload volume | Must be > 0 |
| 83 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | total_areas_uploaded | Number | Total number of areas added to library | Non-negative integer | 12 | Required | Track library growth | Must be >= 0 |
| 84 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | duplicate_areas_found | Number | Number of duplicate areas detected | Non-negative integer | 2 | Optional | Monitor data quality | Must be >= 0 |
| 85 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | failed_files | Number | Number of files that failed to process | Non-negative integer | 0 | Optional | Track processing reliability | Must be >= 0 |
| 86 | Library Upload Operations | library_upload_completed | Areas/fields uploaded to library successfully | areas.component.ts, track.component.ts | processing_method | String | Method used for processing | automatic, manual_review | automatic | Optional | Track processing approaches | Must be from valid processing methods |
| 87 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | subscription_type | String | Type of subscription purchased | AgMission package names (e.g. AgMission Essentials 1-5 or AgMission Enterprise 1-5) | AgMission Essentials 3 | Required | Track subscription tier adoption and revenue | Must be valid SUB_NAME value from common.ts |
| 88 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | subscription_duration | String | Duration of subscription | monthly, quarterly, annual | monthly | Required | Monitor subscription length preferences | Must be from valid duration options |
| 89 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | subscription_price | Number | Price of subscription in USD | Positive numbers | 99.99 | Required | Track revenue per subscription | Must be > 0 |
| 90 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | previous_subscription_type | String | Previous subscription type before change | AgMission package names or none | AgMission Essentials 1 | Optional | Track subscription transitions | Must be valid SUB_NAME value or none |
| 91 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | payment_method | String | Method used for payment | credit_card, bank_transfer, paypal, invoice | credit_card | Required | Optimize payment options | Must be from supported payment methods |
| 92 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | billing_frequency | String | How often billing occurs | monthly, quarterly, annual | monthly | Required | Track billing preferences | Must match subscription duration |
| 93 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | promo_code | String | Promotional code used | Alphanumeric string | SAVE20 | Optional | Track promotion effectiveness | Optional promotional code |
| 94 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | discount_amount | Number | Discount applied in USD | Non-negative numbers | 19.99 | Optional | Monitor discount impact | Must be >= 0 |
| 95 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | subscription_start_date | String | Start date of subscription | ISO date string | 2024-01-15 | Required | Track subscription lifecycle | Must be valid ISO date |
| 96 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | auto_renewal | Boolean | Whether subscription auto-renews | true or false | true | Required | Monitor auto-renewal adoption | Boolean validation |
| 97 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | upgrade_from | String | Previous subscription tier when upgrading | AgMission package names | AgMission Essentials 1 | Optional | Track upgrade patterns | Required when transaction is an upgrade |
| 98 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | upgrade_to | String | New subscription tier when upgrading | AgMission package names | AgMission Essentials 3 | Optional | Track upgrade patterns | Required when transaction is an upgrade |
| 99 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | trial_conversion | Boolean | Whether purchase is converting from trial | true or false | true | Required | Monitor trial conversion rate | Boolean validation |
| 100 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | subscription_value | Number | Annual contract value in USD | Positive numbers | 1199.88 | Required | Track customer lifetime value | Must be > 0 |
| 101 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | user_tenure_days | Number | Days since user first registered | Non-negative integer | 45 | Required | Analyze subscription timing patterns | Must be >= 0 |
| 102 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | service_type | String | Service category of subscription | essential, enterprise, addon | essential | Optional | Categorize subscription types by service level | Must be from SERVICE_TYPE enum |
| 103 | E-commerce | subscription_purchased | User purchases or upgrades subscription | subscription.effects.ts (updateSubscription$, checkoutTrial$) | is_trial | Boolean | Whether this is a trial subscription | true or false | false | Optional | Track trial vs paid subscriptions | Boolean validation |
| 104 | Performance | slow_page_load | Page loads slower than threshold | app.component.ts | page_url | String | URL of the page with slow load | String | /dashboard/jobs | Required | Identify performance bottlenecks | Must be valid URL path |
| 105 | Performance | slow_page_load | Page loads slower than threshold | app.component.ts | load_time | Number | Page load time in seconds | Positive numbers | 8.5 | Required | Monitor page performance | Must be > 0 |
| 106 | Performance | slow_page_load | Page loads slower than threshold | app.component.ts | device_type | String | Type of device experiencing slow load | desktop, mobile, tablet | desktop | Optional | Optimize for different devices | Must be from device categories |
| 107 | Performance | slow_page_load | Page loads slower than threshold | app.component.ts | connection_type | String | User's connection type | wifi, cellular, ethernet, unknown | wifi | Optional | Understand connection impact | Must be from connection types |
| 108 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | api_endpoint | String | API endpoint with slow response | String | /api/v1/jobs | Required | Identify slow API endpoints | Must be valid API path |
| 109 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | response_time | Number | API response time in milliseconds | Positive numbers | 3500 | Required | Monitor API performance | Must be > 0 |
| 110 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | request_size | Number | Size of API request in bytes | Non-negative integer | 1024 | Optional | Analyze request impact on performance | Must be >= 0 |
| 111 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | response_size | Number | Size of API response in bytes | Non-negative integer | 5120 | Optional | Analyze response impact on performance | Must be >= 0 |
| 112 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | cache_hit | Boolean | Whether response was served from cache | true or false | false | Optional | Monitor caching effectiveness | Boolean validation |
| 113 | Performance | api_response_slow | API calls exceed performance threshold | global-error.interceptor.ts | http_status | Number | HTTP status code of response | Valid HTTP status codes | 200 | Optional | Track response success patterns | Must be valid HTTP status code |
| 114 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | error_type | String | Type of HTTP error that occurred | network_error, server_error, client_error, timeout, unknown_error | server_error | Required | Categorize HTTP errors for debugging and monitoring | Must be from predefined error types |
| 115 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | http_status_code | Number | HTTP status code returned by server | Integer 0-599 | 500 | Required | Track specific HTTP error codes for debugging | Must be valid HTTP status code (0-599) |
| 116 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | request_method | String | HTTP method used for the request | GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS | GET | Required | Track which HTTP methods encounter errors | Must be valid HTTP method |
| 117 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | request_url | String | Full URL of the failed request | Valid URL string | https://api.agmission.com/api/jobs | Required | Track specific endpoints experiencing errors | Must be valid URL format |
| 118 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | request_endpoint | String | API endpoint that failed | String | jobs | Required | Track which API endpoints have the most errors | Must be valid endpoint identifier |
| 119 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | response_time_ms | Number | Time taken for the request to fail in milliseconds | Non-negative integer | 5000 | Optional | Monitor request timing patterns for failed requests | Must be >= 0 |
| 120 | Error Tracking | http_error | HTTP request errors automatically tracked by interceptor | global-error.interceptor.ts | affected_feature | String | Application feature affected by the error | job_management, billing, reporting, file_management, user_management, authentication, customer_management, equipment_management, unknown | job_management | Optional | Track which features are most impacted by HTTP errors | Must be from predefined feature list |
| 121 | User Authentication | login | User logs into AgMission system | auth.service.ts | method | String | Authentication method used | email, google, microsoft, sso | Required | Track authentication preferences and security | Must be from supported authentication methods | |
| 122 | User Authentication | login | User logs into AgMission system | auth.service.ts | user_role | String | Role of the user performing the action | admin, applicator, office_admin, client, officer, pilot, inspector, aircraft | applicator | Required | Segment analytics by user type and permissions | Must be from predefined role list |
| 123 | User Authentication | login | User logs into AgMission system | auth.service.ts | last_login_days_ago | Number | Days since user's last login | Non-negative numbers | 7 | Optional | Track user return patterns | Must be >= 0 |
| 124 | User Authentication | logout | User logs out of system | auth.service.ts | session_duration_minutes | Number | Duration of user session in minutes | Positive integers | 45 | Required | Monitor user engagement and session patterns | Must be > 0 |
| 125 | User Authentication | logout | User logs out of system | auth.service.ts | user_role | String | Role of the user performing the action | admin, applicator, office_admin, client, officer, pilot, inspector, aircraft | applicator | Required | Segment analytics by user type and permissions | Must be from predefined role list |
| 126 | User Authentication | logout | User logs out of system | auth.service.ts | logout_method | String | How user logged out | manual, timeout, forced | manual | Optional | Understand logout patterns and session management | Must be from predefined logout types |
| 127 | User Authentication | signup | User begins signup process | signup-form.component.ts, signup-verify.component.ts | signup_method | String | Method used for account signup | email, google, microsoft, invitation | Required | Track signup channel effectiveness | Must be from supported signup methods | |
| 128 | User Authentication | signup | User begins signup process | signup-form.component.ts, signup-verify.component.ts | user_type | String | Type of user signing up | client, applicator, admin, office_admin | applicator | Required | Segment new user acquisition | Must be from predefined user types |
| 129 | User Authentication | signup | User begins signup process | signup-form.component.ts, signup-verify.component.ts | source | String | Source of signup traffic | landing_page, referral, advertisement, direct | landing_page | Optional | Track marketing channel effectiveness | Must be from valid traffic sources |
| 130 | User Authentication | signup | User begins signup process | signup-form.component.ts, signup-verify.component.ts | company_name | String | Name of company during signup | String | AgriCorp Inc | Optional | Identify business customers | Required for business signups |
| 131 | User Authentication | signup_completed | User completes signup process | signup-form.component.ts | signup_duration_minutes | Number | Time taken to complete signup in minutes | Positive numbers | 15.5 | Required | Monitor signup flow efficiency | Must be > 0 |
| 132 | User Authentication | signup_completed | User completes signup process | signup-form.component.ts | signup_method | String | Method used for account signup | email, google, microsoft, invitation | Required | Track signup channel effectiveness | Must be from supported signup methods | |
| 133 | User Authentication | signup_completed | User completes signup process | signup-form.component.ts | user_type | String | Type of user signing up | client, applicator, admin, office_admin | applicator | Required | Segment new user acquisition | Must be from predefined user types |
| 134 | User Authentication | signup_completed | User completes signup process | signup-form.component.ts | verification_required | Boolean | Whether email verification was required | true or false | true | Required | Track verification requirements | Boolean validation |
| 135 | User Authentication | signup_completed | User completes signup process | signup-form.component.ts | profile_completed | Boolean | Whether user completed full profile setup | true or false | false | Optional | Monitor onboarding completion | Boolean validation |
| 136 | User Authentication | password_reset_requested | User requests password reset | auth.service.ts | request_method | String | How password reset was requested | forgot_password_page, login_page, profile_page | forgot_password_page | Required | Track reset request patterns | Must be from valid request sources |
| 137 | User Authentication | password_reset_requested | User requests password reset | auth.service.ts | user_exists | Boolean | Whether user account exists for reset request | true or false | true | Required | Monitor reset request validity | Boolean validation |
| 138 | User Authentication | password_reset_requested | User requests password reset | auth.service.ts | email_address_hash | String | Hashed email address for privacy | String | abc123def456 | Optional | Track verification requests while maintaining privacy | Must be valid hash when provided |
| 139 | User Authentication | password_reset_completed | Password reset process completed | auth.service.ts, app.password-reset.component.ts | success | Boolean | Whether password reset was successful | true or false | true | Required | Track reset success rates | Boolean validation |
| 140 | User Authentication | password_reset_completed | Password reset process completed | auth.service.ts, app.password-reset.component.ts | reset_token_age_minutes | Number | Age of reset token when used in minutes | Non-negative numbers | 5 | Required | Monitor token validity and timing | Must be >= 0 |
| 141 | User Authentication | password_reset_completed | Password reset process completed | auth.service.ts, app.password-reset.component.ts | failure_reason | String | Reason for password reset failure | expired_token, invalid_token, weak_password, other | expired_token | Optional | Categorize reset failures for improvement | Must be from predefined failure reasons |
| 142 | User Authentication | email_verification_requested | User requests email verification | signup-verify.component.ts | request_method | String | How email verification was requested | signup_form, verification_page, resend_request | verification_page | Required | Track verification request patterns | Must be from valid request sources |
| 143 | User Authentication | email_verification_requested | User requests email verification | signup-verify.component.ts | user_exists | Boolean | Whether user account exists for reset request | true or false | true | Required | Monitor reset request validity | Boolean validation |
| 144 | User Authentication | email_verification_requested | User requests email verification | signup-verify.component.ts | email_address_hash | String | Hashed email address for privacy | String | abc123def456 | Optional | Track verification requests while maintaining privacy | Must be valid hash when provided |
| 145 | User Authentication | email_verification_completed | Email verification process completed | signup-verify.component.ts | success | Boolean | Whether password reset was successful | true or false | true | Required | Track reset success rates | Boolean validation |
| 146 | User Authentication | email_verification_completed | Email verification process completed | signup-verify.component.ts | verification_token_age_minutes | Number | Age of verification token when used in minutes | Non-negative numbers | 30 | Required | Monitor verification token validity and timing | Must be >= 0 |
| 147 | User Authentication | email_verification_completed | Email verification process completed | signup-verify.component.ts | failure_reason | String | Reason for password reset failure | expired_token, invalid_token, weak_password, other | expired_token | Optional | Categorize reset failures for improvement | Must be from predefined failure reasons |
| 148 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 149 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | total_amount | Number | Total invoice amount | Positive numbers | 2500.00 | Required | Track revenue and financial metrics | Must be > 0 |
| 150 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | currency | String | Currency code for invoice amount | USD, CAD, EUR | USD | Required | Track multi-currency operations | Must be valid ISO currency code |
| 151 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | creation_method | String | Method used to create invoice | manual, auto_generated, template, recurring | manual | Required | Track invoice creation patterns | Must be from predefined methods |
| 152 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | due_date_days | Number | Days until invoice due date | Integer | 30 | Required | Track payment terms and cash flow | Must be >= 0 |
| 153 | Invoice Management | invoice_created | User creates a new invoice | invoice-edit.component.ts | payment_terms | String | Payment terms for invoice | String | net_30 | Optional | Analyze payment term preferences | Free text or predefined terms |
| 154 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 155 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | fields_modified | Array | List of fields changed in invoice update | Array of strings | ["amount", "due_date"] | Required | Monitor invoice modification patterns | Must be valid field names |
| 156 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | modification_type | String | Primary type of modification made | amount, due_date, jobs, customer, payment_terms | amount | Required | Categorize modification patterns | Must be from predefined types |
| 157 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | amount_change | Number | Change in invoice amount | Number (can be negative) | -150.00 | Optional | Track invoice adjustments | Can be positive or negative |
| 158 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | previous_status | String | Previous invoice status before update | new, draft, open, paid, void, uncollectible | draft | Optional | Track status progression | Must be from valid status list |
| 159 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | current_status | String | Current invoice status after update | new, draft, open, paid, void, uncollectible | open | Optional | Track status progression | Must be from valid status list |
| 160 | Invoice Management | invoice_updated | User modifies an existing invoice | invoice-edit.component.ts | edit_session_duration | Number | Time spent editing invoice in minutes | Positive numbers | 15.5 | Optional | Monitor user efficiency | Must be > 0 |
| 161 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 162 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | invoice_status | String | Current status of invoice | new, draft, open, paid, void, uncollectible | paid | Required | Track invoice lifecycle states | Must be from valid status list |
| 163 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | total_amount | Number | Total invoice amount | Positive numbers | 2500.00 | Required | Track revenue and financial metrics | Must be > 0 |
| 164 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | deletion_reason | String | Reason for invoice deletion | cancelled, duplicate, error, customer_request | cancelled | Required | Track deletion patterns and causes | Must be from predefined reasons |
| 165 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | days_since_creation | Number | Days between creation and deletion | Non-negative integer | 7 | Required | Monitor invoice lifecycle timing | Must be >= 0 |
| 166 | Invoice Management | invoice_deleted | User removes an invoice from system | invoice-edit.component.ts | had_payments | Boolean | Whether invoice had any payments before deletion | true or false | false | Required | Track payment impact on deletions | Boolean validation |
| 167 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 168 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | old_status | String | Previous invoice status | new, draft, open, paid, void, uncollectible | draft | Required | Track status transitions | Must be from valid status list |
| 169 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | new_status | String | New invoice status | new, draft, open, paid, void, uncollectible | open | Required | Track status transitions | Must be from valid status list |
| 170 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | status_change_reason | String | Reason for status change | user_action, payment_received, due_date_passed, automated | user_action | Required | Understand status change drivers | Must be from valid reason types |
| 171 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | total_amount | Number | Total invoice amount | Positive numbers | 2500.00 | Required | Track revenue and financial metrics | Must be > 0 |
| 172 | Invoice Management | invoice_status_changed | Invoice status transitions | invoice-detail.component.ts | days_in_previous_status | Number | Days spent in previous status | Non-negative integer | 5 | Optional | Track status duration patterns | Must be >= 0 |
| 173 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 174 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | payment_amount | Number | Amount of payment logged | Positive numbers | 2500.00 | Required | Track payment patterns | Must be > 0 |
| 175 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | payment_method | String | Method used for payment | cash, check, credit_card, bank_transfer, other | check | Required | Analyze payment preferences | Must be from valid payment methods |
| 176 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | payment_date | String | Date payment was received | ISO date string | 2024-01-15 | Required | Track payment timing | Must be valid date format |
| 177 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | remaining_balance | Number | Invoice balance after payment | Non-negative numbers | 0.00 | Required | Monitor collection completion | Must be >= 0 |
| 178 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | days_to_payment | Number | Days from invoice creation to payment | Non-negative integer | 15 | Required | Analyze collection efficiency | Must be >= 0 |
| 179 | Invoice Management | invoice_payment_logged | Payment recorded against invoice | invoice-detail.component.ts, invoice-edit.component.ts | payment_reference | String | Reference number for payment | String | CHK_001 | Optional | Track payment reconciliation | Optional reference identifier |
| 180 | Invoice List Operations | invoice_list_viewed | User accesses the invoices list interface | invoices-list.component.ts | view_type | String | Type of list view used | table, grid, map, calendar | table | Required | Optimize UI preferences | Must be from available views |
| 181 | Invoice List Operations | invoice_list_viewed | User accesses the invoices list interface | invoices-list.component.ts | total_invoices | Number | Total number of invoices in system | Non-negative integer | 120 | Required | Monitor system usage and scale | Must be >= 0 |
| 182 | Invoice List Operations | invoice_list_viewed | User accesses the invoices list interface | invoices-list.component.ts | displayed_invoices | Number | Number of invoices shown to user | Non-negative integer | 25 | Required | Track pagination and filtering | Must be >= 0 and <= total_invoices |
| 183 | Invoice List Operations | invoice_list_viewed | User accesses the invoices list interface | invoices-list.component.ts | date_range_applied | Boolean | Whether date range filter is active | true or false | true | Optional | Track temporal filtering usage | Boolean validation |
| 184 | Invoice List Operations | invoice_list_viewed | User accesses the invoices list interface | invoices-list.component.ts | status_filter_applied | Boolean | Whether status filter is active | true or false | false | Optional | Track status filtering usage | Boolean validation |
| 185 | Invoice List Operations | invoice_list_filtered | User applies filters to narrow invoice results | invoices-list.component.ts | filter_type | String | Type of filter applied to invoice list | status, date_range, client, amount_range, overdue | status | Required | Improve filter functionality | Must be valid filter type |
| 186 | Invoice List Operations | invoice_list_filtered | User applies filters to narrow invoice results | invoices-list.component.ts | filter_value | String | Value of the applied filter | String | new | Required | Track specific filter usage | Must be valid for filter type |
| 187 | Invoice List Operations | invoice_list_filtered | User applies filters to narrow invoice results | invoices-list.component.ts | results_before | Number | Results count before filter | Non-negative integer | 45 | Required | Measure filter effectiveness | Must be >= 0 |
| 188 | Invoice List Operations | invoice_list_filtered | User applies filters to narrow invoice results | invoices-list.component.ts | results_after | Number | Results count after filter | Non-negative integer | 12 | Required | Measure filter effectiveness | Must be >= 0 and <= results_before |
| 189 | Invoice List Operations | invoice_list_filtered | User applies filters to narrow invoice results | invoices-list.component.ts | multiple_filters_active | Boolean | Whether multiple filters are applied simultaneously | true or false | true | Optional | Track complex filtering patterns | Boolean validation |
| 190 | Invoice List Operations | invoice_selected | User clicks/selects a specific invoice | invoices-list.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 191 | Invoice List Operations | invoice_selected | User clicks/selects a specific invoice | invoices-list.component.ts | selection_method | String | Method used to select invoice | row_click, search_result, link_navigation, edit_button, view_button | edit_button | Required | Optimize selection UX | Must be from valid selection methods |
| 192 | Invoice List Operations | invoice_selected | User clicks/selects a specific invoice | invoices-list.component.ts | invoice_status | String | Current status of invoice | new, draft, open, paid, void, uncollectible | paid | Required | Track invoice lifecycle states | Must be from valid status list |
| 193 | Invoice List Operations | invoice_selected | User clicks/selects a specific invoice | invoices-list.component.ts | invoice_amount | Number | Amount of selected/viewed invoice | Positive numbers | 2500.00 | Required | Track amount-based patterns | Must be > 0 |
| 194 | Invoice List Operations | invoice_selected | User clicks/selects a specific invoice | invoices-list.component.ts | position_in_list | Number | Position of invoice in list when selected | Positive integer | 3 | Optional | Track selection patterns | Must be > 0 |
| 195 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | action_type | String | Type of bulk action performed | delete, mark_sent, mark_paid, export, print | export | Required | Track bulk operation patterns | Must be from valid action types |
| 196 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | invoice_count | Number | Number of invoices affected by bulk action | Positive integer | 5 | Required | Monitor bulk operation scale | Must be > 0 |
| 197 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | invoice_ids | Array | List of invoice IDs affected by action | Array of strings | ["INV_001", "INV_002"] | Required | Track specific invoices in bulk operations | Must be valid invoice IDs |
| 198 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | total_amount_affected | Number | Total amount of invoices affected by bulk action | Positive numbers | 12500.00 | Required | Track financial impact of bulk operations | Must be > 0 |
| 199 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | execution_time | Number | Time taken to complete bulk action in seconds | Positive numbers | 2.5 | Optional | Monitor bulk operation performance | Must be > 0 |
| 200 | Invoice List Operations | invoice_bulk_action | User performs action on multiple invoices | invoices-list.component.ts | success_rate | Number | Percentage of successful operations in bulk action | Number 0-100 | 100 | Optional | Track bulk operation reliability | Must be between 0 and 100 |
| 201 | Invoice Detail Operations | invoice_viewed | User opens and views invoice details | invoice-detail.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 202 | Invoice Detail Operations | invoice_viewed | User opens and views invoice details | invoice-detail.component.ts | invoice_status | String | Current status of invoice | new, draft, open, paid, void, uncollectible | paid | Required | Track invoice lifecycle states | Must be from valid status list |
| 203 | Invoice Detail Operations | invoice_viewed | User opens and views invoice details | invoice-detail.component.ts | invoice_amount | Number | Amount of selected/viewed invoice | Positive numbers | 2500.00 | Required | Track amount-based patterns | Must be > 0 |
| 204 | Invoice Detail Operations | invoice_viewed | User opens and views invoice details | invoice-detail.component.ts | view_source | String | Source of invoice view navigation | list, direct_link, search, navigation | list | Required | Track navigation patterns | Must be from valid view sources |
| 205 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | invoice_id | String | Unique identifier for invoice | Alphanumeric string | INV_001 | Required | Track individual invoice lifecycle | Must be valid invoice ID |
| 206 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | export_format | String | Format used for invoice export | pdf, excel, csv, print, iif | csv | Required | Analyze export format preferences | Must be from supported formats |
| 207 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | invoice_amount | Number | Amount of selected/viewed invoice | Positive numbers | 2500.00 | Required | Track amount-based patterns | Must be > 0 |
| 208 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | export_method | String | Method of export operation | single, bulk | single | Required | Track export operation patterns | Must be from valid export methods |
| 209 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | includes_job_details | Boolean | Whether export includes detailed job information | true or false | true | Required | Track export content preferences | Boolean validation |
| 210 | Invoice Detail Operations | invoice_exported | User exports/prints invoice | invoice-detail.component.ts | file_size_kb | Number | Size of exported file in kilobytes | Positive numbers | 150.5 | Optional | Monitor export performance | Must be > 0 |
| 211 | Invoice Settings Operations | customer_invoice_settings_updated | Customer invoice settings modified | customer-settings.component.ts | client_id | String | Unique identifier for the client | Alphanumeric string | CLIENT_12345 | Required | Track client relationships and revenue | Must be valid client ID |
| 212 | Invoice Settings Operations | customer_invoice_settings_updated | Customer invoice settings modified | customer-settings.component.ts | settings_modified | Array | List of customer settings changed | Array of strings | ["payment_terms", "automation"] | Required | Monitor settings usage patterns | Must be valid setting names |
| 213 | Invoice Settings Operations | customer_invoice_settings_updated | Customer invoice settings modified | customer-settings.component.ts | automation_enabled | Boolean | Whether automation was enabled in settings | true or false | true | Optional | Track automation adoption | Boolean validation |
| 214 | Invoice Settings Operations | customer_invoice_settings_updated | Customer invoice settings modified | customer-settings.component.ts | payment_terms_changed | Boolean | Whether payment terms were modified | true or false | false | Optional | Track payment term adjustments | Boolean validation |
| 215 | Invoice Settings Operations | customer_invoice_settings_updated | Customer invoice settings modified | customer-settings.component.ts | billing_preferences_updated | Boolean | Whether billing preferences were changed | true or false | true | Optional | Track billing customization | Boolean validation |
| 216 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | item_type | String | Type of costing item | service, material, equipment, labor | service | Required | Categorize costing structures | Must be from predefined types |
| 217 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | unit_type | String | Unit basis for costing | per_acre, per_hour, flat_rate, per_unit | per_acre | Required | Track pricing models | Must be from valid unit types |
| 218 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | base_rate | Number | Base rate for costing item | Positive numbers | 25.00 | Required | Monitor pricing strategies | Must be > 0 |
| 219 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | action_type | String | Type of action performed on costing item | created, updated, deleted | created | Required | Track costing item lifecycle | Must be from valid action types |
| 220 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | item_id | String | Unique identifier for costing item | Alphanumeric string | ITEM_001 | Optional | Track individual costing items | Must be valid item ID when provided |
| 221 | Invoice Settings Operations | invoice_costing_item_managed | Costing items created/updated/deleted | costing-item.component.ts | affects_existing_invoices | Boolean | Whether change affects existing invoices | true or false | false | Optional | Track retroactive pricing impacts | Boolean validation |