richardhj/contao-onlinetickets

此软件包已被放弃,不再维护。未建议替代软件包。
此软件包最新版本(v0.10-alpha.1)没有可用的许可信息。

Isotope电子商务的在线票务扩展

安装: 29

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 1

开放问题: 1

类型:contao-bundle

v0.10-alpha.1 2017-10-24 11:06 UTC

This package is auto-updated.

Last update: 2019-11-18 02:05:10 UTC


README

使用Isotope电子商务在线销售票务

此扩展需要大量的Contao/Isotope知识,以及对您家庭网络和路由域/ip地址的基本了解。

它做什么

活动前

您可以为您的事件在线销售票务。订单成功后,这些在线票务会获得一个二维码/条形码,并为顾客提供家庭打印。

如果您销售纸质票并希望跟踪销售情况,此扩展提供了打印带有定制条形码的纸质票的工具。

活动期间

签到

签到所有已售票(纸质票或在线票)并跟踪场所的容量程度。

所包含的API与TicketPay的API完全兼容。安装iOS原生移动应用程序以执行签到。

app

管理板/售票处

包括了一个售票处。将前端模块放置在前端受保护的页面上。售票处可以帮助您实时跟踪销售和签到,跟踪售票处的销售并撤销签到。

活动后

导出包含所有已售票的Excel报告,找出最重要的票务代理,了解访客最常签到的时间。

如何使用它

使用Composer安装

将这些最小配置添加到您的composer.json中。

{
    "require": {
        "richardhj/contao-onlinetickets": "^0.10.0"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/richardhj/contao-onlinetickets"
        }
    ]
}

配置

  • 在后台设置活动。
  • 创建一个名为“在线票务”的新产品类型。
  • 使用新产品类型创建新产品。
  • 创建自定义的Isotope文档(见下文)

Isotope文档模板

我们使用isotope_docuemts提供的模板。

要导出包含在线票务的Isotope文档(例如发票),简单修改iso_document_….html5。将以下行添加到模板文件的末尾。

<?php if (null !== ($objTickets = Richardhj\Isotope\OnlineTickets\Model\Ticket::findByOrder($this->collection->id))): ?><div style="font-size: 72.5%; font-family: Helvetica, sans-serif; float:left; page-break-before:always;">
  <table cellspacing="0" cellpadding="0" border="0" width="100%" style="margin-left:100px;" >
  	<tr>
  		<td colspan="3" style="text-align:center;"><img src="http://isotopeecommerce.org/files/layout/logo.png" alt="Isotope eCommerce" height="100"></td>
	</tr>
	<tr>
		<td colspan="3" style="line-height:2;">&nbsp;</td>
	</tr>
	<tr>
		<td colspan="3"><strong><span style="font-size: 125%;">Online-Tickets</span><br>zur Bestellung <?php echo $this->collection->document_number; ?></strong></td>
	</tr>
	<tr>
		<td colspan="3" style="line-height:2;">&nbsp;</td>
	</tr>
  	<?php while($objTickets->next()): ?>
  	<tr>
      <td width="40%" style="border-top: 2px solid #c8c8c8;">&nbsp;</td>
      <td width="30%" style="border-top: 2px solid #c8c8c8;">&nbsp;</td>
      <td width="30%" style="border-top: 2px solid #c8c8c8;">&nbsp;</td>
  	</tr>
  	<tr>
      <td colspan="2" style="line-height:2;">&nbsp;</td>
      <td rowspan="3"><img src="<?php echo Richardhj\Isotope\OnlineTickets\Helper\QrCode::getLocalPath($objTickets->hash); ?>" alt="Ticket Code"></td>
  	</tr>
  	<tr>
  	  <td style="line-height:1.5;"><strong>Veranstaltung</strong></td>
  	  <td style="line-height:1.5;"><strong>Käufer</strong></td>
  	  </tr>
    <tr>
  	  <td><?php
  	  	echo $objTickets->getRelated('event_id')->name . "<br>";
  		echo Date::parse($this->dateFormat, $objTickets->getRelated('event_id')->date) . "<br><br>";
  		echo $objTickets->getRelated('product_id')->teaser ? nl2br($objTickets->getRelated('product_id')->teaser) . "<br><br>" : "";
  		echo "<strong>Ticketpreis:</strong> " . Isotope::formatPriceWithCurrency($objTickets->getRelated('item_id')->price) . "<br>";
  		 ?></td>
  	  <td><?php
  	    echo $arrBillingAddress->company ? $arrBillingAddress->company . "<br>" : "";
        echo $arrBillingAddress->firstname . " "; 
        echo $arrBillingAddress->lastname . "<br>";
        echo $arrBillingAddress->street_1 ? $arrBillingAddress->street_1 . "<br>" : "";
        echo $arrBillingAddress->street_2 ? $arrBillingAddress->street_2 . "<br>" : "";
        echo $arrBillingAddress->street_3 ? $arrBillingAddress->street_3 . "<br>" : "";
        echo $arrBillingAddress->postal . " ";
        echo $arrBillingAddress->city . "<br><br>"; ?></td>
  	  </tr>
    <tr>
      <td style="border-bottom: 2px solid #c8c8c8;">&nbsp;</td>
      <td style="border-bottom: 2px solid #c8c8c8;">&nbsp;</td>
      <td style="border-bottom: 2px solid #c8c8c8;">&nbsp;</td>
  	</tr>
    <?php endwhile; ?>
  </table>
</div><?php endif; ?>

个性化纸质票

对于销售可识别的纸质票,有两种支持的情况

纸质票有一个白色剪裁孔

想象一下您为活动订购了纸质门票。您可以随意设计它。您只需在门票上留一个空白切口,以便打印条形码。

在Contao后台,转到“事件”。配置当前活动,然后点击“预印门票”。现在,您输入门票的详细信息。

  1. 单个纸质门票的宽度和高度。
  2. 您想在门票上打印的元素,很可能是条形码和/或门票号码。因此,您必须以毫米为单位输入您的纸质门票空白切口的x和y坐标。
  3. 指定要使用的字体(用于门票号码)以及QR码、条形码等的大小。

现在,您应该创建一个新的代理机构(“预售点”)。定义他们可以销售的门票数量。然后点击特定机构的“导出PDF”按钮。您将获得一个包含之前定义的大小和元素的PDF文件。将您的纸质门票放入打印机并打印PDF。

自助打印门票

想象一下您想自己打印纸质门票,因为您只打印少量或颜色使用不多,所以印刷店订购的纸质门票不划算。

创建活动后,创建一个新的代理机构(“预售点”)。定义他们可以销售的门票数量。然后点击特定机构的“导出”按钮。您将获得作为CSV文件的门票号码和条形码。现在,最好的办法是下载一个“Code 3 of 9字体”。将此字体安装在您的计算机上。然后创建一个新的InDesign文档并设计您的门票。剪下条形码。现在您使用InDesign的“数据合并”功能,在InDesign中加载CSV文件,创建可识别的门票。打印它们。

使用TicketPay应用程序

您需要将URL https://api.ticketpay.de/ 指向您的Contao安装。然后您可以使用您的Contao凭据登录。事件、订单和门票将通过此URL获取,并且您可以开始办理登机手续。

要检查入口点是否配置正确,您可以请求 https://api.ticketpay.de/api/userLogin?username=test&password=test 并应该收到以下消息

{"Errorcode":1,"Errormessage":"Unbekanntes Terminal"}

许可证

GNU Lesser General Public License (LGPL) v3。

请注意

按照适用的法律允许的程度,本程序没有任何保证。除非在书面文件中另有说明,否则版权所有者/其他方提供本程序“按原样”且不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性和针对特定目的的适用性的暗示保证。本程序的质量和性能的全部风险由您承担。如果本程序证明有缺陷,您将承担所有必要的维护、修理或更正的费用。