start sd FruitMarket
FruitMarketOntology first_order_logic
agent-publisher fs fruitSeller fruitSellerClass 
agent-reader fb fruitBuyer fruitBuyerClass 
box seq
	message r p request availability_and_price(fruit(F))
	box alternative
		box seq
			message p r inform available(fruit(F))
			message p r propose buy(fruit(F),price(EuroForKg))
			box alternative
				box seq
					message r p request delivery_modes
					message p r inform delivery_mode(ListOfModes)
					message r p request accepted_payment_methods
					message p r inform accepted_payment_methods(ListOfMethods)
					box alternative
						message r p accept-proposal sell(fruit(F), amount(A), payment_method(M),  delivery_mode(D))
						next
						message r p reject-proposal no_thanks
						end alternative
					end seq
				next
				box seq
					message r p cfp make_a_discount(fruit(F),amount(Kg))
					message p r propose buy(fruit(F), amount(Kg), discounted_price(EuroForKg), payment_method(M), delivery_mode(D))
					box alternative
						message r p accept-proposal sell(fruit(F), amount(A), payment_method(M), delivery_mode(D))
						next
						message r p reject-proposal no_thanks
						end alternative
					end seq
				end alternative
			end seq
		next
		box seq
			message p r inform sorry_not_available(fruit(F))
			box option
				message p r inform fruit_available_from(fruit(F),date(T))
				end option
			end seq
		end alternative
	end seq
finish
