| Column | Type | Length | Nullable |
|---|---|---|---|
| audit_id | integer | NO | |
| table_name | character varying | 50 | NO |
| field_name | character varying | 50 | YES |
| record_id | integer | NO | |
| action | character varying | 20 | NO |
| old_values | jsonb | YES | |
| new_values | jsonb | YES | |
| changed_by | character varying | 50 | YES |
| changed_on | timestamp without time zone | NO | |
| ip_address | character varying | 45 | YES |
| session_id | character varying | 128 | YES |
| user_agent | character varying | 255 | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| blanket_id | integer | NO | |
| blanket_number | character varying | 50 | NO |
| supplier_id | integer | NO | |
| supplier_name_snapshot | character varying | 100 | YES |
| title | character varying | 200 | YES |
| start_date | date | YES | |
| close_order_date | date | YES | |
| due_payment_date | date | YES | |
| delivery_date | date | YES | |
| close_date | date | YES | |
| status | character varying | 20 | NO |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| blanket_id | integer | NO | |
| item_id | integer | NO | |
| item_number | integer | NO | |
| description | character varying | 200 | NO |
| unit_of_measure | character varying | 20 | NO |
| qty_offered | numeric | NO | |
| unit_price | numeric | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| assignment_id | integer | NO | |
| blanket_id | integer | NO | |
| site_id | integer | NO | |
| assigned_by | character varying | 50 | YES |
| assigned_on | timestamp without time zone | NO | |
| status | character varying | 20 | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| booking_id | integer | NO | |
| booking_number | character varying | 50 | NO |
| site_id | integer | NO | |
| penawaran_id | integer | NO | |
| supplier_id | integer | NO | |
| member_id | integer | NO | |
| member_name_snapshot | character varying | 100 | YES |
| status | character varying | 30 | NO |
| total_amount | numeric | NO | |
| payment_proof_file_path | character varying | 255 | YES |
| payment_date | timestamp without time zone | YES | |
| payment_method | character varying | 30 | YES |
| payment_amount | numeric | YES | |
| payment_verified_by | character varying | 50 | YES |
| payment_verified_on | timestamp without time zone | YES | |
| payment_rejected_reason | character varying | 200 | YES |
| payment_rejected_count | integer | NO | |
| delivery_address | character varying | 255 | YES |
| delivery_notes | character varying | 500 | YES |
| estimated_delivery_date | date | YES | |
| delivery_proof_file_path | character varying | 255 | YES |
| is_recipient_confirmed | boolean | NO | |
| recipient_confirmed_on | timestamp without time zone | YES | |
| cancelled_reason | character varying | 200 | YES |
| cancelled_by | character varying | 50 | YES |
| cancelled_on | timestamp without time zone | YES | |
| is_refund_required | boolean | NO | |
| refund_processed_on | timestamp without time zone | YES | |
| refund_processed_by | character varying | 50 | YES |
| notes | character varying | 500 | YES |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO | |
| updated_by | character varying | 50 | YES |
| updated_on | timestamp without time zone | YES | |
| expired_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| booking_id | integer | NO | |
| item_id | integer | NO | |
| penawaran_item_id | integer | NO | |
| description_snapshot | character varying | 200 | YES |
| unit_of_measure_snapshot | character varying | 20 | YES |
| qty_offered_snapshot | numeric | YES | |
| qty_ordered | numeric | NO | |
| unit_price_snapshot | numeric | NO | |
| subtotal | numeric | NO | |
| item_status | character varying | 20 | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| history_id | integer | NO | |
| booking_id | integer | NO | |
| status_from | character varying | 30 | YES |
| status_to | character varying | 30 | NO |
| changed_by | character varying | 50 | YES |
| changed_on | timestamp without time zone | NO | |
| notes | character varying | 500 | YES |
| ip_address | character varying | 45 | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| config_id | integer | NO | |
| config_key | character varying | 40 | NO |
| config_value | numeric | NO | |
| config_value_2 | numeric | YES | |
| description | character varying | 255 | YES |
| updated_by | character varying | 50 | YES |
| updated_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| archive_id | integer | NO | |
| table_name | character varying | 50 | NO |
| record_id | integer | NO | |
| archive_data | jsonb | NO | |
| archived_by | character varying | 50 | YES |
| archived_on | timestamp without time zone | NO | |
| archive_reason | character varying | 200 | YES |
| retention_until_date | date | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| tracking_id | integer | NO | |
| booking_id | integer | NO | |
| tracking_number | character varying | 100 | YES |
| carrier | character varying | 50 | YES |
| status_from | character varying | 30 | YES |
| status_to | character varying | 30 | NO |
| changed_by | character varying | 50 | YES |
| changed_on | timestamp without time zone | NO | |
| delivery_photo_file_path | character varying | 255 | YES |
| notes | character varying | 500 | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| upload_id | integer | NO | |
| original_name | character varying | 255 | YES |
| stored_name | character varying | 255 | YES |
| file_path | character varying | 500 | YES |
| mime_type | character varying | 50 | YES |
| file_size_bytes | integer | YES | |
| uploaded_by | character varying | 50 | YES |
| uploaded_on | timestamp without time zone | NO | |
| related_table | character varying | 50 | YES |
| related_record_id | integer | YES | |
| purpose | character varying | 50 | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| notification_id | integer | NO | |
| user_id | integer | NO | |
| notification_type | character varying | 30 | NO |
| title | character varying | 100 | YES |
| message | character varying | 500 | YES |
| action_url | character varying | 255 | YES |
| priority | character varying | 10 | NO |
| sent_via | character varying | 20 | NO |
| is_read | boolean | NO | |
| created_on | timestamp without time zone | NO | |
| read_on | timestamp without time zone | YES | |
| expires_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| penawaran_id | integer | NO | |
| penawaran_number | character varying | 50 | NO |
| blanket_id | integer | YES | |
| site_id | integer | NO | |
| supplier_id | integer | NO | |
| supplier_name_snapshot | character varying | 100 | YES |
| title | character varying | 200 | YES |
| start_date | date | NO | |
| close_order_date | date | NO | |
| due_payment_date | date | NO | |
| delivery_date | date | NO | |
| close_date | date | NO | |
| status | character varying | 20 | NO |
| published_on | timestamp without time zone | YES | |
| closed_on | timestamp without time zone | YES | |
| cancelled_reason | character varying | 200 | YES |
| total_amount | numeric | NO | |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO | |
| updated_by | character varying | 50 | YES |
| updated_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| penawaran_id | integer | NO | |
| item_id | integer | NO | |
| item_number | integer | NO | |
| description | character varying | 200 | NO |
| image_file_path | character varying | 255 | YES |
| unit_of_measure | character varying | 20 | NO |
| qty_offered | numeric | NO | |
| qty_ordered | numeric | NO | |
| qty_available | numeric | NO | |
| supplier_price | numeric | NO | |
| selling_price | numeric | NO | |
| min_order | numeric | NO | |
| max_order | numeric | YES | |
| status | character varying | 20 | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| view_id | integer | NO | |
| penawaran_id | integer | NO | |
| site_id | integer | NO | |
| viewed_by | integer | YES | |
| ip_address | character varying | 45 | YES |
| user_agent | character varying | 255 | YES |
| viewed_on | timestamp without time zone | NO | |
| source | character varying | 50 | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| template_id | integer | NO | |
| report_code | character varying | 20 | NO |
| report_name | character varying | 100 | YES |
| description | character varying | 255 | YES |
| selection_fields | jsonb | YES | |
| output_columns | jsonb | YES | |
| lamp_logic | jsonb | YES | |
| access_roles | character varying | 100 | YES |
| created_on | timestamp without time zone | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| site_id | integer | NO | |
| site_code | character varying | 20 | NO |
| site_name | character varying | 50 | NO |
| country | character varying | 40 | YES |
| province | character varying | 50 | YES |
| city | character varying | 50 | YES |
| contact_email | character varying | 100 | YES |
| contact_phone | character varying | 20 | YES |
| website | character varying | 100 | YES |
| bank_name | character varying | 40 | YES |
| bank_account | character varying | 40 | YES |
| gopay_number | character varying | 40 | YES |
| photo_file_path | character varying | 255 | YES |
| member_count | integer | NO | |
| timezone | character varying | 50 | NO |
| status | character varying | 20 | NO |
| description_1 | character varying | 200 | YES |
| description_2 | character varying | 200 | YES |
| description_3 | character varying | 200 | YES |
| description_4 | character varying | 200 | YES |
| add_1 | character varying | 150 | YES |
| add_2 | character varying | 150 | YES |
| add_3 | character varying | 150 | YES |
| add_4 | character varying | 150 | YES |
| add_5 | character varying | 150 | YES |
| add_6 | character varying | 150 | YES |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO | |
| updated_by | character varying | 50 | YES |
| updated_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| supplier_id | integer | NO | |
| supplier_code | character varying | 50 | NO |
| supplier_name | character varying | 100 | NO |
| contact_person | character varying | 100 | YES |
| contact_email | character varying | 100 | YES |
| contact_phone | character varying | 20 | YES |
| country | character varying | 40 | YES |
| province | character varying | 50 | YES |
| city | character varying | 50 | YES |
| office_address | character varying | 200 | YES |
| warehouse_address | character varying | 200 | YES |
| tax_id | character varying | 50 | YES |
| bank_name | character varying | 50 | YES |
| bank_account | character varying | 50 | YES |
| status | character varying | 20 | NO |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| payment_id | integer | NO | |
| penawaran_id | integer | NO | |
| supplier_id | integer | NO | |
| site_id | integer | NO | |
| total_booking_amount | numeric | NO | |
| payment_received | numeric | NO | |
| marbot_percentage | numeric | NO | |
| marbot_amount | numeric | NO | |
| kas_amount | numeric | NO | |
| supplier_amount | numeric | NO | |
| status | character varying | 20 | NO |
| paid_by | character varying | 50 | YES |
| paid_on | timestamp without time zone | YES | |
| payment_proof_file_path | character varying | 255 | YES |
| notes | character varying | 500 | YES |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO | |
| updated_by | character varying | 50 | YES |
| updated_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| assignment_id | integer | NO | |
| supplier_id | integer | NO | |
| user_id | integer | NO | |
| role | character varying | 30 | NO |
| assigned_by | character varying | 50 | YES |
| assigned_on | timestamp without time zone | NO | |
| status | character varying | 20 | NO |
| Column | Type | Length | Nullable |
|---|---|---|---|
| user_id | integer | NO | |
| user_code | character varying | 50 | NO |
| role | character varying | 20 | NO |
| first_name | character varying | 50 | NO |
| last_name | character varying | 50 | YES |
| password_hash | character varying | 255 | NO |
| character varying | 100 | YES | |
| phone | character varying | 20 | NO |
| spouse_phone | character varying | 20 | YES |
| address | character varying | 255 | YES |
| photo_file_path | character varying | 255 | YES |
| status | character varying | 20 | NO |
| email_verified_on | timestamp without time zone | YES | |
| phone_verified_on | timestamp without time zone | YES | |
| last_login_on | timestamp without time zone | YES | |
| failed_login_count | integer | NO | |
| locked_until_on | timestamp without time zone | YES | |
| password_reset_token | character varying | 255 | YES |
| password_reset_expires_on | timestamp without time zone | YES | |
| created_by | character varying | 50 | YES |
| created_on | timestamp without time zone | NO | |
| valid_from_date | date | NO | |
| valid_to_date | date | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| session_id | character varying | 128 | NO |
| user_id | integer | NO | |
| ip_address | character varying | 45 | YES |
| user_agent | character varying | 255 | YES |
| created_on | timestamp without time zone | NO | |
| last_activity_on | timestamp without time zone | YES | |
| is_active | boolean | NO | |
| invalidated_by | character varying | 50 | YES |
| invalidated_on | timestamp without time zone | YES |
| Column | Type | Length | Nullable |
|---|---|---|---|
| assignment_id | integer | NO | |
| user_id | integer | NO | |
| site_id | integer | NO | |
| role_at_site | character varying | 20 | NO |
| assigned_by | character varying | 50 | YES |
| assigned_on | timestamp without time zone | NO | |
| status | character varying | 20 | NO |
| previous_site_id | integer | YES | |
| transferred_on | timestamp without time zone | YES |