Chris1 wrote:선약 is typically used for business arrangements and not horribly common.
Yeah, 선약 sounds horribly formal. Since your dictionary calls it "previous engagement" it might be interested to know that it has the same meaning as 선 in 선생님, which is commonly used as "teacher" but literally means something like "previously-born person"
I think , 약속 is perfectly appropriate.
미안하지만, 다른 약속있어서 등산 못 가요
Sorry, but since I have a another appointment I can't go hiking.
(Koreans will often call this a promise in English.
There is a different word for a doctor;s appointment, usually 예약 (which is also reservation like for movie tickets)
Notice that 약속 can refer to a future plan or an even that took place in the past. But it's usually used to describe something you are planning to do, which probably explains the "promise" bit.
Yet this is different that 계획 which is a plan, but I think implies something more hypothetical or in the realm of thought. It is a bigger commitment than a simple dinner date.
대학원 때 어학으로 공부할 계획이예요
I plan to study linguistics in graduate school.