import pandas as pd

def build_model(shop):
    starttime = pd.Timestamp('2023-05-16T00:00:00')
    endtime = pd.Timestamp('2023-05-16T06:00:00')
    shop.set_time_resolution(starttime=starttime, endtime=endtime, timeunit="minute", timeresolution=pd.Series(index=[starttime],data=[15]))

    busbar = shop.model.busbar.add_object('Busbar')
    busbar.load.set(1.0)
    
    battery = shop.model.battery.add_object('Battery')
    battery.charge_efficiency.set(0.95)
    battery.discharge_efficiency.set(0.95)
    battery.max_charge_power.set(6.0)
    battery.max_discharge_power.set(6.0)
    battery.max_energy.set(12.0)
    battery.initial_energy.set(10)
    battery.connect_to(shop.model.busbar.Busbar)

    market = shop.model.market.add_object('Market')
    starttime = shop.get_time_resolution()["starttime"]
    market.sale_price.set(pd.DataFrame([10,5,10,5,10,5,10,5,10,5,5,10,10,5,10,5,10,5,10,5,10,5,5,10],index=[starttime+ i*pd.Timedelta(minutes=15) for i in range(0,24)]))
    market.buy_price.set(shop.model.market.Market.sale_price.get()-0.01)
    market.max_buy.set(1.0)
    market.max_sale.set(1.0)
    market.connect_to(busbar)

    return shop

def run_model(shop):
    shop.start_sim([],['3'])
    shop.set_code(['inc'],[])
    shop.start_sim([],['3'])
