- Replace Stripe automatic payouts with manual admin-processed bank transfers - Add banking information fields (IBAN, bank name, account holder) to User model - Implement manual payout workflow: pending → approved → processing → completed - Add comprehensive admin interface for payout review and processing - Update Payout model with manual processing fields and workflow methods - Add transfer reference tracking and rejection/failure handling - Consolidate all migration fragments into clean "create" migrations - Add comprehensive documentation for manual payout workflow - Fix Event payout_status enum definition and database column issues This addresses France's lack of Stripe Global Payouts support by implementing a complete manual bank transfer workflow while maintaining audit trails and proper admin controls. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
1.2 KiB
Ruby
Executable File
38 lines
1.2 KiB
Ruby
Executable File
class CreateEvents < ActiveRecord::Migration[8.0]
|
|
def change
|
|
create_table :events do |t|
|
|
t.string :name, null: false
|
|
t.string :slug, null: false
|
|
t.string :image, null: true
|
|
t.text :description, null: false
|
|
t.integer :state, default: 0, null: false
|
|
t.string :venue_name, null: false
|
|
t.string :venue_address, null: false
|
|
t.datetime :start_time
|
|
t.datetime :end_time
|
|
|
|
# Latitude and longitude of the place
|
|
t.decimal :latitude, precision: 10, scale: 6, null: false
|
|
t.decimal :longitude, precision: 10, scale: 6, null: false
|
|
|
|
# Only admin or later premium promoters could select this
|
|
t.boolean :featured, default: false, null: false
|
|
t.references :user, null: false, foreign_key: false
|
|
|
|
# Allow ticket sell during the event
|
|
t.boolean :allow_booking_during_event, default: false, null: false
|
|
|
|
# Payout fields
|
|
t.integer :payout_status, default: 0, null: false
|
|
t.datetime :payout_requested_at
|
|
|
|
t.timestamps
|
|
end
|
|
|
|
add_index :events, :state
|
|
add_index :events, :featured
|
|
add_index :events, [ :latitude, :longitude ]
|
|
add_index :events, :payout_status
|
|
end
|
|
end
|