chatwoot-develop/seed_pricings.rb
2026-01-19 19:26:23 -03:00

82 lines
3.0 KiB
Ruby

# seed_pricings.rb
# Usage: bundle exec rails runner seed_pricings.rb
puts '--- Seeding Prices (Manifesto 2026) ---'
account = Account.first
unless account
puts 'No account found.'
exit
end
# Find or Create Brand/Unit if missing (simplified)
# Use ID directly to avoid association issues in seed
brand = Captain::Brand.first_or_create!(account: account, name: 'Hotel Prime')
unit = Captain::Unit.find_by(name: 'Ceilândia') || Captain::Unit.create!(
account: account,
name: 'Ceilândia',
captain_brand_id: brand.id
)
puts "Using Brand: #{brand.name} / Unit: #{unit.name}"
# Clear old pricings for this brand to avoid duplicates
Captain::Pricing.where(captain_brand_id: brand.id).destroy_all
# Helper to create price
def create_price(brand, account, suite, duration, price, days)
p = Captain::Pricing.create!(
account: account,
captain_brand_id: brand.id,
suite_category: suite,
duration: duration,
price: price,
day_range: days
)
# Link to all inboxes of this account to be safe
account.inboxes.each do |inbox|
Captain::PricingInbox.find_or_create_by!(
captain_pricing_id: p.id,
inbox_id: inbox.id
)
end
print '.'
end
# Data from Manifesto
# SEGUNDA A QUINTA
days_week = 'SEGUNDA A QUINTA'
create_price(brand, account, 'Stilo', '1h', 50.00, days_week)
create_price(brand, account, 'Stilo', '2h', 60.00, days_week)
create_price(brand, account, 'Stilo', '3h', 75.00, days_week) # Extrapolated: 1h + (diff 2h-1h)? No, just a guess to fix "3h missing"
create_price(brand, account, 'Stilo', 'Pernoite', 130.00, days_week)
create_price(brand, account, 'Alexa', '1h', 50.00, days_week)
create_price(brand, account, 'Alexa', '2h', 65.00, days_week)
create_price(brand, account, 'Alexa', '3h', 80.00, days_week) # Extrapolated
create_price(brand, account, 'Alexa', 'Pernoite', 140.00, days_week)
create_price(brand, account, 'Hidro', '1h', 130.00, days_week)
create_price(brand, account, 'Hidro', '2h', 150.00, days_week)
create_price(brand, account, 'Hidro', '3h', 180.00, days_week) # Extrapolated
create_price(brand, account, 'Hidro', 'Pernoite', 260.00, days_week)
# SEXTA A DOMINGO
days_weekend = 'SEXTA A DOMINGO'
create_price(brand, account, 'Stilo', '1h', 50.00, days_weekend)
create_price(brand, account, 'Stilo', '2h', 70.00, days_weekend)
create_price(brand, account, 'Stilo', '3h', 90.00, days_weekend) # Extrapolated
create_price(brand, account, 'Stilo', 'Pernoite', 150.00, days_weekend)
create_price(brand, account, 'Alexa', '1h', 60.00, days_weekend)
create_price(brand, account, 'Alexa', '2h', 75.00, days_weekend)
create_price(brand, account, 'Alexa', '3h', 100.00, days_weekend) # Extrapolated
create_price(brand, account, 'Alexa', 'Pernoite', 160.00, days_weekend)
create_price(brand, account, 'Hidro', '1h', 140.00, days_weekend)
create_price(brand, account, 'Hidro', '2h', 160.00, days_weekend)
create_price(brand, account, 'Hidro', '3h', 200.00, days_weekend) # Extrapolated
create_price(brand, account, 'Hidro', 'Pernoite', 280.00, days_weekend)
puts "\nPrices Seeded Successfully!"