-ActiveRecord::Schema[7.0].define(version: 2023_12_06_005711) do +ActiveRecord::Schema[7.0].define(version: 2024_01_09_082402) do # These are extensions that must be enabled in order to support this database enable_extension "citext" enable_extension "hstore" @@ -244,6 +244,7 @@ t.bigint "program_referral_id" t.string "status" t.bigint "cancelled_by_id" + t.datetime "rescheduled_at" t.index ["cancelled_by_id"], name: "index_appointments_on_cancelled_by_id" t.index ["consultant_id"], name: "index_appointments_on_consultant_id" t.index ["ess_identifier"], name: "index_appointments_on_ess_identifier" @@ -1518,6 +1519,7 @@ t.datetime "updated_at", precision: nil, null: false t.integer "available", default: 1 t.bigint "repeat_id" + t.text "comment" t.index ["created_by_id"], name: "index_health_sessions_on_created_by_id" t.index ["repeat_id"], name: "index_health_sessions_on_repeat_id" t.index ["site_id"], name: "index_health_sessions_on_site_id" @@ -1553,7 +1555,6 @@ t.integer "individual_development_schedule_template_id" t.datetime "starts_at", precision: nil t.datetime "ends_at", precision: nil - t.text "title" t.text "description" t.datetime "created_at", null: false t.datetime "updated_at", null: false @@ -1562,6 +1563,7 @@ t.boolean "is_onsite", default: false t.integer "assigned_to_id" t.integer "repeat_id" + t.string "event" t.index ["individual_development_schedule_template_id"], name: "idst_id_idx" t.index ["jobseeker_id"], name: "index_individual_development_schedules_on_jobseeker_id" t.index ["stream_participant_id"], name: "index_individual_development_schedules_on_stream_participant_id" @@ -1656,6 +1658,20 @@ t.index ["jobseeker_id"], name: "index_jobseeker_action_plans_on_jobseeker_id" end + create_table "jobseeker_decisions", force: :cascade do |t| + t.bigint "stream_participant_id", null: false + t.integer "case_number", null: false + t.string "status", null: false + t.string "interruption_reason" + t.date "interruption_date" + t.date "start_date", null: false + t.date "end_date", null: false + t.string "stream", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["stream_participant_id"], name: "index_jobseeker_decisions_on_stream_participant_id" + end + create_table "jobseeker_goals", force: :cascade do |t| t.bigint "jobseeker_id", null: false t.bigint "goal_id", null: false @@ -1953,6 +1969,7 @@ t.string "postal_address_county" t.string "postal_address_city" t.boolean "share_individual_development_plan", default: false + t.boolean "needs_interpreter" t.index ["deleted_at"], name: "index_jobseekers_on_deleted_at" t.index ["ess_identifier"], name: "index_jobseekers_on_ess_identifier" t.index ["jobseeker_lead_id"], name: "index_jobseekers_on_jobseeker_lead_id" @@ -2173,6 +2190,24 @@ t.index ["meeting_id", "user_id"], name: "index_meetings_users_on_meeting_id_and_user_id", unique: true end + create_table "nat_export_settings", force: :cascade do |t| + t.string "heading" + t.string "export_action_label" + t.string "export_file_name" + t.string "nat_description_of_entries" + t.string "nat_financial_institution_name" + t.string "nat_supplying_user_number" + t.string "nat_lodgement_reference" + t.string "nat_trace_bsb" + t.string "nat_trace_account_number" + t.string "nat_remitter_name" + t.string "nat_supplying_user_name" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.datetime "deleted_at" + t.index ["deleted_at"], name: "index_nat_export_settings_on_deleted_at" + end + create_table "note_templates", id: :serial, force: :cascade do |t| t.string "name", null: false t.text "content" @@ -2257,6 +2292,90 @@ t.index ["path"], name: "index_patches_patches_on_path", unique: true end + create_table "peppol_invoice_lines", id: :serial, force: :cascade do |t| + t.bigint "peppol_invoice_id", null: false + t.string "order_number", null: false + t.string "item_id", null: false + t.string "sellers_item_id", null: false + t.string "name", null: false + t.string "unit_code", null: false + t.decimal "unit_price", null: false + t.decimal "quantity", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["order_number", "item_id"], name: "index_peppol_invoice_lines_on_order_number_and_item_id" + t.index ["peppol_invoice_id", "item_id"], name: "index_peppol_invoice_lines_on_peppol_invoice_id_and_item_id", unique: true + t.index ["peppol_invoice_id"], name: "index_peppol_invoice_lines_on_peppol_invoice_id" + end + + create_table "peppol_invoices", force: :cascade do |t| + t.string "invoice_number", null: false + t.string "order_number", null: false + t.bigint "jobseeker_id", null: false + t.date "period_start_date", null: false + t.date "period_end_date", null: false + t.date "due_date", null: false + t.decimal "total_amount", null: false + t.decimal "tax_amount", null: false + t.string "currency_code", null: false + t.string "status", null: false + t.integer "original_peppol_invoice_id" + t.uuid "tickstart_transaction_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["invoice_number"], name: "index_peppol_invoices_on_invoice_number", unique: true + t.index ["jobseeker_id"], name: "index_peppol_invoices_on_jobseeker_id" + end + + create_table "peppol_order_lines", id: :serial, force: :cascade do |t| + t.bigint "peppol_order_id", null: false + t.string "order_number", null: false + t.string "item_id", null: false + t.integer "sellers_item_id", null: false + t.string "name", null: false + t.date "start_date", null: false + t.date "end_date", null: false + t.string "unit_code", null: false + t.decimal "unit_price", null: false + t.decimal "quantity", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["peppol_order_id"], name: "index_peppol_order_lines_on_peppol_order_id" + end + + create_table "peppol_orders", force: :cascade do |t| + t.string "order_number", null: false + t.bigint "jobseeker_id", null: false + t.string "case_number", null: false + t.date "issue_date", null: false + t.string "currency_code", null: false + t.uuid "tickstart_transaction_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["jobseeker_id"], name: "index_peppol_orders_on_jobseeker_id" + t.index ["order_number", "jobseeker_id"], name: "index_peppol_orders_on_order_number_and_jobseeker_id", unique: true + end + + create_table "peppol_periodic_reports", force: :cascade do |t| + t.bigint "jobseeker_id" + t.integer "year" + t.boolean "january", default: false + t.boolean "february", default: false + t.boolean "march", default: false + t.boolean "april", default: false + t.boolean "may", default: false + t.boolean "june", default: false + t.boolean "july", default: false + t.boolean "august", default: false + t.boolean "september", default: false + t.boolean "october", default: false + t.boolean "november", default: false + t.boolean "december", default: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["jobseeker_id"], name: "index_peppol_periodic_reports_on_jobseeker_id" + end + create_table "placements", id: :serial, force: :cascade do |t| t.integer "referral_id" t.datetime "created_at", precision: nil, null: false @@ -3086,6 +3205,22 @@ t.index ["batch_id"], name: "index_scanned_documents_on_batch_id" end + create_table "schedule_events", force: :cascade do |t| + t.string "name", null: false + t.boolean "active", default: true, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["name"], name: "index_schedule_events_on_name", unique: true + end + + create_table "schedule_locations", force: :cascade do |t| + t.string "name", null: false + t.boolean "active", default: true, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["name"], name: "index_schedule_locations_on_name", unique: true + end + create_table "schedules", id: :serial, force: :cascade do |t| t.string "form_id" t.string "interval", null: false @@ -3521,6 +3656,7 @@ t.text "html_template" t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false + t.string "from" end create_table "tags", id: :serial, force: :cascade do |t| @@ -3738,6 +3874,8 @@ t.boolean "can_import_jobseekers", default: false, null: false t.boolean "can_access_ai_copilot", default: false, null: false t.boolean "can_create_rom2_placement", default: false, null: false + t.boolean "can_view_superset_dashboards", default: false, null: false + t.boolean "can_manage_wage_subsidy_requests", default: false, null: false t.index ["active"], name: "index_users_on_active" t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true t.index ["delegate_id"], name: "index_users_on_delegate_id" @@ -3848,8 +3986,8 @@ create_table "vacancy_embeddings", force: :cascade do |t| t.integer "vacancy_id", null: false t.vector "embedding", null: false - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "verification_sources", id: :serial, force: :cascade do |t| @@ -4035,7 +4173,9 @@ t.bigint "wage_subsidy_end_reason_id" t.bigint "company_id" t.bigint "vacancy_id" + t.bigint "assigned_to_id" t.index "((id)::text) text_pattern_ops", name: "index_wage_subsidy_requests_on_cast_id_as_text" + t.index ["assigned_to_id"], name: "index_wage_subsidy_requests_on_assigned_to_id" t.index ["cancelled_by_id"], name: "index_wage_subsidy_requests_on_cancelled_by_id" t.index ["company_id"], name: "index_wage_subsidy_requests_on_company_id" t.index ["custom_expense_type_id"], name: "index_wage_subsidy_requests_on_custom_expense_type_id" @@ -4189,6 +4329,7 @@ add_foreign_key "job_search_outcomes", "jobseekers" add_foreign_key "job_search_outcomes", "sites" add_foreign_key "jobseeker_action_plans", "jobseekers" + add_foreign_key "jobseeker_decisions", "stream_participants" add_foreign_key "jobseeker_goals", "goals" add_foreign_key "jobseeker_goals", "jobseekers" add_foreign_key "jobseeker_goals", "users", column: "created_by_id" @@ -4216,6 +4357,9 @@ add_foreign_key "meetings", "meeting_agenda_templates" add_foreign_key "meetings", "users", column: "created_by_id" add_foreign_key "notes", "reminders" + add_foreign_key "peppol_invoice_lines", "peppol_invoices" + add_foreign_key "peppol_order_lines", "peppol_orders" + add_foreign_key "peppol_periodic_reports", "jobseekers" add_foreign_key "placements", "job_end_reasons" add_foreign_key "placements", "jobseekers" add_foreign_key "placements", "sites" @@ -4313,6 +4457,7 @@ add_foreign_key "wage_subsidy_requests", "custom_expense_types" add_foreign_key "wage_subsidy_requests", "jobseekers" add_foreign_key "wage_subsidy_requests", "placements" + add_foreign_key "wage_subsidy_requests", "users", column: "assigned_to_id" add_foreign_key "wage_subsidy_requests", "users", column: "cancelled_by_id" add_foreign_key "wage_subsidy_requests", "users", column: "ended_by_id" add_foreign_key "wage_subsidy_requests", "users", column: "first_approved_by_id" (END)