V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
secondwtq
V2EX  ›  问与答

请教几个关于订票网站的设计问题

  •  
  •   secondwtq · 2016-01-05 15:22:59 +08:00 · 2605 次点击
    这是一个创建于 3246 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在准备一个外包,类似于大麦网,区别在于针对的是某个特定演唱会,而不是做一个通用的平台。

    有相关经验的 V 友可能会比较熟悉这个流程,每一个场馆会分成若干区域,每个区域有若干座位,同时各区域的形状、座位分布和价格不尽相同。用户购票时先展示出区域,选择区域后显示区域内的座位供选择(后面有两张示意图,比较大,直接放在这里影响观感)

    由于缺乏此类项目的经验,所以想请教几个问题,了解一下一般产品中的大体思路:

    • 这里区域和座位应该如何表示?需要注意的是根据场馆的布局,各区域有一定的形状,为了给用户展示的页面更加形象,希望能实现和图中类似的交互。其中第一张图看上去是一个图片(还是 JPEG 的,汗),叠加若干矢量 path ,而第二张图展示的是某个特定区域内的座位布局和销售情况。

      • 区域形状和座位信息,区域和座位的位置在数据库中如何存储?

        我现在想的是把整个场馆建模成一个二维数组,然后建 area 和 seat 两个表,用外键关联起来, seat 中每个座位插一条记录,存储座位的 x y 坐标。这样最后需要做的就是设置每个元素的状态,不过由于形状问题,浪费的位置可能比较多。

      • 如果要新增更多的场次的话,不同场馆的区域信息在后台应该如何配置?这个好像是一般用户很难 access 的,所以作为普通用户来讲貌似连可以借鉴的直接经验都没有。

        选座过程其实相当于改变若干个 checkbox 的状态,那么配置场馆的页面是不是也要放一个巨大的 checkbox 阵列呢... 注意这里有座位和区域两层数据,座位配置好后还需要为座位分区(或者颠倒一下,先分区再配置座位)。

    • 购买和支付应该走怎样一个流程和逻辑?我个人的想法:下单的时候在数据库里设一个 flag 锁住记录,然后设置一个几十分钟的 expire time ,过期未支付的话查询的时候就忽略掉。交易成功则标记一个永久性被占用的 flag 。为避免恶意购买,设置一个每个订单包含座位数的上限。

    还请各位 V 友指教。

    附图:


    (这里用的是客户端 App 的图,不过这里网站的需求流程是类似的)

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.